BigQuery 클라이언트 라이브러리로 공개 데이터 세트 쿼리
BigQuery 클라이언트 라이브러리를 사용하여 공개 데이터 세트를 쿼리하는 방법을 알아봅니다.
Google Cloud 콘솔에서 이 태스크에 대한 단계별 안내를 직접 수행하려면 원하는 프로그래밍 언어를 선택합니다.
시작하기 전에
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
BigQuery 샌드박스를 무료로 사용할지 아니면 Google Cloud 프로젝트에 결제를 사용 설정할지 선택합니다.
프로젝트에 결제를 사용 설정하지 않으면 자동으로 BigQuery 샌드박스에서 작업합니다. BigQuery 샌드박스를 사용하면 제한된 BigQuery 기능으로 BigQuery를 무료로 학습할 수 있습니다. 이 문서를 벗어나서 프로젝트를 사용할 계획이 없으면 BigQuery 샌드박스를 사용하는 것이 좋습니다.
-
Enable the BigQuery API.
새 프로젝트에서는 BigQuery API가 자동으로 사용 설정됩니다.
-
In the Google Cloud console, activate Cloud Shell.
Cloud Shell에서 Google Cloud 프로젝트를 활성화합니다.
gcloud config set project PROJECT_ID
PROJECT_ID를 이 둘러보기에서 선택한 프로젝트로 바꿉니다.
출력은 다음과 비슷합니다.
Updated property [core/project].
공개 데이터 세트 쿼리하기
다음 언어 중 하나를 선택합니다.
C#
Cloud Shell에서 새 C# 프로젝트 및 파일을 만듭니다.
dotnet new console -n BigQueryCsharpDemo
출력은 다음과 비슷합니다. 출력을 간소화하기 위해 여러 줄을 생략합니다.
Welcome to .NET 6.0! --------------------- SDK Version: 6.0.407 ... The template "Console App" was created successfully. ...
이 명령어는
BigQueryCsharpDemo
라는 C# 프로젝트와Program.cs
라는 파일을 만듭니다.Cloud Shell 편집기를 엽니다.
cloudshell workspace BigQueryCsharpDemo
Cloud Shell 편집기에서 터미널을 열려면 터미널 열기를 클릭합니다.
프로젝트 디렉터리를 엽니다.
cd BigQueryCsharpDemo
C#용 BigQuery 클라이언트 라이브러리를 설치합니다.
dotnet add package Google.Cloud.BigQuery.V2
출력은 다음과 비슷합니다. 출력을 간소화하기 위해 여러 줄을 생략합니다.
Determining projects to restore... Writing /tmp/tmpF7EKSd.tmp ... info : Writing assets file to disk. ...
GOOGLE_PROJECT_ID
변수를GOOGLE_CLOUD_PROJECT
값으로 설정하고 변수를 내보냅니다.export GOOGLE_PROJECT_ID=$GOOGLE_CLOUD_PROJECT
편집기 열기를 클릭합니다.
탐색기 창에서
BIGQUERYCSHARPDEMO
프로젝트를 찾습니다.Program.cs
파일을 클릭하여 엽니다.가장 많이 조회된 Stack Overflow 페이지 10개와 해당 조회 수를 반환하는
bigquery-public-data.stackoverflow
데이터 세트에 대한 쿼리를 만들려면 파일의 콘텐츠를 다음 코드로 바꿉니다.터미널 열기를 클릭합니다.
터미널에서
Program.cs
스크립트를 실행합니다. Cloud Shell을 승인하고 약관에 동의하라는 메시지가 표시되면 승인을 클릭합니다.dotnet run
결과는 다음과 비슷합니다.
Query Results: ------------ https://stackoverflow.com/questions/35159967: 170023 views https://stackoverflow.com/questions/22879669: 142581 views https://stackoverflow.com/questions/10604135: 132406 views https://stackoverflow.com/questions/44564887: 128781 views https://stackoverflow.com/questions/27060396: 127008 views https://stackoverflow.com/questions/12482637: 120766 views https://stackoverflow.com/questions/20673986: 115720 views https://stackoverflow.com/questions/39109817: 108368 views https://stackoverflow.com/questions/11057219: 105175 views https://stackoverflow.com/questions/43195143: 101878 views
BigQuery C# 클라이언트 라이브러리를 사용하여 공개 데이터 세트를 쿼리했습니다.
Go
Cloud Shell에서 새 Go 프로젝트 및 파일을 만듭니다.
mkdir bigquery-go-quickstart \ && touch \ bigquery-go-quickstart/app.go
이 명령어는
bigquery-go-quickstart
라는 Go 프로젝트와app.go
라는 파일을 만듭니다.Cloud Shell 편집기를 엽니다.
cloudshell workspace bigquery-go-quickstart
Cloud Shell 편집기에서 터미널을 열려면 터미널 열기를 클릭합니다.
프로젝트 디렉터리를 엽니다.
cd bigquery-go-quickstart
go.mod
파일을 만듭니다.go mod init quickstart
출력은 다음과 비슷합니다.
go: creating new go.mod: module quickstart go: to add module requirements and sums: go mod tidy
Go용 BigQuery 클라이언트 라이브러리를 설치합니다.
go get cloud.google.com/go/bigquery
출력은 다음과 비슷합니다. 출력을 간소화하기 위해 여러 줄을 생략합니다.
go: downloading cloud.google.com/go/bigquery v1.49.0 go: downloading cloud.google.com/go v0.110.0 ... go: added cloud.google.com/go/bigquery v1.49.0 go: added cloud.google.com/go v0.110.0
편집기 열기를 클릭합니다.
탐색기 창에서
BIGQUERY-GO-QUICKSTART
프로젝트를 찾습니다.app.go
파일을 클릭하여 엽니다.가장 많이 조회된 Stack Overflow 페이지 10개와 해당 조회 수를 반환하는
bigquery-public-data.stackoverflow
데이터 세트에 대한 쿼리를 만들려면 다음 코드를app.go
파일에 복사합니다.터미널 열기를 클릭합니다.
터미널에서
app.go
스크립트를 실행합니다. Cloud Shell을 승인하고 약관에 동의하라는 메시지가 표시되면 승인을 클릭합니다.go run app.go
결과는 다음과 비슷합니다.
https://stackoverflow.com/questions/35159967 : 170023 views https://stackoverflow.com/questions/22879669 : 142581 views https://stackoverflow.com/questions/10604135 : 132406 views https://stackoverflow.com/questions/44564887 : 128781 views https://stackoverflow.com/questions/27060396 : 127008 views https://stackoverflow.com/questions/12482637 : 120766 views https://stackoverflow.com/questions/20673986 : 115720 views https://stackoverflow.com/questions/39109817 : 108368 views https://stackoverflow.com/questions/11057219 : 105175 views https://stackoverflow.com/questions/43195143 : 101878 views
BigQuery Go 클라이언트 라이브러리를 사용하여 공개 데이터 세트를 쿼리했습니다.
자바
Cloud Shell에서 Apache Maven을 사용하여 새 자바 프로젝트를 만듭니다.
mvn archetype:generate \ -DgroupId=com.google.app \ -DartifactId=bigquery-java-quickstart \ -DinteractiveMode=false
이 명령어는
bigquery-java-quickstart
라는 Maven 프로젝트를 만듭니다.출력은 다음과 비슷합니다. 출력을 간소화하기 위해 여러 줄을 생략합니다.
[INFO] Scanning for projects... ... [INFO] Building Maven Stub Project (No POM) 1 ... [INFO] BUILD SUCCESS ...
Maven 외에 사용할 수 있는 많은 종속 항목 관리 시스템이 있습니다. 자세한 내용은 클라이언트 라이브러리와 함께 사용할 자바 개발 환경 설정 방법을 알아보세요.
Maven이 기본적으로 만드는
App.java
파일의 이름을 바꿉니다.mv \ bigquery-java-quickstart/src/main/java/com/google/app/App.java \ bigquery-java-quickstart/src/main/java/com/google/app/SimpleApp.java
Cloud Shell 편집기를 엽니다.
cloudshell workspace bigquery-java-quickstart
자바 클래스 경로 또는 구성을 동기화할지 묻는 메시지가 표시되면 항상을 클릭합니다.
메시지가 표시되지 않고 이 둘러보기 중 클래스 경로와 관련된 오류가 발생하면 다음을 수행합니다.
- 파일 > 환경설정 > 설정 열기(UI)를 클릭합니다.
- 확장 프로그램 > 자바를 클릭합니다.
- 구성: 빌드 구성 업데이트로 스크롤하고 자동을 선택합니다.
탐색기 창에서
BIGQUERY-JAVA-QUICKSTART
프로젝트를 찾습니다.pom.xml
파일을 클릭하여 엽니다.<dependencies>
태그 내에서 기존 종속 항목 뒤에 다음 종속 항목을 추가합니다. 기존 종속 항목을 바꾸지 마세요.<dependency> <groupId>com.google.cloud</groupId> <artifactId>google-cloud-bigquery</artifactId> </dependency>
닫는 태그(
</dependencies>
) 뒤에 있는 줄에 다음을 추가합니다.<dependencyManagement> <dependencies> <dependency> <groupId>com.google.cloud</groupId> <artifactId>libraries-bom</artifactId> <version>26.1.5</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
Explorer 창의
BIGQUERY-JAVA-QUICKSTART
프로젝트에서 src > main/java/com/google/app > SimpleApp.java를 클릭합니다. 파일이 열립니다.bigquery-public-data.stackoverflow
데이터 세트에 대한 쿼리를 만들려면 파일의 첫 번째 줄(package com.google.app;
)을 그대로 두고 파일의 나머지 콘텐츠를 다음 코드로 바꿉니다.이 쿼리는 가장 많이 조회된 Stack Overflow 페이지 10개와 해당 조회수를 반환합니다.
SimpleApp.java를 마우스 오른쪽 버튼으로 클릭하고 자바 실행을 클릭합니다. Cloud Shell을 승인하고 약관에 동의하라는 메시지가 표시되면 승인을 클릭합니다.
결과는 다음과 비슷합니다.
https://stackoverflow.com/questions/35159967 : 170023 views https://stackoverflow.com/questions/22879669 : 142581 views https://stackoverflow.com/questions/10604135 : 132406 views https://stackoverflow.com/questions/44564887 : 128781 views https://stackoverflow.com/questions/27060396 : 127008 views https://stackoverflow.com/questions/12482637 : 120766 views https://stackoverflow.com/questions/20673986 : 115720 views https://stackoverflow.com/questions/39109817 : 108368 views https://stackoverflow.com/questions/11057219 : 105175 views https://stackoverflow.com/questions/43195143 : 101878 views
BigQuery 자바 클라이언트 라이브러리를 사용하여 공개 데이터 세트를 쿼리했습니다.
Node.js
Cloud Shell에서 새 Node.js 프로젝트 및 파일을 만듭니다.
mkdir bigquery-node-quickstart \ && touch \ bigquery-node-quickstart/app.js
이 명령어는
bigquery-node-quickstart
라는 Node.js 프로젝트와app.js
라는 파일을 만듭니다.Cloud Shell 편집기를 엽니다.
cloudshell workspace bigquery-node-quickstart
Cloud Shell 편집기에서 터미널을 열려면 터미널 열기를 클릭합니다.
프로젝트 디렉터리를 엽니다.
cd bigquery-node-quickstart
Node.js용 BigQuery 클라이언트 라이브러리를 설치합니다.
npm install --save @google-cloud/bigquery
출력은 다음과 비슷합니다.
added 63 packages in 2s
편집기 열기를 클릭합니다.
탐색기 창에서
BIGQUERY-NODE-QUICKSTART
프로젝트를 찾습니다.app.js
파일을 클릭하여 엽니다.가장 많이 조회된 Stack Overflow 페이지 10개와 해당 조회 수를 반환하는
bigquery-public-data.stackoverflow
데이터 세트에 대한 쿼리를 만들려면 다음 코드를app.js
파일에 복사합니다.터미널 열기를 클릭합니다.
터미널에서
app.js
스크립트를 실행합니다. Cloud Shell을 승인하고 약관에 동의하라는 메시지가 표시되면 승인을 클릭합니다.node app.js
결과는 다음과 비슷합니다.
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
BigQuery Node.js 클라이언트 라이브러리를 사용하여 공개 데이터 세트를 쿼리했습니다.
PHP
Cloud Shell에서 새 PHP 프로젝트 및 파일을 만듭니다.
mkdir bigquery-php-quickstart \ && touch \ bigquery-php-quickstart/app.php
이 명령어는
bigquery-php-quickstart
라는 PHP 프로젝트와app.php
라는 파일을 만듭니다.Cloud Shell 편집기를 엽니다.
cloudshell workspace bigquery-php-quickstart
Cloud Shell 편집기에서 터미널을 열려면 터미널 열기를 클릭합니다.
프로젝트 디렉터리를 엽니다.
cd bigquery-php-quickstart
PHP용 BigQuery 클라이언트 라이브러리를 설치합니다.
composer require google/cloud-bigquery
출력은 다음과 비슷합니다. 출력을 간소화하기 위해 여러 줄을 생략합니다.
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
편집기 열기를 클릭합니다.
탐색기 창에서
BIGQUERY-PHP-QUICKSTART
프로젝트를 찾습니다.app.php
파일을 클릭하여 엽니다.가장 많이 조회된 Stack Overflow 페이지 10개와 해당 조회 수를 반환하는
bigquery-public-data.stackoverflow
데이터 세트에 대한 쿼리를 만들려면 다음 코드를app.php
파일에 복사합니다.터미널 열기를 클릭합니다.
터미널에서
app.php
스크립트를 실행합니다. Cloud Shell을 승인하고 약관에 동의하라는 메시지가 표시되면 승인을 클릭합니다.php app.php
결과는 다음과 비슷합니다.
--- 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)
BigQuery PHP 클라이언트 라이브러리를 사용하여 공개 데이터 세트를 쿼리했습니다.
Python
Cloud Shell에서 새 Python 프로젝트 및 파일을 만듭니다.
mkdir bigquery-python-quickstart \ && touch \ bigquery-python-quickstart/app.py
이 명령어는
bigquery-python-quickstart
라는 Python 프로젝트와app.py
라는 파일을 만듭니다.Cloud Shell 편집기를 엽니다.
cloudshell workspace bigquery-python-quickstart
Cloud Shell 편집기에서 터미널을 열려면 터미널 열기를 클릭합니다.
프로젝트 디렉터리를 엽니다.
cd bigquery-python-quickstart
Python용 BigQuery 클라이언트 라이브러리를 설치합니다.
pip install --upgrade google-cloud-bigquery
출력은 다음과 비슷합니다. 출력을 간소화하기 위해 여러 줄을 생략합니다.
Installing collected packages: google-cloud-bigquery ... Successfully installed google-cloud-bigquery-3.9.0 ...
편집기 열기를 클릭합니다.
탐색기 창에서
BIGQUERY-PYTHON-QUICKSTART
프로젝트를 찾습니다.app.py
파일을 클릭하여 엽니다.가장 많이 조회된 Stack Overflow 페이지 10개와 해당 조회 수를 반환하는
bigquery-public-data.stackoverflow
데이터 세트에 대한 쿼리를 만들려면 다음 코드를app.py
파일에 복사합니다.터미널 열기를 클릭합니다.
터미널에서
app.py
스크립트를 실행합니다. Cloud Shell을 승인하고 약관에 동의하라는 메시지가 표시되면 승인을 클릭합니다.python app.py
결과는 다음과 비슷합니다.
https://stackoverflow.com/questions/35159967 : 170023 views https://stackoverflow.com/questions/22879669 : 142581 views https://stackoverflow.com/questions/10604135 : 132406 views https://stackoverflow.com/questions/44564887 : 128781 views https://stackoverflow.com/questions/27060396 : 127008 views https://stackoverflow.com/questions/12482637 : 120766 views https://stackoverflow.com/questions/20673986 : 115720 views https://stackoverflow.com/questions/39109817 : 108368 views https://stackoverflow.com/questions/11057219 : 105175 views https://stackoverflow.com/questions/43195143 : 101878 views
BigQuery Python 클라이언트 라이브러리를 사용하여 공개 데이터 세트를 쿼리했습니다.
Ruby
Cloud Shell에서 새 Ruby 프로젝트 및 파일을 만듭니다.
mkdir bigquery-ruby-quickstart \ && touch \ bigquery-ruby-quickstart/app.rb
이 명령어는
bigquery-ruby-quickstart
라는 Ruby 프로젝트와app.rb
라는 파일을 만듭니다.Cloud Shell 편집기를 엽니다.
cloudshell workspace bigquery-ruby-quickstart
Cloud Shell 편집기에서 터미널을 열려면 터미널 열기를 클릭합니다.
프로젝트 디렉터리를 엽니다.
cd bigquery-ruby-quickstart
Ruby용 BigQuery 클라이언트 라이브러리를 설치합니다.
gem install google-cloud-bigquery
출력은 다음과 비슷합니다. 출력을 간소화하기 위해 여러 줄을 생략합니다.
23 gems installed
편집기 열기를 클릭합니다.
탐색기 창에서
BIGQUERY-RUBY-QUICKSTART
프로젝트를 찾습니다.app.rb
파일을 클릭하여 엽니다.가장 많이 조회된 Stack Overflow 페이지 10개와 해당 조회 수를 반환하는
bigquery-public-data.stackoverflow
데이터 세트에 대한 쿼리를 만들려면 다음 코드를app.rb
파일에 복사합니다.터미널 열기를 클릭합니다.
터미널에서
app.rb
스크립트를 실행합니다. Cloud Shell을 승인하고 약관에 동의하라는 메시지가 표시되면 승인을 클릭합니다.ruby app.rb
결과는 다음과 비슷합니다.
https://stackoverflow.com/questions/35159967: 170023 views https://stackoverflow.com/questions/22879669: 142581 views https://stackoverflow.com/questions/10604135: 132406 views https://stackoverflow.com/questions/44564887: 128781 views https://stackoverflow.com/questions/27060396: 127008 views https://stackoverflow.com/questions/12482637: 120766 views https://stackoverflow.com/questions/20673986: 115720 views https://stackoverflow.com/questions/39109817: 108368 views https://stackoverflow.com/questions/11057219: 105175 views https://stackoverflow.com/questions/43195143: 101878 views
BigQuery Ruby 클라이언트 라이브러리를 사용하여 공개 데이터 세트를 쿼리했습니다.
삭제
Google Cloud 계정에 요금이 청구되지 않도록 하려면 Google Cloud 프로젝트를 삭제하거나 이 둘러보기에서 만든 리소스를 삭제하세요.
프로젝트 삭제
비용이 청구되지 않도록 하는 가장 쉬운 방법은 튜토리얼에서 만든 프로젝트를 삭제하는 것입니다.
프로젝트를 삭제하는 방법은 다음과 같습니다.
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
리소스 삭제
기존 프로젝트를 사용한 경우 생성된 리소스를 삭제합니다.
C#
Cloud Shell에서 디렉터리를 위로 이동합니다.
cd ..
만든
BigQueryCsharpDemo
폴더를 삭제합니다.rm -R BigQueryCsharpDemo
-R
플래그는 폴더의 모든 에셋을 삭제합니다.
Go
Cloud Shell에서 디렉터리를 위로 이동합니다.
cd ..
만든
bigquery-go-quickstart
폴더를 삭제합니다.rm -R bigquery-go-quickstart
-R
플래그는 폴더의 모든 에셋을 삭제합니다.
자바
Cloud Shell에서 디렉터리를 위로 이동합니다.
cd ..
만든
bigquery-java-quickstart
폴더를 삭제합니다.rm -R bigquery-java-quickstart
-R
플래그는 폴더의 모든 에셋을 삭제합니다.
Node.js
Cloud Shell에서 디렉터리를 위로 이동합니다.
cd ..
만든
bigquery-node-quickstart
폴더를 삭제합니다.rm -R bigquery-node-quickstart
-R
플래그는 폴더의 모든 에셋을 삭제합니다.
PHP
Cloud Shell에서 디렉터리를 위로 이동합니다.
cd ..
만든
bigquery-php-quickstart
폴더를 삭제합니다.rm -R bigquery-php-quickstart
-R
플래그는 폴더의 모든 에셋을 삭제합니다.
Python
Cloud Shell에서 디렉터리를 위로 이동합니다.
cd ..
만든
bigquery-python-quickstart
폴더를 삭제합니다.rm -R bigquery-python-quickstart
-R
플래그는 폴더의 모든 에셋을 삭제합니다.
Ruby
Cloud Shell에서 디렉터리를 위로 이동합니다.
cd ..
만든
bigquery-ruby-quickstart
폴더를 삭제합니다.rm -R bigquery-ruby-quickstart
-R
플래그는 폴더의 모든 에셋을 삭제합니다.
다음 단계
- BigQuery 클라이언트 라이브러리 사용에 대해 자세히 알아보기
- BigQuery 공개 데이터 세트에 대해 자세히 알아보기
- BigQuery에 데이터를 로드하는 방법 알아보기
- BigQuery에서 데이터 쿼리에 대해 자세히 알아보기
- BigQuery 업데이트 받기
- BigQuery 가격 책정 알아보기
- BigQuery 할당량 및 한도 알아보기