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.
-
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.-
PlainTextAuthProvider
— Erstellen Sie den Authentifizierungsanbieter mit derPlainTextAuthProvider
Klasse.ServiceUserName
undServicePassword
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. -
local-datacenter
— Setzen Sie den Wert fürlocal-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 Wertslow-replica-avoidance
auffalse
fest. -
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 Pfadcassandra_truststore.jks
und das Passwort an, die Sie zuvor erstellt haben. 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.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 } -
-
Überprüfen Sie die Parameter für den
load
Befehl DSBulk.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. Derexecutor.maxPerSecond
Wert desload
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 verwenden
dsbulk.engine.maxConcurrentQueries
.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.