문제

BigQuery 테이블로 직접 데이터를 직접 스트리밍하는 앱 엔진 응용 프로그램을 개발하고자합니다.

Google의 설명서에 따르면 BigQuery로 데이터를 스트리밍하는 간단한 방법이 있습니다.

여기에 스트리밍 삽입이 코드화되어야하는 방식에 대한 샘플 코드 스 니펫이 있습니다.

body = {"rows":[
{"json": {"column_name":7.7,}}
]}

response = bigquery.tabledata().insertAll(
   projectId=PROJECT_ID,
   datasetId=DATASET_ID,
   tableId=TABLE_ID,
   body=body).execute()
.

클라이언트 API를 다운로드했지만 위의 Google의 예에서 참조 된 "BigQuery"모듈 / 개체에 대한 참조를 찾지 못했습니다.

스 퀴 니 리 칩 (스 니펫에서)은 어디에 위치해야합니까?

누구나이 스 니펫을 사용하는 더 완벽한 방법을 보여줄 수 있습니까 (오른쪽 수입품 포함)?

나는 그 많은 것을 찾고 있으며, 문서가 혼란스럽고 부분적으로 발견되었습니다.

도움이 되었습니까?

해결책

최소 작업 (프로젝트에 대한 올바른 ID를 채우는 한) 예 :

import httplib2
from apiclient import discovery
from oauth2client import appengine

_SCOPE = 'https://www.googleapis.com/auth/bigquery'

# Change the following 3 values:
PROJECT_ID = 'your_project'
DATASET_ID = 'your_dataset'
TABLE_ID = 'TestTable'


body = {"rows":[
    {"json": {"Col1":7,}}
]}

credentials = appengine.AppAssertionCredentials(scope=_SCOPE)
http = credentials.authorize(httplib2.Http())

bigquery = discovery.build('bigquery', 'v2', http=http)
response = bigquery.tabledata().insertAll(
   projectId=PROJECT_ID,
   datasetId=DATASET_ID,
   tableId=TABLE_ID,
   body=body).execute()

print response
.

Jordan은 다음과 같습니다.스트림뿐만 아니라 프로젝트 '팀'의 구성원이되어 작업을 실행할 수있는 권한이 부여됩니다. "

다른 팁

여기에 BigQuery 테이블에 레코드를 스트리밍하는 AppEngine 앱의 작업 코드 예제입니다.code.google.com에서 오픈 소스입니다.

http : //code.google.com/p/bigquery-e2e/source/browse/sensors/cloud/src/main.py#124

BigQuery 객체가 어디에서 오는지 알아 보려면 http://code.google.com/p/bigquery-e2e/source/browse/sensors/cloud/src/config.py

이것은 AppEngine 로봇을 사용하여 BigQuery로 인증하므로 로봇 계정을 데이터 세트의 ACL에 추가 할 수 있습니다.

또한 스트림뿐만 아니라 쿼리를 실행하도록 로봇을 사용하여 작업을 실행할 수있는 권한이 있도록 프로젝트 '팀의 구성원이되도록 로봇이 필요합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top