Öffentliches Dataset mit der PHP-Clientbibliothek von BigQuery abfragen

Öffentliches Dataset mit der PHP-Clientbibliothek von BigQuery abfragen

Sie erfahren, wie Sie:

  1. Cloud Shell in einem Google Cloud Projekt aktivieren
  2. Den Cloud Shell-Editor öffnen
  3. Dateien für Abfragen vorbereiten
  4. Ein öffentliches Dataset in BigQuery abfragen
  5. Bereinigen

Geschätzte Dauer:

Klicken Sie auf Start, um zu beginnen.

Cloud Shell in einem Google Cloud Projekt aktivieren

  1. Wenn Sie die Abrechnung für ein Projekt nicht aktivieren, arbeiten Sie automatisch in der BigQuery-Sandbox. Mit der BigQuery-Sandbox können Sie BigQuery mit einer begrenzten Anzahl von BigQuery-Features kostenlos nutzen. Wenn Sie nicht vorhaben, Ihr Projekt über dieses Dokument hinaus zu verwenden, empfehlen wir die Verwendung der BigQuery-Sandbox.

  2. Klicken Sie auf Cloud Shell aktivieren. Einblenden

Klicken Sie auf Weiter, um zu erfahren, wie Sie den Cloud Shell-Editor öffnen.

Cloud Shell-Editor öffnen

  1. Erstellen Sie in Cloud Shell ein neues PHP-Projekt und eine neue Datei:

    mkdir bigquery-php-quickstart \
        && touch \
        bigquery-php-quickstart/app.php
    

    Durch diesen Befehl wird ein PHP-Projekt mit dem Namen bigquery-php-quickstart und eine Datei mit dem Namen app.php erstellt.

  2. Öffnen Sie den Cloud Shell-Editor.

    cloudshell workspace bigquery-php-quickstart
    

Klicken Sie auf Weiter, um zu erfahren, wie Sie Dateien für Abfragen vorbereiten.

Dateien für Abfragen vorbereiten

  1. Klicken Sie zum Öffnen eines Terminals im Cloud Shell-Editor auf Terminal öffnen.

  2. Öffnen Sie das Projektverzeichnis:

    cd bigquery-php-quickstart
    
  3. Installieren Sie die BigQuery-Clientbibliothek für PHP:

    composer require google/cloud-bigquery
    

    Die entsprechende Ausgabe sieht etwa so aus: Einige Zeilen werden ausgelassen, um die Ausgabe zu vereinfachen.

    Running composer update google/cloud-bigquery
    Loading composer repositories with package information
    Updating dependencies
    ...
    No security vulnerability advisories found
    Using version ^1.24 for google/cloud-bigquery
    

Klicken Sie auf Weiter, um zu erfahren, wie Sie ein öffentliches Dataset in BigQuery abfragen.

Öffentliches Dataset in BigQuery abfragen

  1. Klicken Sie auf Editor öffnen.

  2. Suchen Sie im Bereich Explorer das Projekt BIGQUERY-PHP-QUICKSTART.

  3. Klicken Sie auf die Datei app.php, um sie zu öffnen.

  4. Wenn Sie eine Abfrage für das Dataset bigquery-public-data.stackoverflow erstellen möchten, die die zehn am häufigsten aufgerufenen Stack Overflow-Seiten und deren Aufrufzahlen zurückgibt, kopieren Sie den folgenden Code in die Datei app.php:

    <?php
    # ...
    
    require __DIR__ . '/vendor/autoload.php';
    
    use Google\Cloud\BigQuery\BigQueryClient;
    
    
    $bigQuery = new BigQueryClient();
    $query = <<<ENDSQL
    SELECT
      CONCAT(
        'https://stackoverflow.com/questions/',
        CAST(id as STRING)) as url,
      view_count
    FROM `bigquery-public-data.stackoverflow.posts_questions`
    WHERE tags like '%google-bigquery%'
    ORDER BY view_count DESC
    LIMIT 10;
    ENDSQL;
    $queryJobConfig = $bigQuery->query($query);
    $queryResults = $bigQuery->runQuery($queryJobConfig);
    
    if ($queryResults->isComplete()) {
        $i = 0;
        $rows = $queryResults->rows();
        foreach ($rows as $row) {
            printf('--- Row %s ---' . PHP_EOL, ++$i);
            printf('url: %s, %s views' . PHP_EOL, $row['url'], $row['view_count']);
        }
        printf('Found %s row(s)' . PHP_EOL, $i);
    } else {
        throw new Exception('The query failed to complete');
    }

  5. Klicken Sie auf Terminal öffnen.

  6. Führen Sie im Terminal das Skript app.php aus. Wenn Sie zur Autorisierung von Cloud Shell aufgefordert werden und den Bedingungen zustimmen, klicken Sie auf Autorisieren.

    php app.php
    

    Das Ergebnis sieht etwa so aus:

    --- Row 1 ---
    url: https://stackoverflow.com/questions/35159967, 170023 views
    --- Row 2 ---
    url: https://stackoverflow.com/questions/22879669, 142581 views
    --- Row 3 ---
    url: https://stackoverflow.com/questions/10604135, 132406 views
    --- Row 4 ---
    url: https://stackoverflow.com/questions/44564887, 128781 views
    --- Row 5 ---
    url: https://stackoverflow.com/questions/27060396, 127008 views
    --- Row 6 ---
    url: https://stackoverflow.com/questions/12482637, 120766 views
    --- Row 7 ---
    url: https://stackoverflow.com/questions/20673986, 115720 views
    --- Row 8 ---
    url: https://stackoverflow.com/questions/39109817, 108368 views
    --- Row 9 ---
    url: https://stackoverflow.com/questions/11057219, 105175 views
    --- Row 10 ---
    url: https://stackoverflow.com/questions/43195143, 101878 views
    Found 10 row(s)
    

Sie haben erfolgreich ein öffentliches Dataset mit der PHP-Clientbibliothek von BigQuery abgefragt.

Klicken Sie auf Weiter, um zu verhindern, dass Ihrem Konto Gebühren in Rechnung gestellt werden, und um Informationen zu den nächsten Schritten zu erhalten.

Nächste Schritte

Behalten Sie die von Ihnen erstellten Ressourcen und nutzen Sie sie für weitere Aufgaben mit BigQuery oder bereinigen Sie sie, um Gebühren zu vermeiden.

Mehr Möglichkeiten mit BigQuery

Bereinigen

Damit Ihrem Google Cloud Konto keine Gebühren in Rechnung gestellt werden, sollten Sie entweder Ihr Google Cloud Projekt oder die in dieser Schritt-für-Schritt-Anleitung erstellten Ressourcen löschen.

Projekt löschen

Wenn Sie ein neues Projekt erstellt haben, um mehr über BigQuery zu erfahren, und Sie das Projekt nicht mehr benötigen, löschen Sie es. Beachten Sie, dass beim Löschen eines Projekts alle Inhalte darin gelöscht werden und benutzerdefinierte Projekt-IDs verloren gehen.

Ressourcen löschen

Wenn Sie ein vorhandenes Projekt verwendet haben, löschen Sie den erstellten Ordner bigquery-php-quickstart:

  1. Wechseln Sie in Cloud Shell ein Verzeichnis nach oben:

    cd ..
    
  2. Löschen Sie die erstellten Ressourcen:

    rm -R bigquery-php-quickstart
    

    Mit dem Flag -R werden alle Assets in einem Ordner gelöscht.