全部产品
Search
文档中心

Tablestore:Menulis data offline

更新时间:Jul 02, 2025

Anda dapat menulis beberapa baris data ke tabel data sekaligus dalam skenario data besar. Untuk menulis data ke tabel data, Anda harus menentukan informasi kunci utama lengkap dan kolom atribut yang ingin ditambahkan, dihapus, atau diubah.

Prasyarat

Parameter

Parameter

Deskripsi

tableName

Nama tabel data.

rowChanges

Daftar RowChanges. Setiap RowChange menentukan satu baris yang ingin Anda tulis ke tabel data.

Contoh

Berikut adalah contoh kode untuk menulis beberapa baris data ke tabel data sekaligus:

private static void bulkImport(SyncClient client, String start, String end){
    // Buat bulkImportRequest.
    // Tentukan nama tabel data.
    String tableName = "<TABLE_NAME>"; 
    BulkImportRequest bulkImportRequest = new BulkImportRequest(tableName);

    // Buat rowChanges untuk menentukan data yang ingin Anda tulis ke tabel data.
    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);
    // Dapatkan 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());
    }
}

FAQ