View a markdown version of this page

Étape 1 : Bootstrap de l'infrastructure et AWS Glue jobs - 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 1 : Bootstrap de l'infrastructure et AWS Glue jobs

Au cours de cette étape, vous utilisez l'keyspaces-bulk-cliinterface de ligne de commande pour créer et configurer toutes les AWS ressources requises pour l'exportation automatique des données d'une table Amazon Keyspaces vers un compartiment Amazon S3 à l'aide AWS Glue de. La bootstrap commande exécute toutes les tâches de configuration en une seule étape.

La bootstrap commande automatise les tâches suivantes.

  1. Crée un compartiment Amazon S3 et un rôle de service IAM à l'aide CloudFormation de.

  2. Télécharge le connecteur Apache Spark Cassandra, le plug-in d'authentification Sigv4 et les extensions Apache Spark.

  3. Télécharge et crée l'assistant Keyspaces Retry Policy à l'aide de Maven.

  4. Télécharge tous les fichiers JAR et le fichier keyspaces-application.conf de configuration dans le compartiment Amazon S3.

  5. Déploie trois AWS Glue tâches : exporter (exporter un tableau vers Amazon S3), importer (importer des données depuis Amazon S3 dans un tableau) et compter (compter les lignes d'un tableau).

  6. Enregistre la configuration de la pile dans un .keyspaces-bulk-cli.json fichier local pour être utilisée par les commandes suivantes.

Pour démarrer l'infrastructure et AWS Glue jobs
  1. Clonez les fichiers du référentiel aws-glue sur votre GitHub machine locale.

    $ git clone https://github.com/aws-samples/amazon-keyspaces-examples.git $ cd amazon-keyspaces-examples/scala/datastax-v4/aws-glue
  2. Exécutez la commande bootstrap. L'exemple suivant utilise le nom de pile par défaut aksglue et spécifie l'espace de touches et la table comme valeurs par défaut pour les tâches déployées. Vous pouvez modifier ces valeurs lorsque vous exécutez des commandes individuelles telles que exportimport, oucount.

    $ ./keyspaces-bulk-cli bootstrap --stack aksglue --keyspace catalog --table book_awards

    Le tableau suivant décrit les paramètres facultatifs que vous pouvez transmettre pour personnaliser le bootstrap.

    Option Par défaut Description
    --stack aksglue CloudFormation préfixe du nom de la pile
    --bucket Auto-generated à partir de la pile et du compte Compartiment Amazon S3 pour les artefacts
    --role-name Auto-generated depuis stack Nom du rôle de service IAM
    --keyspace mykeyspace Espace de touches par défaut pour les tâches déployées
    --table mytable Tableau par défaut pour les tâches déployées
    --s3-uri s3://{bucket}/export Chemin Amazon S3 par défaut pour les données exportées
    --format parquet Format de données par défaut
    --region À partir de la AWS configuration Région AWS
    --profile À partir de la AWS configuration AWS profil nommé

    Pour vérifier que le compartiment Amazon S3 créé par bootstrap existe, vous pouvez utiliser la AWS CLI commande suivante. YOURACCOUNTIDRemplacez-le par votre identifiant de AWS compte.

    $ aws s3 ls s3://amazon-keyspaces-bulk-cli-aksglue-YOURACCOUNTID

    Le résultat de la commande ressemble à ce qui suit :

    PRE conf/ PRE jars/ PRE scripts/

    Pour confirmer que la tâche AWS Glue d'exportation a été déployée, vous pouvez utiliser la commande suivante.

    $ aws glue list-jobs

    La sortie répertorie les tâches déployées :

    { "JobNames": [ "AmazonKeyspacesExportToS3-aksglue", "AmazonKeyspacesImportFromS3-aksglue", "AmazonKeyspacesCount-aksglue" ] }

Si le processus de CloudFormation pile échoue, vous pouvez consulter les informations d'erreur détaillées concernant la pile défaillante dans la CloudFormation console. Pour réessayer, supprimez la pile qui a échouéaws cloudformation delete-stack --stack-name aksglue, corrigez le problème sous-jacent et exécutez à nouveau la commande bootstrap. La commande bootstrap est idempotente et ignore les ressources qui existent déjà.

Une fois le bootstrap terminé et toutes les ressources créées, passez àÉtape 2 : Exécuter la tâche d'exportation.