|
||||||||||
| 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 | |||||||||