2017-11-22 4 views
0

저는 파이썬을 사용하여 BigQuery API를 사용하고 있습니다. 쿼리를 실행하고 새 테이블을 작성하는 데 성공했지만 해당 출력 테이블이 정확히 분할되어 있는지 확인하려고합니다. https://cloud.google.com/bigquery/docs/creating-partitioned-tables파이썬에서 API를 통해 BigQuery 테이블을 분할하기

쿼리의 출력에는 event_date [2017-11- 12 "], metric [정수]

아래 코드에 따라"partitioning_type "코드를 다양한 개체에 할당했지만 오류를 반환하지 않습니다.

(내 파티션 작업이 실제로 작동하는지 (예 : _PARTITIONTIME 의사 열을 식별하는 방법) 알려주는 것도 유용 할 것입니다.) 당신은 테이블이 분할 여부되어 있는지 확인하려면

dest_table_id = "BQresults" 
query_job = client.run_async_query(str(uuid.uuid4()), query)) 
query_job.allow_large_results = True 
dest_dataset = client.dataset(dest_dataset_id) 
dest_table = dest_dataset.table(dest_table_id) 
dest_table.partitioning_type ="DAY" 

query_job.destination = dest_table 
query_job.write_disposition = 'WRITE_TRUNCATE' 
query_job.use_legacy_sql = False 
query_job.begin() 
query_job.result() 
+0

[자세히보기] (https://stackoverflow.com/help/mcve)에서 가져올 라이브러리를 표시하고 원하는 결과와 얻은 결과를 표시 할 수 있습니까? 파이썬을 사용하여 BigQuery를 실행하는 것과 비슷한 점이 있지만 여기에 좀 더 자세한 정보가 필요합니다. – Projski

답변

1

, get_table() 메소드 (https://github.com/GoogleCloudPlatform/google-cloud-python/blob/4b107613b0fcf139569504e9d44fa4a0793b4fd0/bigquery/google/cloud/bigquery/client.py#L290)를 사용하고 반환 된 객체의 partitioning_type 속성을 확인. 또한 작업 id와 함께 get_job()을 사용하여 작업 객체를 가져올 수 있으며 time_partitioning이 구성에 설정되었는지 확인합니다.

작업 구성에서 time_partitioning을 설정해야하므로 클라이언트가 수행하지 않는 것처럼 보이는 쿼리 결과가 분할 된 테이블에 있다고 생각하지 않습니다. 참이면 분할 된 테이블을 먼저 만들고 기존 테이블을 대상으로 사용할 수 있습니다.

관련 문제