Topik ini menjelaskan cara menggunakan Tablestore SDK for Java untuk mengambil data dalam tabel dengan mengeksekusi pernyataan SQL.
Catatan penggunaan
Fitur kueri SQL didukung oleh Tablestore SDK for Java V5.13.0 dan versi lebih baru. Pastikan Anda telah memasang versi yang didukung sebelum menggunakan fitur kueri SQL.
Prasyarat
Klien Tablestore harus diinisialisasi. Untuk informasi lebih lanjut, lihat Inisialisasi Klien Tablestore.
Tabel pemetaan harus dibuat untuk tabel tempat Anda ingin mengambil data. Untuk informasi lebih lanjut, lihat Buat Tabel Pemetaan untuk Sebuah Tabel.
Metode
public SQLQueryResponse sqlQuery(SQLQueryRequest request) throws TableStoreException, ClientExceptionContoh kode
Berikut adalah contoh kode untuk mengeksekusi pernyataan SELECT guna mengambil data dari tabel test_table dan mengembalikan maksimal 10 baris.
Sebelum menjalankan kode, ganti nama tabel dan nama bidang dalam kode dengan informasi aktual.
public static void queryDataExample(SyncClient client) {
// Tentukan pernyataan SQL.
SQLQueryRequest request = new SQLQueryRequest("select order_id, user_id, sku_id, price, num, total_price, order_status, create_time, modified_time from test_table limit 10;");
SQLQueryResponse response = client.sqlQuery(request);
// Tentukan informasi RequestId.
System.out.println("RequestId: " + response.getRequestId());
/*// Baca informasi konsumsi throughput.
System.out.println("Konsumsi throughput baca (per tabel):");
for(Map.Entry<String, ConsumedCapacity> entry : response.getConsumedCapacity().entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue().getCapacityUnit().getReadCapacityUnit() + "CU");
}*/
// Dapatkan hasil kueri SQL.
SQLResultSet resultSet = response.getSQLResultSet();
// Kembalikan informasi skema.
System.out.println("Skema: " + response.getSQLResultSet().getSQLTableMeta().getSchema());
// Detail data
System.out.println("Detail data:");
while (resultSet.hasNext()) {
SQLRow row = resultSet.next();
System.out.println(row.get("order_id") + ", "
+ row.get("user_id") + ", "
+ row.get("sku_id") + ", "
+ row.get("price") + ", "
+ row.get("num") + ", "
+ row.get("total_price") + ", "
+ row.get("order_status") + ", "
+ row.get("create_time") + ", "
+ row.get("modified_time"));
}
}