Verwenden von BigQuery in Go: Eine vollständige Anleitung
BigQuery ist ein leistungsstarkes Cloud-Data-Warehouse und Analysetool von Google Cloud. Viele Unternehmen und Unternehmen vertrauen darauf und nutzen es im Hinblick auf Big-Data-Analyse und Data Warehousing. In diesem Artikel erfahren Sie, wie Sie BigQuery in der Go-Sprache verwenden.
Zuerst müssen Sie das Google Cloud SDK installieren. Unter Linux können Sie es mit dem folgenden Befehl installieren:
$ 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
Unter Windows und macOS können Sie das Installationsprogramm herunterladen, indem Sie zur Google Cloud SDK-Downloadseite gehen. Verwenden Sie nach der Installation das gcloud-Befehlszeilentool zur Authentifizierung und Konfiguration.
Als nächstes müssen Sie die BigQuery Go-Clientbibliothek installieren. Sie können es mit dem folgenden Befehl installieren:
$ go get -u cloud.google.com/go/bigquery
Als nächstes müssen Sie ein Google Cloud-Projekt erstellen und die BigQuery-API aktivieren. Öffnen Sie das Projekt in der Google Cloud Console, klicken Sie in der linken Menüleiste auf „APIs und Dienste“, suchen Sie im Suchfeld nach „BigQuery API“ und aktivieren Sie es.
Sehen wir uns nun an, wie Sie eine Verbindung zu BigQuery herstellen und Abfragen in der Go-Sprache ausführen. Beachten Sie, dass hierfür Leseberechtigungen für die BigQuery-Tabelle oder -Ansicht erforderlich sind.
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]) } }
Im obigen Beispielcode haben wir die Funktion bigquery.NewClient() verwendet, um ein Client-Objekt zu erstellen. Wir nutzen Cross-Swaps, um den Abschluss sicherzustellen.
Wir verwenden die Funktion bigquery.Query(), um ein Query-Objekt zu erstellen und den Tabellennamen anzugeben. Wir haben außerdem eine LIMIT-Klausel angegeben, um die Ergebnisse auf 10 Datensätze zu beschränken. Bitte beachten Sie, dass der Tabellenname im Formular dataset.table
angegeben werden muss und der Datensatz und die Tabelle vorher existieren müssen.
Als nächstes führen wir die Abfrage mit der Funktion query.Read() aus. Die Read()-Funktion gibt ein Iteratorobjekt zurück, über das wir wie ein Standard-Go-Slice iterieren können, um die Ergebnisse zu lesen.
Schließlich verwenden wir Werte[0] und Werte[1] in der Schleife, um auf das erste und zweite Feld der Abfrageergebnisse zuzugreifen.
In praktischen Anwendungen möchten Sie möglicherweise komplexere Abfragen durchführen und auf mehr Abfrageergebnisse zugreifen. Glücklicherweise bietet die BigQuery Go-Clientbibliothek zahlreiche Optionen und APIs, mit denen Sie diese Aufgaben problemlos erledigen können.
Zusammenfassung
In diesem Artikel haben wir die Verwendung von BigQuery in der Go-Sprache besprochen. Wir beschreiben detailliert den Prozess der Installation des Google Cloud SDK und der BigQuery Go-Clientbibliotheken und stellen Beispielcode zum Herstellen einer Verbindung zu BigQuery und zum Ausführen von Abfragen bereit.
Wenn Sie Probleme bei der Handhabung von Big-Data-Analyse- oder Data-Warehousing-Aufgaben haben, lesen Sie bitte die Google Cloud-Dokumentation oder stellen Sie eine Frage auf Stack Overflow. Die Google Cloud-Community ist immer für Sie da.
Das obige ist der detaillierte Inhalt vonVerwenden von BigQuery in Go: Eine vollständige Anleitung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!