Tworzenie zapytania do publicznego zbioru danych za pomocą biblioteki klienta BigQuery w Node.js

Tworzenie zapytania do publicznego zbioru danych za pomocą biblioteki klienta BigQuery w Node.js

Dowiedz się, jak:

  1. Aktywować Cloud Shell w projekcie Google Cloud
  2. Otworzyć edytor Cloud Shell
  3. Przygotować pliki na potrzeby zapytań
  4. Wysłać zapytanie do publicznego zbioru danych w BigQuery
  5. Wyczyścić dane.

Szacowany czas potrzebny na ukończenie samouczka:

Aby zacząć, kliknij Rozpocznij.

Aktywowanie Cloud Shell w projekcie Google Cloud

  1. Jeśli nie włączysz płatności w projekcie, będziesz automatycznie pracować w trybie piaskownicy BigQuery. Tryb piaskownicy BigQuery pozwala bezpłatnie poznawać BigQuery z ograniczonym zestawem funkcji. Jeśli nie zamierzasz korzystać z projektu poza tym dokumentem, zalecamy korzystanie z trybu piaskownicy BigQuery.

  2. Kliknij Aktywuj Cloud Shell. Pokaż mi

Aby dowiedzieć się, jak otworzyć edytor Cloud Shell, kliknij Dalej.

Otwieranie edytora Cloud Shell

  1. Utwórz w Cloud Shell nowy projekt i plik Node.js:

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

    To polecenie tworzy projekt Node.js o nazwie bigquery-node-quickstart oraz plik o nazwie app.js.

  2. Otwórz edytor Cloud Shell:

    cloudshell workspace bigquery-node-quickstart
    

Aby dowiedzieć się, jak przygotować pliki na potrzeby zapytań, kliknij Dalej.

Przygotowywanie plików na potrzeby zapytań

  1. Aby otworzyć terminal w edytorze Cloud Shell, kliknij Otwórz terminal.

  2. Otwórz katalog projektu:

    cd bigquery-node-quickstart
    
  3. Zainstaluj bibliotekę klienta BigQuery dla Node.js:

    npm install @google-cloud/bigquery
    

    Dane wyjściowe są podobne do tych:

    added 63 packages in 2s
    

Aby dowiedzieć się, jak wysłać zapytanie do publicznego zbioru danych w BigQuery, kliknij Dalej.

Wysyłanie zapytania do publicznego zbioru danych w BigQuery

  1. Kliknij Otwórz edytor.

  2. W panelu eksploratora znajdź projekt BIGQUERY-NODE-QUICKSTART.

  3. Kliknij plik app.js, aby go otworzyć.

  4. Aby utworzyć zapytanie do zbioru danych bigquery-public-data.stackoverflow, które zwraca 10 najczęściej wyświetlanych stron Stack Overflow oraz liczbę ich wyświetleń, skopiuj do pliku app.js ten kod:

    // 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. Kliknij Otwórz terminal.

  6. W terminalu uruchom skrypt app.js. Jeśli pojawi się prośba o autoryzację Cloud Shell i zaakceptowanie warunków, kliknij Autoryzuj.

    node app.js
    

    Będą podobne do tych:

    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
    

Udało Ci się wykonać zapytanie na publicznym zbiorze danych za pomocą biblioteki klienta BigQuery w Node.js.

Aby uniknąć obciążenia konta opłatami i zapoznać się z kolejnymi krokami, kliknij Dalej.

Dalsze kroki

Zachowaj utworzone zasoby i wykonaj więcej czynności w BigQuery lub wyczyść dane, aby uniknąć opłat.

Do czego jeszcze można wykorzystać BigQuery

Czyszczenie danych

Aby uniknąć obciążenia konta Google Cloud opłatami, usuń projekt Google Cloud lub zasoby utworzone w tym przewodniku.

Usuwanie projektu

Jeśli do nauki obsługi BigQuery posłużył Ci nowy, specjalnie utworzony projekt, którego już nie potrzebujesz, możesz go usunąć. Pamiętaj, że usunięcie projektu spowoduje usunięcie całej jego zawartości i niestandardowych identyfikatorów projektu.

Usuwanie zasobów

Jeśli użyłeś(-aś) istniejącego projektu, usuń utworzony folder bigquery-node-quickstart:

  1. W Cloud Shell przejdź do katalogu wyżej:

    cd ..
    
  2. Usuń utworzone zasoby:

    rm -R bigquery-node-quickstart
    

    Flaga -R usuwa wszystkie zasoby w danym folderze.