2016-10-06 2 views
4

와일드 카드 테이블 함수를 사용하여 날짜 분할 테이블의 묶음을 쿼리하려고합니다.Google BigQuery - 날짜 파티셔닝 된 테이블에서 와일드 카드 테이블 쿼리 사용 중

이 쿼리는 작동합니다

select * from `Mydataset.fact_table_1` where _partitiontime='2016-09-30' limit 10 

이 쿼리는 작동하지 않습니다

select * from `Mydataset.fact_table_*` where _partitiontime='2016-09-30' limit 10 

이 작업이

지원되지 않습니다?

여러 날짜 분할 표에서 동일한 날짜의 데이터를 읽는 가장 좋은 방법은 무엇입니까? 문 다음

+0

을해야합니까? 오류가 발생합니까 아니면 결과가 예상치 못한 문제입니까? –

+0

와일드 카드 문자를 사용하지 않거나 _partitiontime을 사용하지 않으면 "Unrecognized name : _partitiontime".. 같은 오류가 발생합니다. 같은 쿼리에서 둘 다 사용할 수는 없습니다. –

+0

와일드 카드 테이블을 사용하는 경우 대신 '_TABLE_SUFFIX'을 필터링해야합니다. 그렇지 않으면 적어도 https://cloud.google.com/bigquery/docs/querying-wildcard-tables에 대한 나의 해석입니다. 나는 당신이'_TABLE_SUFFIX'과'_PARTITIONTIME'을 둘 다 사용할 수있을 지 확신하지 못합니다.하지만 동료에게 확인을 요청했습니다. –

답변

1

select * from TABLE_QUERY(YOUR_DATASET,'table_id contains "fact_table_"') where _PARTITIONTIME = TIMESTAMP('2016-09-30') 

당신이 "작동하지 않습니다"무슨 뜻인지 명확히 할 수 트릭

+3

그 작동하지만 standard_sql과 레거시 SQL과 솔루션을 찾고 있었어요. –

+2

안녕 @TimS 당신은 표준 SQL을 사용하여 아직 해결책을 찾았나요? 나는 UNION ALL을 사용하려했지만 너무 느리다. – figaro