Esegui una query su un set di dati pubblico con la libreria client PHP di BigQuery

Esegui una query su un set di dati pubblico con la libreria client PHP di BigQuery

Scopri come:

  1. Attivare Cloud Shell in un progetto Google Cloud .
  2. Aprire l'editor di Cloud Shell.
  3. Preparare i file per le query.
  4. Eseguire una query su un set di dati pubblico in BigQuery.
  5. Eseguire la pulizia.

Tempo stimato per il completamento:

Fai clic su Avvia per iniziare.

Attiva Cloud Shell in un progetto Google Cloud

  1. Se non abiliti la fatturazione per un progetto, utilizzi automaticamente la sandbox di BigQuery. La sandbox di BigQuery ti consente di scoprire BigQuery con un set limitato di funzionalità BigQuery senza costi aggiuntivi. Se non prevedi di utilizzare il progetto in altri contesti, ti consigliamo di utilizzare la sandbox di BigQuery.

  2. Fai clic su Attiva Cloud Shell. Procedura

Per scoprire come aprire l'editor di Cloud Shell, fai clic su Avanti.

Apri l'editor di Cloud Shell

  1. In Cloud Shell, crea un nuovo progetto e un nuovo file PHP:

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

    Questo comando crea un progetto PHP denominato bigquery-php-quickstart e un file denominato app.php.

  2. Apri l'editor di Cloud Shell:

    cloudshell workspace bigquery-php-quickstart
    

Per scoprire come preparare i file per le query, fai clic su Avanti.

Prepara i file per le query

  1. Per aprire un terminale nell'editor di Cloud Shell, fai clic su Apri terminale.

  2. Apri la directory del progetto:

    cd bigquery-php-quickstart
    
  3. Installa la libreria client di BigQuery per PHP:

    composer require google/cloud-bigquery
    

    L'output è simile al seguente. Non sono visualizzate varie righe per semplificare l'output.

    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
    

Per scoprire come eseguire query su un set di dati pubblico in BigQuery, fai clic su Avanti.

Esegui una query su un set di dati pubblico in BigQuery

  1. Fai clic su Apri editor.

  2. Nel riquadro Explorer, individua il progetto BIGQUERY-PHP-QUICKSTART.

  3. Fai clic sul file app.php per aprirlo.

  4. Per creare una query sul set di dati bigquery-public-data.stackoverflow che restituisce le prime 10 pagine di Stack Overflow più visualizzate e il rispettivo numero di visualizzazioni, copia il seguente codice nel file 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. Fai clic su Apri terminale.

  6. Nel terminale, esegui lo script app.php. Se ti viene chiesto di autorizzare Cloud Shell e di accettare i termini, fai clic su Autorizza.

    php app.php
    

    Il risultato è simile al seguente:

    --- 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)
    

Hai eseguito una query su un set di dati pubblico con la libreria client PHP di BigQuery.

Per evitare che al tuo account vengano addebitati costi e per ottenere informazioni sui passaggi successivi, fai clic su Avanti.

Passaggi successivi

Conserva le risorse che hai creato e ottieni il massimo da BigQuery oppure esegui la pulizia per evitare addebiti.

Ottieni il massimo da BigQuery

Esegui la pulizia

Per evitare che al tuo account Google Cloud vengano addebitati costi, elimina il progetto Google Cloud o le risorse che hai creato in questa procedura dettagliata.

Elimina il progetto

Se hai creato un nuovo progetto per prendere dimestichezza con BigQuery, ma non ne hai più bisogno, eliminalo. Tieni presente che l'eliminazione di un progetto comporta l'eliminazione di tutti i dati del progetto e gli ID progetto personalizzati andranno persi.

Elimina le risorse

Se hai utilizzato un progetto esistente, elimina la cartella bigquery-php-quickstart che hai creato:

  1. In Cloud Shell, sali di un livello nella directory:

    cd ..
    
  2. Elimina le risorse che hai creato:

    rm -R bigquery-php-quickstart
    

    Il flag -R elimina tutti gli asset in una cartella.