Utiliser BigQuery dans Go : un guide complet
BigQuery est un puissant entrepôt de données cloud et un outil d'analyse de Google Cloud. Il a été approuvé et utilisé par de nombreuses entreprises et entreprises en termes d'analyse de Big Data et d'entreposage de données. Dans cet article, nous allons explorer comment utiliser BigQuery en langage Go.
Tout d'abord, vous devez installer le SDK Google Cloud. Sous Linux, vous pouvez l'installer avec la commande suivante :
$ export CLOUD_SDK_REPO="cloud-sdk-$(lsb_release -c -s)" $ echo "deb http://packages.cloud.google.com/apt $CLOUD_SDK_REPO main" | sudo tee /etc/apt/sources.list.d/google-cloud-sdk.list $ curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - $ sudo apt-get update && sudo apt-get install google-cloud-sdk
Sous Windows et macOS, vous pouvez télécharger le programme d'installation en vous rendant sur la page de téléchargement du SDK Google Cloud. Après l'installation, utilisez l'outil de ligne de commande gcloud pour l'authentification et la configuration.
Ensuite, vous devez installer la bibliothèque cliente BigQuery Go. Vous pouvez l'installer avec la commande suivante :
$ go get -u cloud.google.com/go/bigquery
Ensuite, vous devez créer un projet Google Cloud et activer l'API BigQuery. Ouvrez le projet dans Google Cloud Console, cliquez sur « API et services » dans la barre de menu de gauche, recherchez « API BigQuery » dans le champ de recherche et activez-le.
Voyons maintenant comment se connecter à BigQuery et exécuter des requêtes en langage Go. Notez que cela nécessite des autorisations de lecture sur la table ou la vue BigQuery.
import ( "fmt" "context" "cloud.google.com/go/bigquery" "google.golang.org/api/iterator" ) func main() { ctx := context.Background() client, err := bigquery.NewClient(ctx, "project-id") if err != nil { // Handle error. } defer client.Close() q := client.Query("SELECT field1, field2 FROM `dataset.table` LIMIT 10") it, err := q.Read(ctx) if err != nil { // Handle error. } for { var values []bigquery.Value err := it.Next(&values) if err == iterator.Done { break } if err != nil { // Handle error. } fmt.Println(values[0], values[1]) } }
Dans l'exemple de code ci-dessus, nous avons utilisé la fonction bigquery.NewClient() pour créer un objet client. Nous utilisons des échanges croisés pour assurer la clôture.
Nous utilisons la fonction bigquery.Query() pour créer un objet Query et spécifier le nom de la table. Nous avons également spécifié une clause LIMIT pour limiter les résultats à 10 enregistrements. Veuillez noter que le nom de la table doit être spécifié sous la forme dataset.table
, et que l'ensemble de données et la table doivent exister à l'avance.
Ensuite, nous exécutons la requête à l'aide de la fonction query.Read(). La fonction Read() renvoie un objet itérateur sur lequel nous pouvons parcourir comme une tranche Go standard pour lire les résultats.
Enfin, nous utilisons les valeurs[0] et les valeurs[1] dans la boucle pour accéder aux premier et deuxième champs des résultats de la requête.
Dans les applications pratiques, vous souhaiterez peut-être effectuer des requêtes plus complexes et accéder à davantage de résultats de requête. Heureusement, la bibliothèque client BigQuery Go offre une multitude d'options et d'API pour vous aider à accomplir facilement ces tâches.
Résumé
Dans cet article, nous avons expliqué comment utiliser BigQuery en langage Go. Nous détaillons le processus d'installation du SDK Google Cloud et des bibliothèques clientes BigQuery Go, et fournissons un exemple de code pour se connecter à BigQuery et exécuter des requêtes.
Si vous rencontrez des problèmes pour gérer les tâches d'analyse du Big Data ou d'entreposage de données, veuillez vous référer à la documentation de Google Cloud ou poser une question sur Stack Overflow. La communauté Google Cloud est toujours là pour vous soutenir.
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!