Langkah 4: Konfigurasikan DSBulk pengaturan untuk mengunggah data dari CSV file ke tabel target - 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.

Langkah 4: Konfigurasikan DSBulk pengaturan untuk mengunggah data dari CSV file ke tabel target

Bagian ini menguraikan langkah-langkah yang diperlukan DSBulk untuk mengonfigurasi pengunggahan data ke Amazon Keyspaces. Anda mengkonfigurasi DSBulk dengan menggunakan file konfigurasi. Anda menentukan file konfigurasi langsung dari baris perintah.

  1. Buat file DSBulk konfigurasi untuk migrasi ke Amazon Keyspaces, dalam contoh ini kita menggunakan nama file. dsbulk_keyspaces.conf Tentukan pengaturan berikut dalam file DSBulk konfigurasi.

    1. PlainTextAuthProvider— Buat penyedia otentikasi dengan PlainTextAuthProvider kelas. ServiceUserNamedan ServicePassword harus cocok dengan nama pengguna dan kata sandi yang Anda peroleh saat Anda membuat kredensyal khusus layanan dengan mengikuti langkah-langkah di. Buat kredensi untuk akses terprogram ke Amazon Keyspaces

    2. local-datacenter— Tetapkan nilai local-datacenter untuk Wilayah AWS bahwa Anda terhubung ke. Misalnya, jika aplikasi terhubung kecassandra.us-east-2.amazonaws.com, maka atur pusat data lokal keus-east-2. Untuk semua yang tersedia Wilayah AWS, lihat Titik akhir layanan untuk Amazon Keyspaces. Untuk menghindari replika, atur slow-replica-avoidance kefalse.

    3. SSLEngineFactory— Untuk mengkonfigurasiSSL/TLS, inisialisasi SSLEngineFactory dengan menambahkan bagian dalam file konfigurasi dengan satu baris yang menentukan kelas dengan. class = DefaultSslEngineFactory Berikan jalur ke cassandra_truststore.jks dan kata sandi yang Anda buat sebelumnya.

    4. consistency— Tetapkan tingkat konsistensi keLOCAL QUORUM. Tingkat konsistensi penulisan lainnya tidak didukung, untuk informasi lebih lanjut lihatMendukung Apache Cassandra membaca dan menulis tingkat konsistensi dan biaya terkait.

    5. Jumlah koneksi per pool dapat dikonfigurasi di driver Java. Untuk contoh ini, atur advanced.connection.pool.local.size ke 3.

    Berikut ini adalah file konfigurasi sampel lengkap.

    datastax-java-driver { basic.contact-points = [ "cassandra.us-east-2.amazonaws.com:9142"] advanced.auth-provider { class = PlainTextAuthProvider username = "ServiceUserName" password = "ServicePassword" } basic.load-balancing-policy { local-datacenter = "us-east-2" slow-replica-avoidance = false } basic.request { consistency = LOCAL_QUORUM default-idempotence = true } advanced.ssl-engine-factory { class = DefaultSslEngineFactory truststore-path = "./cassandra_truststore.jks" truststore-password = "my_password" hostname-validation = false } advanced.connection.pool.local.size = 3 }
  2. Tinjau parameter untuk DSBulk load perintah.

    1. executor.maxPerSecond— Jumlah maksimum baris yang coba diproses oleh perintah load secara bersamaan per detik. Jika tidak disetel, pengaturan ini dinonaktifkan dengan -1.

      Tetapkan executor.maxPerSecond berdasarkan jumlah WCUs yang Anda berikan ke tabel tujuan target. executor.maxPerSecondloadPerintah 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 executor.maxPerSecond ke 90% dari kapasitas tulis tabel.

      executor.maxPerSecond = WCUs * .90

      Dalam tutorial ini, kita mengatur executor.maxPerSecond ke 5.

      catatan

      Jika Anda menggunakan DSBulk 1.6.0 atau lebih tinggi, Anda dapat menggunakannya dsbulk.engine.maxConcurrentQueries sebagai gantinya.

    2. Konfigurasikan parameter tambahan ini untuk DSBulk load perintah.

      • batch-mode— Parameter ini memberitahu sistem untuk mengelompokkan operasi dengan kunci partisi. Kami merekomendasikan untuk menonaktifkan mode batch, karena dapat menghasilkan skenario dan penyebab hot keyWriteThrottleEvents.

      • driver.advanced.retry-policy-max-retries— Ini menentukan berapa kali untuk mencoba lagi kueri yang gagal. Jika tidak disetel, defaultnya adalah 10. Anda dapat menyesuaikan nilai ini sesuai kebutuhan.

      • driver.basic.request.timeout— Waktu dalam hitungan menit sistem menunggu kueri kembali. Jika tidak disetel, defaultnya adalah “5 menit”. Anda dapat menyesuaikan nilai ini sesuai kebutuhan.