Étape 4 : configurer DSBulk les paramètres pour télécharger les données du CSV fichier vers la table cible - Amazon Keyspaces (pour Apache Cassandra)

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Étape 4 : configurer DSBulk les paramètres pour télécharger les données du CSV fichier vers la table cible

Cette section décrit les étapes requises DSBulk pour configurer le téléchargement des données vers Amazon Keyspaces. Vous configurez à DSBulk l'aide d'un fichier de configuration. Vous spécifiez le fichier de configuration directement depuis la ligne de commande.

  1. Créez un fichier DSBulk de configuration pour la migration vers Amazon Keyspaces. Dans cet exemple, nous utilisons le nom du fichier. dsbulk_keyspaces.conf Spécifiez les paramètres suivants dans le fichier DSBulk de configuration.

    1. PlainTextAuthProvider— Créez le fournisseur d'authentification avec la PlainTextAuthProvider classe. ServiceUserNameet ServicePassword doivent correspondre au nom d'utilisateur et au mot de passe que vous avez obtenus lorsque vous avez généré les informations d'identification spécifiques au service en suivant les étapes décrites dans. Créez des informations d'identification pour un accès programmatique à Amazon Keyspaces

    2. local-datacenter— Définissez la valeur local-datacenter pour Région AWS auquel vous vous connectez. Par exemple, si l'application se connecte àcassandra.us-east-2.amazonaws.com, définissez le centre de données local surus-east-2. Pour tous disponibles Régions AWS, voir Points de terminaison de service pour Amazon Keyspaces. Pour éviter les répliques, définissez surslow-replica-avoidance. false

    3. SSLEngineFactory— Pour configurerSSL/TLS, initialisez le SSLEngineFactory en ajoutant une section dans le fichier de configuration avec une seule ligne qui spécifie la classe avecclass = DefaultSslEngineFactory. Indiquez le chemin d'accès cassandra_truststore.jks et le mot de passe que vous avez créés précédemment.

    4. consistency— Réglez le niveau de cohérence surLOCAL QUORUM. Les autres niveaux de cohérence d'écriture ne sont pas pris en charge. Pour plus d'informations, consultezNiveaux de cohérence en lecture et écriture pris en charge par Apache Cassandra et coûts associés.

    5. Le nombre de connexions par pool est configurable dans le pilote Java. Pour cet exemple, définissez le advanced.connection.pool.local.size paramètre sur 3.

    L'exemple de fichier de configuration complet est le suivant.

    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. Vérifiez les paramètres de la DSBulk load commande.

    1. executor.maxPerSecond— Le nombre maximum de lignes que la commande de chargement tente de traiter simultanément par seconde. S'il n'est pas défini, ce paramètre est désactivé avec -1.

      executor.maxPerSecondDéfini en fonction du nombre de ceux WCUs que vous avez provisionnés dans la table de destination cible. La executor.maxPerSecond load commande n'est pas une limite, c'est une moyenne cible. Cela signifie qu'il peut (et c'est souvent le cas) dépasser le nombre que vous avez défini. Pour tenir compte des rafales et vous assurer que la capacité est suffisante pour traiter les demandes de chargement de données, définissez 90 % executor.maxPerSecond de la capacité d'écriture de la table.

      executor.maxPerSecond = WCUs * .90

      Dans ce didacticiel, nous avons défini executor.maxPerSecond la valeur 5.

      Note

      Si vous utilisez la DSBulk version 1.6.0 ou supérieure, vous pouvez utiliser à la dsbulk.engine.maxConcurrentQueries place.

    2. Configurez ces paramètres supplémentaires pour la DSBulk load commande.

      • batch-mode— Ce paramètre indique au système de regrouper les opérations par clé de partition. Nous vous recommandons de désactiver le mode batch, car cela peut entraîner des scénarios de raccourcis clavier et des causesWriteThrottleEvents.

      • driver.advanced.retry-policy-max-retries— Cela détermine le nombre de tentatives à nouveau pour une requête qui a échoué. S'il n'est pas défini, la valeur par défaut est 10. Vous pouvez ajuster cette valeur selon vos besoins.

      • driver.basic.request.timeout— Durée en minutes pendant laquelle le système attend le retour d'une requête. Si ce paramètre n'est pas défini, la valeur par défaut est « 5 minutes ». Vous pouvez ajuster cette valeur selon vos besoins.