Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Langkah 4: Konfigurasikan cqlsh COPY FROM pengaturan

Mode fokus
Langkah 4: Konfigurasikan cqlsh COPY FROM pengaturan - Amazon Keyspaces (untuk Apache Cassandra)

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Bagian ini menguraikan cara menentukan nilai parameter untukcqlsh COPY FROM. cqlsh COPY FROMPerintah membaca CSV file yang Anda siapkan sebelumnya dan menyisipkan data ke Amazon CQL Keyspaces menggunakan. Perintah membagi baris dan mendistribusikan INSERT operasi di antara satu set pekerja. Setiap pekerja membuat koneksi dengan Amazon Keyspaces dan INSERT mengirimkan permintaan di sepanjang saluran ini.

cqlsh COPYPerintah tidak memiliki logika internal untuk mendistribusikan pekerjaan secara merata di antara para pekerjanya. Namun, Anda dapat mengonfigurasinya secara manual untuk memastikan bahwa pekerjaan didistribusikan secara merata. Mulailah dengan meninjau parameter cqlsh kunci ini:

  • DELIMITER— Jika Anda menggunakan pembatas selain koma, Anda dapat mengatur parameter ini, yang defaultnya koma.

  • INGESTRATE— Jumlah target baris yang cqlsh COPY FROM mencoba untuk memproses per detik. Jika tidak disetel, defaultnya menjadi 100.000.

  • NUMPROCESSES— Jumlah proses pekerja anak yang dibuat cqlsh untuk tugas. COPY FROM Maksimum untuk pengaturan ini adalah 16, defaultnya adalahnum_cores - 1, di mana num_cores jumlah inti pemrosesan pada host yang menjalankan cqlsh.

  • MAXBATCHSIZE— Ukuran batch menentukan jumlah maksimal baris yang dimasukkan ke dalam tabel tujuan dalam satu batch. Jika tidak disetel, cqlsh menggunakan batch 20 baris yang disisipkan.

  • CHUNKSIZE— Ukuran unit kerja yang diteruskan ke pekerja anak. Secara default, ini diatur ke 5.000.

  • MAXATTEMPTS— Jumlah maksimum kali untuk mencoba kembali potongan pekerja yang gagal. Setelah upaya maksimum tercapai, catatan yang gagal ditulis ke CSV file baru yang dapat Anda jalankan lagi nanti setelah menyelidiki kegagalan.

Tetapkan INGESTRATE berdasarkan jumlah WCUs yang Anda berikan ke tabel tujuan target. INGESTRATEcqlsh COPY FROMPerintah bukanlah batas—ini adalah rata-rata target. Ini berarti dapat (dan sering) meledak di atas angka yang Anda tetapkan. Untuk memungkinkan ledakan dan memastikan bahwa kapasitas yang cukup tersedia untuk menangani permintaan pemuatan data, atur INGESTRATE ke 90% dari kapasitas tulis tabel.

INGESTRATE = WCUs * .90

Selanjutnya, atur NUMPROCESSES parameter menjadi sama dengan satu kurang dari jumlah core pada sistem Anda. Untuk mengetahui berapa jumlah core sistem Anda, Anda dapat menjalankan kode berikut.

python -c "import multiprocessing; print(multiprocessing.cpu_count())"

Untuk tutorial ini, kami menggunakan nilai berikut.

NUMPROCESSES = 4

Setiap proses membuat pekerja, dan setiap pekerja membuat koneksi ke Amazon Keyspaces. Amazon Keyspaces dapat mendukung hingga 3.000 CQL permintaan per detik pada setiap koneksi. Ini berarti Anda harus memastikan bahwa setiap pekerja memproses kurang dari 3.000 permintaan per detik.

Seperti halnyaINGESTRATE, pekerja sering meledak di atas angka yang Anda tetapkan dan tidak dibatasi oleh detik jam. Oleh karena itu, untuk memperhitungkan semburan, atur parameter cqlsh Anda untuk menargetkan setiap pekerja untuk memproses 2.500 permintaan per detik. Untuk menghitung jumlah pekerjaan yang didistribusikan kepada pekerja, gunakan pedoman berikut.

  • Bagilah INGESTRATE denganNUMPROCESSES.

  • JikaINGESTRATE/NUMPROCESSES> 2.500, turunkan INGESTRATE untuk membuat rumus ini benar.

INGESTRATE / NUMPROCESSES <= 2,500

Sebelum Anda mengonfigurasi pengaturan untuk mengoptimalkan unggahan data sampel kami, mari tinjau pengaturan cqlsh default dan lihat bagaimana penggunaannya memengaruhi proses pengunggahan data. Karena cqlsh COPY FROM menggunakan CHUNKSIZE untuk membuat potongan pekerjaan (INSERTpernyataan) untuk didistribusikan kepada pekerja, pekerjaan tidak secara otomatis didistribusikan secara merata. Beberapa pekerja mungkin duduk diam, tergantung pada INGESTRATE pengaturannya.

Untuk mendistribusikan pekerjaan secara merata di antara para pekerja dan menjaga setiap pekerja pada tingkat optimal 2.500 permintaan per detik, Anda harus mengatur CHUNKSIZEMAXBATCHSIZE,, dan INGESTRATE dengan mengubah parameter input. Untuk mengoptimalkan pemanfaatan lalu lintas jaringan selama pemuatan data, pilih nilai MAXBATCHSIZE yang mendekati nilai maksimum 30. Dengan mengubah CHUNKSIZE ke 100 dan MAXBATCHSIZE ke 25, 10.000 baris tersebar merata di antara empat pekerja (10.000/2500 = 4).

Contoh kode berikut menggambarkan hal ini.

INGESTRATE = 10,000 NUMPROCESSES = 4 CHUNKSIZE = 100 MAXBATCHSIZE. = 25 Work Distribution: Connection 1 / Worker 1 : 2,500 Requests per second Connection 2 / Worker 2 : 2,500 Requests per second Connection 3 / Worker 3 : 2,500 Requests per second Connection 4 / Worker 4 : 2,500 Requests per second

Untuk meringkas, gunakan rumus berikut saat mengatur cqlsh COPY FROM parameter:

  • INGESTRATE= write_capacity_units * .90

  • NUMPROCESSES= num_cores -1 (default)

  • INGESTRATE/NUMPROCESSES= 2.500 (Ini harus pernyataan yang benar.)

  • MAXBATCHSIZE= 30 (Default ke 20. Amazon Keyspaces menerima batch hingga 30.)

  • CHUNKSIZE = (INGESTRATE / NUMPROCESSES) / MAXBATCHSIZE

Sekarang Anda telah menghitungNUMPROCESSES,,INGESTRATE, danCHUNKSIZE, Anda siap untuk memuat data Anda.

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.