Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Langkah 2: Siapkan data untuk diunggah menggunakan DSBulk
Mempersiapkan data sumber untuk transfer yang efisien adalah proses dua langkah. Pertama, Anda mengacak data. Pada langkah kedua, Anda menganalisis data untuk menentukan nilai dsbulk
parameter yang sesuai dan pengaturan tabel yang diperlukan.
Mengacak data
dsbulk
Perintah membaca dan menulis data dalam urutan yang sama seperti yang muncul di CSV file. Jika Anda menggunakan dsbulk
perintah untuk membuat file sumber, data ditulis dalam urutan kunci yang diurutkan dalam file. CSV Secara internal, Amazon Keyspaces mempartisi data menggunakan tombol partisi. Meskipun Amazon Keyspaces memiliki logika bawaan untuk membantu memuat permintaan keseimbangan untuk kunci partisi yang sama, memuat data lebih cepat dan lebih efisien jika Anda mengacak urutan. Ini karena Anda dapat memanfaatkan penyeimbangan beban bawaan yang terjadi saat Amazon Keyspaces menulis ke partisi yang berbeda.
Untuk menyebarkan tulisan di seluruh partisi secara merata, Anda harus mengacak data dalam file sumber. Anda dapat menulis aplikasi untuk melakukan ini atau menggunakan alat sumber terbuka, seperti Shuf
Untuk mengacak file sumber sambil mempertahankan header, masukkan kode berikut.
tail -n +2
keyspaces_sample_table.csv
| shuf -okeyspace.table.csv
&& (head -1keyspaces_sample_table.csv
&& cat keyspace.table.csv ) >keyspace.table.csv1
&& mvkeyspace.table.csv1
keyspace.table.csv
Shuf menulis ulang data ke CSV file baru bernama. keyspace.table.csv
Anda sekarang dapat menghapus keyspaces_sample_table.csv
file — Anda tidak lagi membutuhkannya.
Menganalisis data
Tentukan ukuran baris rata-rata dan maksimum dengan menganalisis data.
Anda melakukan ini karena alasan berikut:
-
Ukuran baris rata-rata membantu memperkirakan jumlah total data yang akan ditransfer.
-
Anda memerlukan ukuran baris rata-rata untuk menyediakan kapasitas tulis yang diperlukan untuk unggahan data.
-
Anda dapat memastikan bahwa setiap baris berukuran kurang dari 1 MB, yang merupakan ukuran baris maksimum di Amazon Keyspaces.
catatan
Kuota ini mengacu pada ukuran baris, bukan ukuran partisi. Tidak seperti partisi Apache Cassandra, partisi Amazon Keyspaces hampir tidak terikat ukurannya. Kunci partisi dan kolom pengelompokan memerlukan penyimpanan tambahan untuk metadata, yang harus Anda tambahkan ke ukuran baris mentah. Untuk informasi selengkapnya, lihat Perkirakan ukuran baris di Amazon Keyspaces.
Kode berikut digunakan AWK
awk -F, 'BEGIN {samp=10000;max=-1;}{if(NR>1){len=length($0);t+=len;avg=t/NR;max=(len>max ? len : max)}}NR==samp{exit}END{printf("{lines: %d, average: %d bytes, max: %d bytes}\n",NR,avg,max);}'
keyspace.table.csv
Menjalankan kode ini menghasilkan output berikut.
using 10,000 samples: {lines: 10000, avg: 123 bytes, max: 225 bytes}
Pastikan ukuran baris maksimum Anda tidak melebihi 1 MB. Jika ya, Anda harus memecah baris atau mengompres data untuk membawa ukuran baris di bawah 1 MB. Pada langkah berikutnya dari tutorial ini, Anda menggunakan ukuran baris rata-rata untuk menyediakan kapasitas tulis untuk tabel.