BigQuery mit Node.js verwenden

1. Übersicht

BigQuery ist das vollständig verwaltete, kostengünstige Data Warehouse von Google für Analysen im Petabyte-Bereich. BigQuery ist ein NoOps-Angebot. Es muss keine Infrastruktur verwaltet werden und Sie benötigen keinen Datenbankadministrator. Sie können sich also ganz auf die Datenanalyse konzentrieren, um aussagekräftige Informationen zu erhalten, vertrautes SQL verwenden und unser Pay-as-you-go-Modell nutzen.

In diesem Codelab verwenden Sie die BigQuery-Clientbibliothek von Google Cloud, um öffentliche BigQuery-Datasets mit Node.js abzufragen.

Aufgaben in diesem Lab

  • Cloud Shell verwenden
  • BigQuery API aktivieren
  • API-Anfragen authentifizieren
  • BigQuery-Clientbibliothek für Node.js installieren
  • Abfrage der Werke von Shakespeare
  • GitHub-Dataset abfragen
  • Caching und Anzeige von Statistiken anpassen

Voraussetzungen

  • Google Cloud Platform-Projekt
  • Browser, z. B. Chrome oder Firefox
  • Vorkenntnisse im Umgang mit Node.js

Umfrage

Wie möchten Sie diese Anleitung nutzen?

<ph type="x-smartling-placeholder"></ph> Nur bis zum Ende lesen Lies sie dir durch und absolviere die Übungen

Wie würden Sie Ihre Erfahrung mit Node.js bewerten?

<ph type="x-smartling-placeholder"></ph> Neuling Mittel Kompetent

Wie würden Sie Ihre Erfahrungen im Umgang mit Google Cloud Platform-Diensten bewerten?

<ph type="x-smartling-placeholder"></ph> Neuling Mittel Kompetent

2. Einrichtung und Anforderungen

Umgebung für das selbstbestimmte Lernen einrichten

  1. Melden Sie sich in der Cloud Console an und erstellen Sie ein neues Projekt oder verwenden Sie ein vorhandenes Projekt. Wenn Sie noch kein Gmail- oder G Suite-Konto haben, müssen Sie ein Konto erstellen.

H_hgylo4zxOllHaAbPKJ7VyqCKPDUnDhkr-BsBIFBsrB6TYSisg6LX-uqmMhh4sXUy_hoa2Qv87C2nFmkg-QAcCiZZp0qtpf6VPaNEEfP_iqt29KVLD-gklBWugQVeOWsFnJmNjHDw

dcCPqfBIwNO4R-0fNQLUC4aYXOOZhKhjUnakFLZJGeziw2ikOxGjGkCHDwN5x5kCbPFB8fiOzZnX-GfuzQ8Ox-UU15BwHirkVPR_0RJwl0oXrhqZmMIvZMa_uwHugBJIdx5-bZ6Z8Q

jgLzVCxk93d6E2bbonzATKA4jFZReoQ-fORxZZLEi5C3D-ubnv6nL-eP-iyh7qAsWyq_nyzzuEoPFD1wFOFZOe4FWhPBJjUDncnTxTImT3Ts9TM54f4nPpsAp52O0y3Cb19IceAEgQ

Notieren Sie sich die Projekt-ID, also den projektübergreifend nur einmal vorkommenden Namen eines Google Cloud-Projekts. Der oben angegebene Name ist bereits vergeben und kann leider nicht mehr verwendet werden. Sie wird in diesem Codelab später als PROJECT_ID bezeichnet.

  1. Als Nächstes müssen Sie in der Cloud Console die Abrechnung aktivieren, um Google Cloud-Ressourcen nutzen zu können.

Dieses Codelab sollte möglichst wenig kosten. Folgen Sie der Anleitung im Abschnitt „Bereinigen“, . Hier erfahren Sie, wie Sie Ressourcen herunterfahren, damit Ihnen über dieses Tutorial hinaus keine Kosten entstehen. Neue Google Cloud-Nutzer können an einem kostenlosen Testzeitraum mit 300$Guthaben teilnehmen.

Cloud Shell starten

Sie können das Cloud SDK-Befehlszeilentool zwar über Ihren Laptop aus der Ferne bedienen. In diesem Codelab verwenden Sie jedoch Google Cloud Shell, eine Befehlszeilenumgebung, die in der Cloud ausgeführt wird.

Cloud Shell aktivieren

  1. Klicken Sie in der Cloud Console auf Cloud Shell aktivieren dnDTxS9j60RcXdTjea12HLB9paS9Gzf7PfFLE9RW8g0Qx1bz7nmCzyCu4rjluX3bOEwavOpDwioXEkzOf6xtZp6-ZbJa08jwJqtmeeW8jXtPwxtmeeW8jXt.

yzBQBp2RC1EFvSSLYVkMA2m6LHqGsp22O81rUS5tGb9Y1FqlVhoRj_ka8V_uEjtpcirZRULMy1IjNr848uYvb9mC9RcGGqeayaLcXFfRwUGeXWChZPtWkHzUshTcqx_wJHis0X8viA

Wenn Sie Cloud Shell noch nie gestartet haben, wird ein Zwischenbildschirm (below the fold) angezeigt, in dem beschrieben wird, worum es sich dabei handelt. Klicken Sie in diesem Fall auf Weiter. Der Chat wird nie wieder angezeigt. So sieht dieser einmalige Bildschirm aus:

VgsaqGbKPRiqK24CqAKjSXjepuJT96PmiDqQMcySmWKx8QyW5F3G2D8JH2d08ek-YM77wWKxPvggpOFER8Hbq3aaZipTDU2o0il7A0kS3FXY_MKMKNzu

Die Bereitstellung und Verbindung mit Cloud Shell dauert nur einen Moment.

7RuYr-LCKzdiE1veTFmL_lYrVxsMZ6-xDoxAnfwPPc5uFA0utmFGejvu81jGmTdbqnqxrytW3KcHT6xrMIRc3bskctnDZC5nJdpqw-LRxu3r35hL4A0BSBTtbtirfh3PKv-eOKt8Rg

Diese virtuelle Maschine verfügt über alle Entwicklungstools, die Sie benötigen. Es bietet ein Basisverzeichnis mit 5 GB nichtflüchtigem Speicher und wird in Google Cloud ausgeführt. Dadurch werden die Netzwerkleistung und die Authentifizierung erheblich verbessert. Viele, wenn nicht sogar alle Arbeiten in diesem Codelab können Sie ganz einfach mit einem Browser oder Ihrem Chromebook erledigen.

Sobald Sie mit Cloud Shell verbunden sind, sollten Sie sehen, dass Sie bereits authentifiziert sind und dass das Projekt bereits auf Ihre Projekt-ID eingestellt ist.

  1. Führen Sie in Cloud Shell den folgenden Befehl aus, um zu prüfen, ob Sie authentifiziert sind:
gcloud auth list

Befehlsausgabe

 Credentialed Accounts
ACTIVE  ACCOUNT
*       <my_account>@<my_domain.com>

To set the active account, run:
    $ gcloud config set account `ACCOUNT`
gcloud config list project

Befehlsausgabe

[core]
project = <PROJECT_ID>

Ist dies nicht der Fall, können Sie die Einstellung mit diesem Befehl vornehmen:

gcloud config set project <PROJECT_ID>

Befehlsausgabe

Updated property [core/project].

3. Aktivieren der BigQuery-API

Die BigQuery API sollte in allen Google Cloud-Projekten standardmäßig aktiviert sein. Mit dem folgenden Befehl in Cloud Shell können Sie überprüfen, ob dies der Fall ist:

gcloud services list

Sie sollten BigQuery sehen:

NAME                              TITLE
bigquery-json.googleapis.com      BigQuery API
...

Wenn die BigQuery API nicht aktiviert ist, können Sie sie mit dem folgenden Befehl in Cloud Shell aktivieren:

gcloud services enable bigquery-json.googleapis.com

4. API-Anfragen authentifizieren

Für Anfragen an die BigQuery API benötigen Sie ein Dienstkonto. Ein Dienstkonto gehört zu Ihrem Projekt und wird von der Google BigQuery-Clientbibliothek für Node.js verwendet, um BigQuery API-Anfragen zu senden. Wie jedes andere Nutzerkonto wird auch ein Dienstkonto durch eine E-Mail-Adresse repräsentiert. In diesem Abschnitt verwenden Sie das Cloud SDK, um ein Dienstkonto zu erstellen. Anschließend erstellen Sie Anmeldedaten, die Sie als Dienstkonto authentifizieren müssen.

Legen Sie zuerst eine Umgebungsvariable mit Ihrer PROJECT_ID fest, die Sie in diesem Codelab verwenden werden:

export GOOGLE_CLOUD_PROJECT=$(gcloud config get-value core/project)

Erstellen Sie als Nächstes ein neues Dienstkonto, um mit folgendem Befehl auf die BigQuery API zuzugreifen:

gcloud iam service-accounts create my-bigquery-sa --display-name "my bigquery codelab service account"

Erstellen Sie als Nächstes Anmeldedaten, mit denen Ihr Node.js-Code sich als neues Dienstkonto anmeldet. Erstellen Sie diese Anmeldedaten und speichern Sie sie als JSON-Datei „~/key.json“. indem Sie den folgenden Befehl verwenden:

gcloud iam service-accounts keys create ~/key.json --iam-account  my-bigquery-sa@${GOOGLE_CLOUD_PROJECT}.iam.gserviceaccount.com

Legen Sie schließlich die Umgebungsvariable GOOGLE_APPLICATION_CREDENTIALS fest, die von der C#-Bibliothek der BigQuery API verwendet wird (siehe nächster Schritt), um Ihre Anmeldedaten zu finden. Die Umgebungsvariable sollte auf den vollständigen Pfad der von Ihnen erstellten JSON-Datei mit Anmeldedaten festgelegt werden. Legen Sie die Umgebungsvariable mit dem folgenden Befehl fest:

export GOOGLE_APPLICATION_CREDENTIALS="/home/${USER}/key.json"

Hier finden Sie weitere Informationen zur Authentifizierung der BigQuery API.

5. Zugriffssteuerung einrichten

BigQuery nutzt Identity and Access Management (IAM), um den Zugriff auf Ressourcen zu verwalten. BigQuery verfügt über eine Reihe vordefinierter Rollen (user, dataOwner, dataViewer usw.), die Sie dem im vorherigen Schritt erstellten Dienstkonto zuweisen können. Weitere Informationen zur Zugriffssteuerung finden Sie in der BigQuery-Dokumentation.

Bevor Sie die öffentlichen Datasets abfragen können, müssen Sie sicherstellen, dass das Dienstkonto mindestens die Rolle bigquery.user hat. Führen Sie in Cloud Shell den folgenden Befehl aus, um dem Dienstkonto die Rolle bigquery.user zuzuweisen:

gcloud projects add-iam-policy-binding ${GOOGLE_CLOUD_PROJECT} --member "serviceAccount:my-bigquery-sa@${GOOGLE_CLOUD_PROJECT}.iam.gserviceaccount.com" --role "roles/bigquery.user"

Mit dem folgenden Befehl können Sie prüfen, ob dem Dienstkonto die Nutzerrolle zugewiesen ist:

gcloud projects get-iam-policy $GOOGLE_CLOUD_PROJECT

6. BigQuery-Clientbibliothek für Node.js installieren

Erstellen Sie zuerst den Ordner BigQueryDemo und rufen Sie ihn auf:

mkdir BigQueryDemo
cd BigQueryDemo

Erstellen Sie als Nächstes ein Node.js-Projekt, mit dem Sie Beispiele zur BigQuery-Clientbibliothek ausführen:

npm init -y

Das erstellte Node.js-Projekt sollte angezeigt werden:

{
  "name": "BigQueryDemo",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}

Installieren Sie die BigQuery-Clientbibliothek:

 npm install --save @google-cloud/bigquery
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN BigQueryDemo@1.0.0 No description
npm WARN BigQueryDemo@1.0.0 No repository field.
+ @google-cloud/bigquery@2.1.0
added 69 packages from 105 contributors and audited 147 packages in 4.679s
found 0 vulnerabilities

Jetzt können Sie die Node.js-Clientbibliothek von BigQuery verwenden.

7. Die Werke von Shakespeare abfragen

Ein öffentliches Dataset ist ein Dataset, das in BigQuery gespeichert ist und der Allgemeinheit zugänglich gemacht wird. Es gibt viele weitere öffentliche Datasets, die Sie abfragen können. Einige dieser Datasets werden auch von Google gehostet, viele andere jedoch von Drittanbietern. Weitere Informationen finden Sie auf der Seite Öffentliche Datasets.

Zusätzlich zu den öffentlichen Datasets stellt BigQuery eine begrenzte Anzahl von Beispieltabellen zur Verfügung, die Sie abfragen können. Diese Tabellen sind in bigquery-public-data:samples dataset enthalten. Eine dieser Tabellen heißt shakespeare.. Sie enthält einen Wortindex der Werke von Shakespeare, der angibt, wie oft jedes Wort in jedem Korpus vorkommt.

In diesem Schritt fragen Sie die Shakespeare-Tabelle ab.

Öffnen Sie zuerst oben rechts in Cloud Shell den Code-Editor:

9b8f365ab5ec7f71.png

Erstellen Sie eine queryShakespeare.js-Datei im Ordner BigQueryDemo :

 touch queryShakespeare.js

Gehen Sie zur Datei queryShakespeare.js und fügen Sie den folgenden Code ein:

'use strict';

function main() {

    // Import the Google Cloud client library
    const {BigQuery} = require('@google-cloud/bigquery');

    async function queryShakespeare() {
    // Queries a public Shakespeare dataset.

        // Create a client
        const bigqueryClient = new BigQuery();

        // The SQL query to run
        const sqlQuery = `SELECT word, word_count
            FROM \`bigquery-public-data.samples.shakespeare\`
            WHERE corpus = @corpus
            AND word_count >= @min_word_count
            ORDER BY word_count DESC`;

        const options = {
        query: sqlQuery,
        // Location must match that of the dataset(s) referenced in the query.
        location: 'US',
        params: {corpus: 'romeoandjuliet', min_word_count: 250},
        };

        // Run the query
        const [rows] = await bigqueryClient.query(options);

        console.log('Rows:');
        rows.forEach(row => console.log(row));
    }

    queryShakespeare();
  }

main();

Nehmen Sie sich ein bis zwei Minuten Zeit, um den Code zu untersuchen und zu sehen, wie die Tabelle abgefragt wird.

Führen Sie die Anwendung in Cloud Shell aus:

node queryShakespeare.js

Es sollte eine Liste mit Wörtern und ihrer Vorkommnisse angezeigt werden:

Rows:
{ word: 'the', word_count: 614 }
{ word: 'I', word_count: 577 }
{ word: 'and', word_count: 490 }
{ word: 'to', word_count: 486 }
{ word: 'a', word_count: 407 }
{ word: 'of', word_count: 367 }
{ word: 'my', word_count: 314 }
{ word: 'is', word_count: 307 }
...

8. GitHub-Dataset abfragen

Um sich mit BigQuery besser vertraut zu machen, führen Sie nun eine Abfrage für das öffentliche GitHub-Dataset aus. Die häufigsten Commit-Nachrichten finden Sie auf GitHub. Außerdem verwenden Sie die Web-UI von BigQuery für die Vorschau und Ausführung von Ad-hoc-Abfragen.

Öffnen Sie das GitHub-Dataset in der BigQuery-Web-UI, um die Daten anzusehen:

https://console.cloud.google.com/bigquery?p=bigquery-public-data&amp;d=github_repos&amp;t=commits&amp;page=table

Wenn Sie schnell eine Vorschau der Daten sehen möchten, klicken Sie auf den Tab „Vorschau“:

d3f0dc7400fbe678.png

Erstellen Sie die Datei queryGitHub.js im Ordner BigQueryDemo:

 touch queryGitHub.js

Gehen Sie zur Datei queryGitHub.js und fügen Sie den folgenden Code ein:

'use strict';

function main() {

    // Import the Google Cloud client library
    const {BigQuery} = require('@google-cloud/bigquery');


    async function queryGitHub() {
        // Queries a public GitHub dataset.

        // Create a client
        const bigqueryClient = new BigQuery();

        // The SQL query to run
        const sqlQuery = `SELECT subject AS subject, COUNT(*) AS num_duplicates
        FROM \`bigquery-public-data.github_repos.commits\`
        GROUP BY subject 
        ORDER BY num_duplicates 
        DESC LIMIT 10`;

        const options = {
        query: sqlQuery,
        // Location must match that of the dataset(s) referenced in the query.
        location: 'US',
        };

        // Run the query
        const [rows] = await bigqueryClient.query(options);

        console.log('Rows:');
        rows.forEach(row => console.log(`${row.subject}: ${row.num_duplicates}`));
    }
    
    queryGitHub();
}

main();

Nehmen Sie sich ein bis zwei Minuten Zeit, um sich den Code anzusehen und zu sehen, wie die Tabelle nach den häufigsten Commit-Nachrichten abgefragt wird.

Führen Sie die Anwendung in Cloud Shell aus:

node queryGitHub.js

Es sollte eine Liste der Commit-Nachrichten und deren Vorkommen angezeigt werden:

Rows:
Update README.md: 2572220
: 1985733
Initial commit: 1940228
Mirroring from Micro.blog.: 646772
update: 592520
Update data.json: 548730
Update data.js: 548354
...

9. Caching und Statistiken

Wenn Sie eine Abfrage ausführen, speichert BigQuery die Ergebnisse im Cache. Dadurch benötigen nachfolgende identische Abfragen viel weniger Zeit. Es ist möglich, das Caching mithilfe der Abfrageoptionen zu deaktivieren. BigQuery verfolgt auch einige Statistiken zu den Abfragen, wie z. B. die Erstellungszeit, die Endzeit und die Gesamtzahl der verarbeiteten Byte.

In diesem Schritt deaktivieren Sie das Caching und zeigen einige Statistiken zu den Abfragen an.

Gehen Sie zur Datei queryShakespeare.js im Ordner BigQueryDemo und ersetzen Sie den Code durch folgenden Code:

'use strict';

function main() {

    // Import the Google Cloud client library
    const {BigQuery} = require('@google-cloud/bigquery');

    async function queryShakespeareDisableCache() {
        // Queries the Shakespeare dataset with the cache disabled.

        // Create a client
        const bigqueryClient = new BigQuery();

        const sqlQuery = `SELECT word, word_count
            FROM \`bigquery-public-data.samples.shakespeare\`
            WHERE corpus = @corpus
            AND word_count >= @min_word_count
            ORDER BY word_count DESC`;

        const options = {
            query: sqlQuery,
            // Location must match that of the dataset(s) referenced in the query.
            location: 'US',
            params: {corpus: 'romeoandjuliet', min_word_count: 250},
            useQueryCache: false,
        };

        // Run the query as a job
        const [job] = await bigqueryClient.createQueryJob(options);
        console.log(`Job ${job.id} started.`);

        // Wait for the query to finish
        const [rows] = await job.getQueryResults();

        // Print the results
        console.log('Rows:');
        rows.forEach(row => console.log(row));

        // Print job statistics
        console.log('JOB STATISTICS:')
        console.log(`Status: ${job.metadata.status.state}`);
        console.log(`Creation time: ${job.metadata.statistics.creationTime}`);
        console.log(`Start time: ${job.metadata.statistics.startTime}`);
        console.log(`Statement type: ${job.metadata.statistics.query.statementType}`);
    }
    queryShakespeareDisableCache();
}

main();

Wichtige Hinweise zum Code. Zuerst wird das Caching deaktiviert, indem UseQueryCache im Objekt options auf false gesetzt wird. Zweitens haben Sie über das Jobobjekt auf die Statistiken zur Abfrage zugegriffen.

Führen Sie die Anwendung in Cloud Shell aus:

node queryShakespeare.js

Es sollte eine Liste der Commit-Nachrichten und deren Vorkommen angezeigt werden. Außerdem sollten einige Statistiken zur Abfrage angezeigt werden:

Rows:
{ word: 'the', word_count: 614 }
{ word: 'I', word_count: 577 }
{ word: 'and', word_count: 490 }
{ word: 'to', word_count: 486 }
{ word: 'a', word_count: 407 }
{ word: 'of', word_count: 367 }
{ word: 'my', word_count: 314 }
{ word: 'is', word_count: 307 }
{ word: 'in', word_count: 291 }
{ word: 'you', word_count: 271 }
{ word: 'that', word_count: 270 }
{ word: 'me', word_count: 263 }
JOB STATISTICS:
Status: RUNNING
Creation time: 1554309220660
Start time: 1554309220793
Statement type: SELECT

10. Daten in BigQuery laden

Wenn Sie Ihre eigenen Daten abfragen möchten, müssen Sie diese zuerst in BigQuery laden. BigQuery unterstützt das Laden von Daten aus vielen Quellen wie Google Cloud Storage, anderen Google-Diensten oder einer lokalen, lesbaren Quelle. Sie können sogar Ihre Daten streamen. Weitere Informationen finden Sie auf der Seite Daten in BigQuery laden.

In diesem Schritt laden Sie eine in Google Cloud Storage gespeicherte JSON-Datei in eine BigQuery-Tabelle. Die JSON-Datei befindet sich unter gs://cloud-samples-data/bigquery/us-states/us-states.json.

Wenn Sie mehr über den Inhalt der JSON-Datei erfahren möchten, können Sie das gsutil-Befehlszeilentool verwenden, um sie in Cloud Shell herunterzuladen:

gsutil cp gs://cloud-samples-data/bigquery/us-states/us-states.json .
Copying gs://cloud-samples-data/bigquery/us-states/us-states.json...
/ [1 files][  2.0 KiB/  2.0 KiB]                                                
Operation completed over 1 objects/2.0 KiB.

Wie Sie sehen, enthält er die Liste der US-Bundesstaaten und jeder Bundesstaat ist ein JSON-Objekt in einer separaten Zeile:

less us-states.json
{"name": "Alabama", "post_abbr": "AL"}
{"name": "Alaska", "post_abbr":  "AK"}
...

Um diese JSON-Datei in BigQuery zu laden, erstellen Sie im Ordner BigQueryDemo die Dateien createDataset.js und loadBigQueryJSON.js:

touch createDataset.js 
touch loadBigQueryJSON.js

Installieren Sie die Node.js-Clientbibliothek von Google Cloud Storage:

 npm install --save @google-cloud/storage

Gehen Sie zur Datei createDataset.js und fügen Sie den folgenden Code ein:

'use strict';

function main() {
    // Import the Google Cloud client libraries
    const {BigQuery} = require('@google-cloud/bigquery');

    async function createDataset() {
        const datasetId = "my_states_dataset3";

        const bigqueryClient = new BigQuery();

        // Specify the geographic location where the dataset should reside
        const options = {
        location: 'US',
        };

        // Create a new dataset
        const [dataset] = await bigqueryClient.createDataset(datasetId, options);
        console.log(`Dataset ${dataset.id} created.`);
    }

    createDataset();
}

main();

Gehen Sie dann zur Datei loadBigQueryJSON.js und fügen Sie den folgenden Code ein:

'use strict';

function main() {
    // Import the Google Cloud client libraries
    const {BigQuery} = require('@google-cloud/bigquery');
    const {Storage} = require('@google-cloud/storage');

    const datasetId = "my_states_dataset3";
    const tableId = "my_states_table";


    async function createTable(datasetId, tableId) {
        // Creates a new table

        // Create a client
        const bigqueryClient = new BigQuery();

        const options = {
            location: 'US',
            };

        // Create a new table in the dataset
        const [table] = await bigqueryClient
        .dataset(datasetId)
        .createTable(tableId, options);

        console.log(`Table ${table.id} created.`);
    }

    async function loadJSONFromGCS(datasetId, tableId) {
        // Import a GCS file into a table with manually defined schema.

        // Instantiate clients
        const bigqueryClient = new BigQuery();
        const storageClient = new Storage();

        const bucketName = 'cloud-samples-data';
        const filename = 'bigquery/us-states/us-states.json';

        // Configure the load job.
        const metadata = {
        sourceFormat: 'NEWLINE_DELIMITED_JSON',
        schema: {
            fields: [
            {name: 'name', type: 'STRING'},
            {name: 'post_abbr', type: 'STRING'},
            ],
        },
        location: 'US',
        };

        // Load data from a Google Cloud Storage file into the table
        const [job] = await bigqueryClient
        .dataset(datasetId)
        .table(tableId)
        .load(storageClient.bucket(bucketName).file(filename), metadata);

        // load() waits for the job to finish
        console.log(`Job ${job.id} completed.`);

        // Check the job's status for errors
        const errors = job.status.errors;
        if (errors && errors.length > 0) {
        throw errors;
        }
    }

    // createDataset(datasetId);
    createTable(datasetId, tableId);
    loadJSONFromGCS(datasetId, tableId);
}

main();

Nehmen Sie sich ein bis zwei Minuten Zeit, um zu sehen, wie der Code die JSON-Datei lädt und eine Tabelle (mit einem Schema) in einem Dataset erstellt.

Führen Sie die Anwendung in Cloud Shell aus:

node createDataset.js
node loadBigQueryJSON.js

In BigQuery werden ein Dataset und eine Tabelle erstellt:

Table my_states_table created.
Job [JOB ID] completed.

Um zu prüfen, ob das Dataset erstellt wurde, können Sie die BigQuery-Web-UI aufrufen. Sie sollten ein neues Dataset und eine Tabelle sehen. Wenn Sie zum Tab „Vorschau“ der Tabelle wechseln, sehen Sie die tatsächlichen Daten:

4fb7296ae901e8fd.png

11. Glückwunsch!

Sie haben gelernt, wie BigQuery mit Node.js verwendet wird.

Bereinigen

So vermeiden Sie, dass Ihr Google Cloud Platform-Konto für die in diesem Schnellstart verwendeten Ressourcen belastet wird:

  • Rufen Sie die Cloud Platform Console auf.
  • Wählen Sie das Projekt aus, das Sie beenden möchten, und klicken Sie auf „Löschen“. oben: Dadurch wird das Projekt zum Löschen vorgemerkt.

Weitere Informationen

Lizenz

Dieser Text ist mit einer Creative Commons Attribution 2.0 Generic License lizenziert.