Schritt 4: Konfigurieren Sie die DSBulk Einstellungen, um Daten aus der CSV-Datei in die Zieltabelle hochzuladen - Amazon Keyspaces (für Apache Cassandra)

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Schritt 4: Konfigurieren Sie die DSBulk Einstellungen, um Daten aus der CSV-Datei in die Zieltabelle hochzuladen

In diesem Abschnitt werden die Schritte beschrieben, die erforderlich sind, um DSBulk für das Hochladen von Daten auf Amazon Keyspaces zu konfigurieren. Sie konfigurieren DSBulk mithilfe einer Konfigurationsdatei. Sie geben die Konfigurationsdatei direkt von der Befehlszeile aus an.

  1. Erstellen Sie eine DSBulk-Konfigurationsdatei für die Migration zu Amazon Keyspaces. In diesem Beispiel verwenden wir den Dateinamen. dsbulk_keyspaces.conf Geben Sie die folgenden Einstellungen in der DSBulk-Konfigurationsdatei an.

    1. PlainTextAuthProvider— Erstellen Sie den Authentifizierungsanbieter mit der PlainTextAuthProvider Klasse. ServiceUserNameund ServicePassword sollte mit dem Benutzernamen und dem Passwort übereinstimmen, die Sie bei der Generierung der dienstspezifischen Anmeldeinformationen erhalten haben, indem Sie die Schritte unter Anmeldeinformationen für den programmgesteuerten Zugriff auf Amazon Keyspaces erstellen ausführen.

    2. local-datacenter— Setzen Sie den Wert für local-datacenter auf den AWS-Region , zu dem Sie eine Verbindung herstellen. Wenn die Anwendung beispielsweise eine Verbindung herstelltcassandra.us-east-2.amazonaws.com, stellen Sie das lokale Rechenzentrum auf einus-east-2. Alle verfügbaren AWS-Regionen Informationen finden Sie unterService-Endpunkte für Amazon Keyspaces. Um Replikate zu vermeiden, legen Sie den Wert slow-replica-avoidance auf false fest.

    3. SSLEngineFactory— Um SSL/TLS zu konfigurieren, initialisieren Sie das, SSLEngineFactory indem Sie der Konfigurationsdatei einen Abschnitt mit einer einzigen Zeile hinzufügen, in der die Klasse mit angegeben wird. class = DefaultSslEngineFactory Geben Sie den Pfad cassandra_truststore.jks und das Passwort an, die Sie zuvor erstellt haben.

    4. consistency— Stellen Sie die Konsistenzstufe auf einLOCAL QUORUM. Andere Schreibkonsistenzstufen werden nicht unterstützt. Weitere Informationen finden Sie unterUnterstützte Lese- und Schreibkonsistenzstufen von Apache Cassandra und damit verbundene Kosten.

    5. Die Anzahl der Verbindungen pro Pool ist im Java-Treiber konfigurierbar. Stellen Sie in diesem Beispiel advanced.connection.pool.local.size den Wert 3 ein.

    Im Folgenden finden Sie die vollständige Beispielkonfigurationsdatei.

    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. Überprüfen Sie die Parameter für den load Befehl DSBulk.

    1. executor.maxPerSecond— Die maximale Anzahl von Zeilen, die der Ladebefehl pro Sekunde gleichzeitig zu verarbeiten versucht. Wenn sie nicht gesetzt ist, ist diese Einstellung mit -1 deaktiviert.

      Wird auf der executor.maxPerSecond Grundlage der Anzahl der WCUs festgelegt, die Sie für die Zieltabelle bereitgestellt haben. Der executor.maxPerSecond Wert des load Befehls ist kein Limit, sondern ein Zieldurchschnitt. Das bedeutet, dass er die von Ihnen festgelegte Zahl überschreiten kann (und tut dies häufig auch). Um Bursts zu berücksichtigen und sicherzustellen, dass genügend Kapazität zur Bearbeitung der Datenladeanforderungen vorhanden ist, sollten Sie einen Wert von 90% der Schreibkapazität der Tabelle festlegenexecutor.maxPerSecond.

      executor.maxPerSecond = WCUs * .90

      In diesem Tutorial haben wir den Wert 5 executor.maxPerSecond eingestellt.

      Anmerkung

      Wenn Sie DSBulk 1.6.0 oder höher verwenden, können Sie stattdessen verwendendsbulk.engine.maxConcurrentQueries.

    2. Konfigurieren Sie diese zusätzlichen Parameter für den load DSBulk-Befehl.

      • batch-mode— Dieser Parameter weist das System an, Operationen nach Partitionsschlüsseln zu gruppieren. Wir empfehlen, den Batch-Modus zu deaktivieren, da dies zu Hotkey-Szenarien und Ursachen führen kannWriteThrottleEvents.

      • driver.advanced.retry-policy-max-retries— Dies bestimmt, wie oft eine fehlgeschlagene Abfrage wiederholt werden muss. Wenn diese Option nicht gesetzt ist, ist die Standardeinstellung 10. Sie können diesen Wert nach Bedarf anpassen.

      • driver.basic.request.timeout— Die Zeit in Minuten, in der das System auf die Rückgabe einer Abfrage wartet. Wenn diese Option nicht gesetzt ist, ist die Standardeinstellung „5 Minuten“. Sie können diesen Wert nach Bedarf anpassen.