Jika Anda ingin menggunakan satu atau beberapa kolom atribut dari tabel data sebagai kondisi kueri untuk mengambil data, Anda dapat menentukan kolom atribut tersebut sebagai kolom kunci utama dari indeks sekunder yang dibuat untuk tabel data. Dengan cara ini, Anda dapat dengan cepat mengambil data berdasarkan kolom atribut. Setelah membuat indeks sekunder, Anda hanya perlu menulis data ke tabel data dan kemudian menggunakan indeks sekunder untuk mengambil data. Topik ini menjelaskan cara membuat indeks sekunder, menanyakan informasi tentang tabel indeks, menggunakan tabel indeks untuk mengambil dan mengekspor data, serta menghapus tabel indeks di CLI Tablestore.
Prasyarat
Tabel data dengan parameter max Versions disetel ke 1 telah dibuat. Untuk informasi lebih lanjut, lihat Operasi pada tabel data.
Kolom yang telah ditentukan sebelumnya telah ditentukan untuk tabel data. Untuk informasi lebih lanjut, lihat Operasi pada tabel data.
Buat indeks sekunder
Indeks sekunder diklasifikasikan menjadi indeks sekunder global dan indeks sekunder lokal. Untuk informasi lebih lanjut, lihat Ikhtisar.
Sintaks Perintah
create_index -t <tableName> -n <indexName> -i <indexType> --pk <primaryKeyName,primaryKeyName> --attr <definedColumn,definedColumn>Tabel berikut menjelaskan parameter yang dapat dikonfigurasikan untuk membuat indeks sekunder.
Parameter | Diperlukan | Contoh | Deskripsi |
-t,--table | Tidak | mytable | Nama tabel data. |
-n,--name | Ya | index0 | Nama indeks sekunder yang ingin Anda buat. |
-i,--index_type | Tidak | global | Tipe indeks sekunder. Nilai valid:
|
-k,--pk | Ya | uid,pid | Kolom indeks tabel indeks. Kolom indeks merupakan kombinasi dari kolom kunci utama dan kolom yang telah ditentukan sebelumnya dari tabel data. Jika Anda menggunakan indeks sekunder lokal, kolom kunci utama pertama dari tabel indeks harus sama dengan kolom kunci utama pertama dari tabel data tempat tabel indeks dibuat. |
-a,--attr | Ya | col0,col1 | Kolom atribut tabel indeks. Kolom atribut merupakan kombinasi dari kolom yang telah ditentukan sebelumnya dari tabel data. |
-b,--without_base_data | Tidak | T/A | Menentukan bahwa indeks sekunder yang ingin Anda buat tidak termasuk data yang ada di tabel data. |
Contoh
Kode sampel berikut memberikan contoh cara membuat indeks sekunder global bernama index0 untuk tabel data mytable. Dalam contoh ini, indeks sekunder global mencakup data yang ada dari tabel data.
create_index -t mytable -n index0 -i global --pk uid,pid -a name,col0Kode sampel berikut memberikan contoh cara membuat indeks sekunder global bernama index1 untuk tabel data mytable. Dalam contoh ini, indeks sekunder global tidak mencakup data yang ada dari tabel data.
create_index -t mytable -n index1 -i global --pk uid,pid -a name,col0 -bKode sampel berikut memberikan contoh cara membuat indeks sekunder lokal bernama index2 untuk tabel data mytable. Dalam contoh ini, indeks sekunder lokal mencakup data yang ada dari tabel data.
create_index -t mytable -n index2 -i local -k uid,name -a col0,col1Gunakan tabel
Pilih tabel tempat Anda ingin melakukan operasi tabel atau operasi data.
Sintaks Perintah
use --wc -t <tableName>Parameter | Diperlukan | Contoh | Deskripsi |
--wc | Tidak | T/A | Menentukan bahwa tabel tempat Anda ingin melakukan operasi adalah tabel data atau tabel indeks. |
-t,--table | Ya | index0 | Nama tabel indeks. |
Contoh
Kode sampel berikut memberikan contoh cara menggunakan tabel indeks bernama index0:
use -t index0Menanyakan informasi tentang indeks sekunder
Menanyakan informasi tentang tabel dan menyimpan informasi tersebut ke file JSON di komputer lokal Anda.
Sintaks Perintah
desc -t <tableName> -o /lokasilokal/namafilenya.jsonTabel berikut menjelaskan parameter yang dapat dikonfigurasikan untuk menanyakan informasi tentang tabel.
Parameter | Diperlukan | Contoh | Deskripsi |
-t,--table | Tidak | index0 | Nama tabel data atau tabel indeks. |
-f,--print_format | Tidak | json | Format keluaran informasi tentang tabel. Nilai default: json. Nilai valid: json dan table. |
-o,--output | Tidak | /tmp/describe_table_meta.json | Jalur file JSON lokal tempat informasi tentang tabel disimpan. |
Contoh
Kode sampel berikut memberikan contoh cara menanyakan informasi tentang tabel saat ini:
descKode sampel berikut memberikan contoh cara menanyakan informasi tentang tabel saat ini dan menyimpan informasi tersebut ke file lokal bernama describe_table_meta.json:
desc -o /tmp/describe_table_meta.jsonMengambil data menggunakan indeks sekunder
Membaca satu baris data
Anda dapat membaca data dari tabel data dan mengekspornya ke file JSON lokal.
Jika baris yang ingin dibaca tidak ada, hasil kosong akan dikembalikan.
Sintaks Perintah
get --pk '[nilaiKunciUtama,nilaiKunciUtama]'Tabel berikut menjelaskan parameter dalam perintah.
Parameter | Diperlukan | Contoh | Deskripsi |
-k,--pk | Ya | ["86",6771] | Nilai kolom kunci utama dari baris. Nilai parameter ini adalah array. null Jumlah dan tipe kolom kunci utama yang Anda tentukan harus sama dengan jumlah dan tipe kolom kunci utama yang sebenarnya di tabel data. |
-c,--columns | Tidak | name,uid | Kolom yang ingin Anda baca. Anda dapat menentukan nama kolom kunci utama atau kolom atribut. Jika Anda tidak menentukan kolom, semua data di baris dikembalikan. |
--max_version | Tidak | 1 | Jumlah maksimum versi data yang dapat dibaca. |
--time_range_start | Tidak | 1626860469000 | Rentang versi data yang ingin Anda baca. Parameter time_range_start menentukan timestamp awal dan parameter time_range_end menentukan timestamp akhir. Rentang ini mencakup nilai awal dan mengecualikan nilai akhir. |
--time_range_end | Tidak | 1626865270000 | |
--time_range_specific | Tidak | 1626862870000 | Versi spesifik data yang ingin Anda baca. |
-o, --output | Tidak | /tmp/querydata.json | Jalur lokal file JSON tempat hasil kueri diekspor. |
Contoh
Kode sampel berikut memberikan contoh cara membaca baris data di mana nilai kolom kunci utama pertama adalah "86" dan nilai kolom kunci utama kedua adalah 6771.
get --pk '["86",6771]'Memindai data
Anda dapat memindai tabel data untuk mendapatkan semua data atau sejumlah baris tertentu di tabel data.
Sintaks Perintah
scan --limit limitTabel berikut menjelaskan parameter dalam perintah.
Parameter | Diperlukan | Contoh | Deskripsi |
--limit | Tidak | 10 | Jumlah maksimum baris yang ingin Anda pindai. Jika Anda tidak mengonfigurasi parameter ini, semua data di tabel data dipindai. |
Contoh
Kode sampel berikut memberikan contoh cara memindai hingga 10 baris data di tabel data.
scan --limit 10Ekspor data
Anda dapat mengekspor data dari tabel data ke file JSON lokal.
Sintaks Perintah
scan -o /lokasilokal/namafilenya.json -c namaKolomAtribut,namaKolomAtribut,namaKolomAtributTabel berikut menjelaskan parameter dalam perintah.
Parameter | Diperlukan | Contoh | Deskripsi |
-c, --columns | Ya | uid,name | Himpunan kolom yang ingin Anda ekspor. Anda dapat menentukan nama kolom kunci utama atau kolom atribut. Jika Anda tidak menentukan nama kolom, semua data di baris diekspor. |
--max_version | Tidak | 1 | Jumlah maksimum versi data yang dapat diekspor. |
--time_range_start | Tidak | 1626865596000 | Rentang versi data yang ingin Anda ekspor. Parameter time_range_start menentukan timestamp awal dan parameter time_range_end menentukan timestamp akhir. Rentang ini mencakup nilai awal dan mengecualikan nilai akhir. |
--time_range_end | Tidak | 1626869196000 | |
--time_range_specific | Tidak | 1626867396000 | Versi spesifik data yang ingin Anda ekspor. |
--backward | Tidak | T/A | Menentukan bahwa sistem mengurutkan data yang diekspor dalam urutan menurun berdasarkan kunci utama. |
-o, --output | Ya | /tmp/mydata.json | Jalur lokal file JSON tempat hasil kueri diekspor. |
-l, --limit | Tidak | 10 | Jumlah maksimum baris yang ingin Anda kembalikan dari kueri. |
-b, --begin | Tidak | '["86", 6771]' | Rentang nilai data yang ingin Anda ekspor. Rentang kunci utama adalah interval tertutup di sisi kiri dan terbuka di sisi kanan. null
|
-e, --end | Tidak | '["86", 6775]' |
Contoh
Contoh 1
Kode sampel berikut memberikan contoh cara mengekspor semua data dari tabel saat ini ke file lokal bernama mydata.json.
scan -o /tmp/mydata.jsonContoh 2
Kode sampel berikut memberikan contoh cara mengekspor data di kolom uid dan name dari tabel saat ini ke file lokal mydata.json.
scan -o /tmp/mydata.json -c uid,nameContoh 3
Kode sampel berikut memberikan contoh cara mengekspor data dengan nilai kunci utama dalam rentang tertentu dari tabel saat ini ke file lokal mydata.json. Nilai kolom kunci utama pertama tempat ekspor dimulai adalah "86". Nilai kolom kunci utama kedua tempat ekspor dimulai adalah 6771. Nilai kolom kunci utama pertama tempat ekspor berakhir adalah "86". Nilai kolom kunci utama kedua tempat ekspor berakhir adalah 6775.
scan -o D:\\0testreport\\mydata.json -b '["86", 6771]' -e '["86", 6775]'Contoh 4
Kode sampel berikut memberikan contoh cara mengekspor data dengan nilai kunci utama dalam rentang tertentu dari tabel saat ini ke file lokal mydata.json. Nilai kolom kunci utama pertama tempat ekspor dimulai adalah "50" dan nilai kolom kunci utama pertama tempat ekspor berakhir adalah "100". Rentang nilai kolom kunci utama kedua tidak ditentukan.
scan -o /tmp/mydata.json -b '["50",null]' -e '["100",null]'
Hapus indeks sekunder
Hapus tabel indeks yang tidak lagi diperlukan.
Sintaks Perintah
drop_index -t <tableName> -i <indexName> -yParameter | Diperlukan | Contoh | Deskripsi |
-t,--table | Tidak | mytable | Nama tabel data. |
-i,--index | Ya | index0 | Nama indeks sekunder yang ingin Anda hapus. |
-y,--yes | Ya | T/A | Menentukan bahwa informasi konfirmasi ditampilkan. Parameter ini diperlukan. |
Contoh
Kode sampel berikut memberikan contoh cara menghapus tabel indeks bernama index0 untuk tabel data saat ini:
drop_index -i index0 -yKode sampel berikut memberikan contoh cara menghapus tabel indeks bernama index0 untuk tabel data mytable:
drop_index -t mytable -i index0 -y