Maison >développement back-end >Golang >Utilisation d'AWS Glue in Go : un guide complet

Utilisation d'AWS Glue in Go : un guide complet

王林
王林original
2023-06-17 19:31:381663parcourir

AWS Glue est un service d'intégration de données cloud entièrement géré qui vous permet de gérer facilement l'intégration de données et les pipelines ETL (Extract-Transform-Load). Il est évolutif, élastique et hautement disponible, et fonctionne avec d'autres services AWS ainsi qu'avec les données locales. Cet article explique comment utiliser AWS Glue en langage Go.

  1. Configuration de l'environnement

Avant de commencer à utiliser AWS Glue, vous devez d'abord configurer un environnement. Tout d'abord, vous devez installer l'AWS CLI. Vous pouvez télécharger et installer l'AWS CLI depuis le site officiel ou l'installer à partir de la ligne de commande à l'aide de la commande suivante :

pip install awscli

Ensuite, vous devez créer un compte AWS et obtenir la clé d'accès et la clé d'accès secrète. Ces informations seront utilisées pour communiquer avec AWS. Vous pouvez créer un compte AWS en suivant les étapes suivantes :

  • Visitez le site officiel d'AWS, cliquez sur le bouton « Créer un compte AWS » et remplissez les informations pertinentes lorsque vous y êtes invité.
  • Choisissez le forfait qui vous convient et finalisez le paiement.
  • Dans la console IAM (Identity and Access Management), créez un nouvel utilisateur et accordez-lui l'autorisation d'accéder à Glue. Assurez-vous de noter votre identifiant de clé et votre clé d'accès.

Enfin, vous devez configurer l'environnement de développement du langage Go. Vous pouvez télécharger et installer le langage Go depuis le site officiel ou l'installer depuis la ligne de commande en utilisant la commande suivante :

brew install go
  1. Créer un référentiel de données et des tables

Avant d'utiliser AWS Glue, vous devez créer un référentiel de données et un Fiche de données. Vous pouvez le faire en suivant ces étapes :

  • Connectez-vous à la console de gestion AWS et accédez à la console AWS Glue.
  • Cliquez sur l'onglet « Référentiel de données » puis cliquez sur le bouton « Nouveau référentiel de données ».
  • Entrez le nom et la description du référentiel de données et cliquez sur le bouton "Créer".
  • Cliquez sur l'onglet "Tables" puis cliquez sur le bouton "Nouvelle table".
  • Remplissez les détails du tableau, notamment le nom, la description, la source de données et le schéma.
  • Cliquez sur « Suivant » et définissez le format des données d'entrée/sortie au format dont vous avez besoin.
  • Cliquez sur "Suivant" et configurez le script ETL, ainsi que d'autres paramètres avancés.
  • Cliquez sur le bouton "Terminé" pour créer le tableau.

Remarque : vous pouvez utiliser AWS Glue Crawler pour déduire un schéma et une structure et vous aider à découvrir les relations entre vos données. Cela vous permet de commencer à utiliser AWS Glue plus rapidement.

  1. Configurer le client API AWS Glue

Avant d'utiliser le langage Go pour communiquer avec AWS Glue, vous devez utiliser le client API AWS Glue. Vous pouvez installer le SDK AWS pour Go dans votre projet à l'aide de la commande suivante :

go get github.com/aws/aws-sdk-go/aws
go get github.com/aws/aws-sdk-go/aws/session
go get github.com/aws/aws-sdk-go/service/glue

Ensuite, vous devez créer une session AWS. Vous pouvez créer une session en utilisant le code suivant :

sess := session.Must(session.NewSessionWithOptions(session.Options{
    SharedConfigState: session.SharedConfigEnable,
}))

Ensuite, vous devez créer le client du service AWS Glue. Vous pouvez créer un client de service en utilisant le code suivant :

svc := glue.New(sess)

Vous êtes maintenant prêt à utiliser le service AWS Glue.

  1. À l'aide de l'API AWS Glue

À l'aide de l'API AWS Glue, vous pouvez effectuer diverses opérations telles que la création, la mise à jour et la suppression de tables de données, l'exécution de tâches ETL et bien plus encore. Voici quelques exemples de tâches courantes :

  • Répertorier les référentiels de données

Vous pouvez utiliser le code suivant pour répertorier tous les référentiels de données :

params := &glue.GetDatabasesInput{}
resp, err := svc.GetDatabases(params)
if err != nil {
    fmt.Println(err.Error())
} else {
    fmt.Println(resp)
}
  • Obtenir la structure des données de la table

Vous pouvez utiliser le code suivant pour obtenir une donnée Structure des données de la table :

params := &glue.GetTableInput{
    DatabaseName: aws.String("my_database"),
    Name:         aws.String("my_table"),
}
resp, err := svc.GetTable(params)
if err != nil {
    fmt.Println(err.Error())
} else {
    fmt.Println(resp)
}
  • Exécuter le travail ETL

Vous pouvez utiliser le code suivant pour exécuter le travail ETL :

params := &glue.StartJobRunInput{
    JobName: aws.String("my_job"),
}
resp, err := svc.StartJobRun(params)
if err != nil {
    fmt.Println(err.Error())
} else {
    fmt.Println(resp)
}
  • Supprimer une table de données

Vous pouvez utiliser le code suivant pour supprimer une table de données :

params := &glue.DeleteTableInput{
    DatabaseName: aws.String("my_database"),
    Name:         aws.String("my_table"),
}
_, err := svc.DeleteTable(params)
if err != nil {
    fmt.Println(err.Error())
} else {
    fmt.Println("Table deleted")
}
  1. Résumé

AWS Glue est un puissant service d'intégration de données cloud qui vous permet de gérer facilement l'intégration de données et les pipelines ETL. Grâce au langage Go, vous pouvez facilement implémenter diverses opérations à l'aide de l'API AWS Glue. À travers les étapes de ce guide, vous pourrez créer des référentiels de données et des tables et effectuer diverses tâches à l'aide de l'API AWS Glue.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn