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 DSBulk zur Konfiguration des Daten-Uploads auf Amazon Keyspaces erforderlich sind. 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 Dateinamendsbulk_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 programmatischen Zugriff auf Amazon Keyspaces erstellen ausführen.

    2. local-datacenter— Setzen Sie den Wert für local-datacenter auf AWS-Region mit 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. Für alle verfügbaren AWS-Regionen, finden Sie unter Service-Endpunkte für Amazon Keyspaces. Um Replikate zu vermeiden, legen Sie den Wert slow-replica-avoidance auf false fest.

    3. SSLEngineFactory— UmSSL/zu konfigurierenTLS, initialisieren Sie das, SSLEngineFactory indem Sie der Konfigurationsdatei einen Abschnitt mit einer einzigen Zeile hinzufügen, die die Klasse mit spezifiziert. 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 DSBulk load Befehl.

    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 festgelegtWCUs, 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 executor.maxPerSecond auf 5 gesetzt.

      Anmerkung

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

    2. Konfigurieren Sie diese zusätzlichen Parameter für den DSBulk load 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.