|
||||||||||
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 domain. |
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 by using the
allocateBulkPort
web service method in the manage
web service.
package com.endeca.BulkLoad; import com.endeca.BulkLoad.Msg.Data; public class BulkLoadDemo { private static Data.Record makeProductRecord(String name, int size, double price) { Data.Record.Builder recBuilder = Data.Record.newBuilder(); Data.Assignment.Builder assgtBuilder = Data.Assignment.newBuilder(); assgtBuilder.setName("Name"); assgtBuilder.setStringValue(name); assgtBuilder.setDataType(Data.Assignment.DataType.STRING); Data.Assignment nameAssgt = assgtBuilder.build(); recBuilder.setSpec(nameAssgt); assgtBuilder.clear(); assgtBuilder.setName("Size"); assgtBuilder.setInt32Value(size); assgtBuilder.setDataType(Data.Assignment.DataType.INT); recBuilder.addAssignments(assgtBuilder); assgtBuilder.clear(); assgtBuilder.setName("Price"); assgtBuilder.setDoubleValue(price); assgtBuilder.setDataType(Data.Assignment.DataType.DOUBLE); Data.Assignment priceAssgt = assgtBuilder.build(); recBuilder.addAssignments(priceAssgt); return recBuilder.build(); } public static void main(String[] args) throws Exception { ErrorCallback errorCallback = new ErrorCallback() { public void handleError(String reason, Data.Record reject) { System.out.println("Record " + reject.getSpec().getName() + " rejected: " + reason); } }; FinishedCallback finishedCallback = new FinishedCallback() { public void handleFinish() { System.out.println("Finished!"); } }; AbortCallback abortCallback = new AbortCallback() { public void handleAbort(String reason) { System.out.println("Aborted: " + reason); } }; StatusCallback statusCallback = new StatusCallback() { public 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 = new BulkIngester( "host.com", // host 1234, // port true, // use SSL true, // doFinalMerge true, // doUpdateDictionary 60, // timeout errorCallback, finishedCallback, abortCallback, statusCallback); Data.Record widget = makeProductRecord("Widget", 12, 99.95); Data.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 |