|
||||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
See:
Description
Interface Summary | |
---|---|
AbortCallback | Interface for handling abort conditions in BulkIngester. |
ErrorCallback | Interface for handling error conditions in BulkIngester. |
FinishedCallback | Interface for receiving notification that a BulkIngester ingestion has finished. |
StatusCallback | Interface for handling status updates in BulkIngester. |
Class Summary | |
---|---|
BulkIngester | The primary entry point for the client-side Bulk Load Interface for loading data into an Endeca data store. |
This defines the API for writing programs to load bulk data into the Endeca data store.
Before loading data into the data store, a client program needs to know the bulk load port of the data store. This can be obtained via the dataStoreStatus operation of the Control web service, which returns a dataStoreStatusResponse object. This in turn contains a dataStoreConfig object, which contains the bulkLoadPort field.
class BulkLoadDemo { Record makeProductRecord(String name, int size, double price) { Record.Builder recBuilder = Record.newBuilder(); Assignment.Builder assgtBuilder = Assignment.newBuilder(); assgtBuilder.setName("Name"); assgtBuilder.setStringValue(name); assgtBuilder.setDataType(Assignment.DataType.STRING); Assignment nameAssgt = assgtBuilder.build(); recBuilder.setSpec(nameAssgt); assgtBuilder.clear(); assgtBuilder.setName("Size"); assgtBuilder.setIntValue(size); assgtBuilder.setDataType(Assignment.DataType.INT); Assignment sizeAssgt = assgtBuilder.build(); recBuilder.addAssignment(sizeAssgt); assgtBuilder.clear(); assgtBuilder.setName("Price"); assgtBuilder.setDoubleValue(price); assgtBuilder.setDataType(Assignment.DataType.DOUBLE); Assignment priceAssgt = assgtBuilder.build(); recBuilder.addAssignment(priceAssgt); Record product = recBuilder.build(); return product; } void main(int argc, String[] argv) { ErrorCallback errorCallback = new ErrorCallback() { void handleError(String reason, Record reject) { System.out.println("Record " + reject.getSpec().getName() + " rejected: " + reason); } }; FinishedCallback finishedCallback = new FinishedCallback() { void handleFinished() { System.out.println("Finished!"); } }; AbortCallback abortCallback = new AbortCallback() { void handleAbort(String reason) { System.out.println("Aborted: " + reason); } }; StatusCallback statusCallback = new StatusCallback() { void handleStatus(long recordsAdded, long recordsQueued, long recordsRejected, String state) { System.out.println("Added: " + recordsAdded + "\n" + "Queued: " + recordsQueued + "\n" + "Rejected: " + recordsRejected + "\n" + "State: " + state + "\n"); } }; BulkIngester ingester("endecaserver.example.com", 1234, // port true, // doFinalMerge true, // doUpdateDictionary 60, // timeout errorCallback, finishedCallback, abortCallback, statusCallback); Record widget = makeProductRecord("Widget", 12, 99.95); Record thing = makeProductRecord("Thing", 110, 3.14); ingester.begin(); ingester.sendRecord(widget); ingester.requestStatusUpdate(); ingester.sendRecord(thing); ingester.endIngest(); } }
|
||||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |