2016-10-06 15 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

これは動作しますが、私は従来のSQLではなくstandard_sqlで解決策を探していました。 –

+2

こんにちは@TimSでは、これまで標準SQLを使って解決策を見つけましたか?私はUNION ALLを使ってみましたが、それはあまりにも遅いです。 – figaro

関連する問題