Table Store提供了BulkImport介面用於在巨量資料情境下批量寫入資料到資料表。當要寫入資料到資料表時,您需要指定完整主鍵以及要增刪改的屬性列。
前提條件
已初始化OTSClient。具體操作,請參見初始化OTSClient。
已建立資料表。具體操作,請參見建立資料表。
參數
參數 | 描述 |
tableName | 資料表名稱。 |
rowChanges | 包含多個RowChange的列表,每個RowChange代表了一行需要寫入的資料。 |
樣本
以下樣本用於批量寫入資料。
private static void bulkImport(SyncClient client, String start, String end){
// 建立bulkImportRequest。
// 設定資料表名稱。
String tableName = "<TABLE_NAME>";
BulkImportRequest bulkImportRequest = new BulkImportRequest(tableName);
// 建立rowChanges,設定要寫入的資料。
List<RowChange> rowChanges = new ArrayList<RowChange>();
for (Integer i = Integer.valueOf(start); i <= Integer.valueOf(end); i++){
PrimaryKeyBuilder primaryKeyBuilder = PrimaryKeyBuilder.createPrimaryKeyBuilder();
primaryKeyBuilder.addPrimaryKeyColumn("pk", PrimaryKeyValue.fromString(String.valueOf(i)));
PrimaryKey primaryKey = primaryKeyBuilder.build();
RowPutChange rowChange = new RowPutChange(tableName,primaryKey);
rowChange.addColumn(new Column("DC1", ColumnValue.fromString(i.toString())));
rowChange.addColumn(new Column("DC2", ColumnValue.fromString(i.toString())));
rowChange.addColumn(new Column("DC3", ColumnValue.fromString(i.toString())));
rowChanges.add(rowChange);
}
bulkImportRequest.addRowChanges(rowChanges);
// 擷取bulkImportResponse。
BulkImportResponse bulkImportResponse = client.bulkImport(bulkImportRequest);
List<BulkImportResponse.RowResult> succeedRows = new ArrayList<BulkImportResponse.RowResult>();
List<BulkImportResponse.RowResult> failedRows = new ArrayList<BulkImportResponse.RowResult>();
bulkImportResponse.getResult(succeedRows, failedRows);
for (int i = 0; i < succeedRows.size(); i++){
System.out.println(succeedRows.get(i).getConsumedCapacity().getCapacityDataSize().jsonize());
}
for (int i = 0; i < failedRows.size(); i++){
System.out.println(failedRows.get(i).getError().getCode());
System.out.println(failedRows.get(i).getError().getMessage());
}
}
常見問題
相關文檔
關於API的更多資訊,請參見BulkImport。
關於功能介面實現的更多資訊,請參見BulkImportRequest.java和BulkImportResponse.java。
寫入資料後,您可以根據需要讀取或者刪除表中資料。
您還可以通過如下方式寫入資料到資料表。
通過PutRow、UpdateRow和BatchWriteRow介面寫入資料。更多資訊,請參見寫入資料。
通過DataWorks、DataX等工具同步其他資料來源的資料到Table Store資料表中。更多資訊,請參見Data Integration服務。