2016-07-14 9 views
2

Google Datalabは、時間分割されたBigQueryテーブルの特定のパーティションをクエリ結果のデスティネーションテーブルとしてサポートしていますか?たとえば、次のように時分割されたBigQueryテーブル

from gcp import bigquery as bq 
queryString = 'SELECT "a1" AS col1' 
tabNam = 'Feature.test$20141228' 
bq.Query(queryString).execute(table_name=tabNam, table_mode='create') 
+0

こんにちは、シャムは、Datalabから作成するパーティションテーブルについて、どのようなパーティションテーブルがまだ存在しない場合、私は直接(table.Createを使用してパーティションテーブルを作成したいですか)?あなたはそれをやる方法を知っていますか?どうも。 – HaipengSu

答えて

1

私の推測では、あなたが何をする必要があるかだけは、あなたがそれを持っているように(接尾辞として、時間のパーティションにテーブル名を指定することであるため、この機能は、何らかの形で特別にDatalabによりサポートする必要がないということですあなたの質問で - Feature.test $ 20141228)。もちろん、テーブル(Feature.test)がtimePartitioningテーブルのプロパティで正しく構成されていることを確認する必要があります。

+1

ありがとう@Mikhail! @ KS1は、送信先のテーブル名を文字列として送信するのではなく、辞書として送信することを指摘しています。基本的には、上記のコードスニペットで、 を置き換えます。 'tabNam = 'Feature.test $ 20141228'' by: ' tabNam = {' table_id ':' test $ 20141228 '、' dataset_id ':' Feature '} ' 私はこの方法が有効であることを確認しました。 – shyam

0

Google Big Queryのテーブルには大きな機能があります。たとえば、test20141228、test20141229 ... という名前のテーブルが複数ある場合は、写真のようにスクロールダウンボタンが付いたテーブルセットが表示されます。 次に、testdate1〜testdate2の間のテーブルを照会するために、ワイルドカード機能TABLE_DATE_RANGE([Feature.test]、date1、date2)を使用することもできます。

enter image description here

+0

ありがとう@海ピー蘇! 'TABLE_DATE_RANGE()'を放棄し、代わりに時間分割テーブルを使用することになりました。 – shyam

関連する問題