Consultar um conjunto de dados público com a biblioteca de cliente Node.js do BigQuery

Consultar um conjunto de dados público com a biblioteca de cliente Node.js do BigQuery

Você vai aprender a:

  1. Ativar o Cloud Shell em um projeto do Google Cloud .
  2. Abrir o editor do Cloud Shell.
  3. Preparar arquivos para consultas.
  4. Consultar um conjunto de dados público no BigQuery.
  5. Fazer a limpeza.

Tempo estimado para a conclusão:

Clique em Iniciar para começar.

Ativar o Cloud Shell em um projeto do Google Cloud

  1. Se você não ativar o faturamento de um projeto, vai trabalhar automaticamente no sandbox do BigQuery. No sandbox do BigQuery, você aprende a usar o BigQuery com um conjunto limitado de recursos sem custos financeiros. Se você não planeja usar o projeto fora deste documento, recomendamos utilizar o sandbox do BigQuery.

  2. Clique em Ativar o Cloud Shell. Mostre

Para saber como abrir o editor do Cloud Shell, clique em Próximo.

Abrir o Editor do Cloud Shell

  1. No Cloud Shell, crie um projeto e um arquivo do Node.js:

    mkdir bigquery-node-quickstart \
        && touch \
        bigquery-node-quickstart/app.js
    

    Esse comando cria um projeto do Node.js chamado bigquery-node-quickstart e um arquivo chamado app.js.

  2. Abra o editor do Cloud Shell:

    cloudshell workspace bigquery-node-quickstart
    

Para saber como preparar arquivos para consultas, clique em Próximo.

Preparar arquivos para consultas

  1. Para abrir um terminal no editor do Cloud Shell, clique em Abrir terminal.

  2. Abra o diretório do projeto:

    cd bigquery-node-quickstart
    
  3. Instale a biblioteca de cliente Node.js do BigQuery:

    npm install @google-cloud/bigquery
    

    O resultado será assim:

    added 63 packages in 2s
    

Para saber como consultar um conjunto de dados público no BigQuery, clique em Próximo.

Consulte um conjunto de dados público no BigQuery

  1. Clique em Abrir editor.

  2. No painel Explorador, localize o projeto BIGQUERY-NODE-QUICKSTART.

  3. Clique no arquivo app.js para abri-lo.

  4. Para criar uma consulta no conjunto de dados bigquery-public-data.stackoverflow que retorna as 10 páginas mais visualizadas do Stack Overflow e o número de visualizações, copie o código a seguir para o arquivo app.js:

    // Import the Google Cloud client library
    const {BigQuery} = require('@google-cloud/bigquery');
    
    async function queryStackOverflow() {
      // Queries a public Stack Overflow dataset.
    
      // Create a client
      const bigqueryClient = new BigQuery();
    
      // The SQL query to run
      const sqlQuery = `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`;
    
      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('Query Results:');
      rows.forEach(row => {
        const url = row['url'];
        const viewCount = row['view_count'];
        console.log(`url: ${url}, ${viewCount} views`);
      });
    }
    queryStackOverflow();

  5. Clique em Abrir terminal.

  6. No terminal, execute o script app.js. Se for necessário autorizar o Cloud Shell e concordar com os termos, clique em Autorizar.

    node app.js
    

    O resultado será semelhante ao seguinte:

    Query Results:
    url: https://stackoverflow.com/questions/35159967, 170023 views
    url: https://stackoverflow.com/questions/22879669, 142581 views
    url: https://stackoverflow.com/questions/10604135, 132406 views
    url: https://stackoverflow.com/questions/44564887, 128781 views
    url: https://stackoverflow.com/questions/27060396, 127008 views
    url: https://stackoverflow.com/questions/12482637, 120766 views
    url: https://stackoverflow.com/questions/20673986, 115720 views
    url: https://stackoverflow.com/questions/39109817, 108368 views
    url: https://stackoverflow.com/questions/11057219, 105175 views
    url: https://stackoverflow.com/questions/43195143, 101878 views
    

Você consultou um conjunto de dados público com a biblioteca de cliente em Node.js do BigQuery.

Para evitar cobranças na conta e saber quais são as próximas etapas, clique em Próxima.

Próximas etapas

Mantenha os recursos criados e aproveite ainda mais o BigQuery ou faça uma limpeza para evitar cobranças de faturamento.

Faça mais com o BigQuery

Limpar

Para evitar cobranças na sua conta do Google Cloud , exclua o projeto do Google Cloud ou os recursos criados neste tutorial.

Excluir o projeto

Se você criou um projeto para aprender sobre o BigQuery e não precisa mais dele, pode excluí-lo. Lembre-se de que a exclusão de um projeto exclui tudo o que está contido nele. Além disso, os IDs dos projetos personalizados são perdidos.

Excluir os recursos

Se você usou um projeto atual, exclua a pasta bigquery-node-quickstart que você criou:

  1. No Cloud Shell, mova um diretório para cima:

    cd ..
    
  2. Exclua os recursos que você criou:

    rm -R bigquery-node-quickstart
    

    A flag -R exclui todos os recursos de uma pasta.