2016-09-01 7 views
1

大きなクエリでパーティションテーブルを作成する方法をお勧めしますか? 例:2016年のGoogleストレージに1つのログデータがあるとします。すべてのデータを年、月、日付でパーティション化された1つのバケットに格納しました。ここで私は日付でパーティション化されたテーブルを作成します。大きなクエリでパーティションテーブルを作成する

オプション1
YourLogs_YYYYMMDD
が作成したテーブルの後にどのようにLoad Data from Cloud Storage

の詳細を参照してくださいとあなたが名前を持つ独立したそれぞれのテーブルにそれぞれの日々のファイルを読み込むことができます:2つのオプションがアドバンス

答えて

1

ドキュメントはこちらです簡単にできます。 この場合https://cloud.google.com/bigquery/docs/creating-partitioned-tables

、あなたがpartitiを作成したいですパーティションにデータを移入します。 GCSから読み込み(特定の日付のデータをフィルタリングする)、テーブルの対応するパーティションに書き込むクエリジョブを実行できます。たとえば、2016年5月1日のデータを読み込むには、destination_tableをテーブル$ 20160501として指定します。

現在、このプロセスを達成するには、いくつかのクエリジョブを実行する必要があります。処理されたバイトに基づいて各クエリジョブに対して請求されることに注意してください。

いくつかの詳細については、この記事を参照してください:外部表のパーティションが今のよう許可されていない持っ

Migrating from non-partitioned to Partitioned tables

+0

返事をありがとう。通常、私はBig Dataで作業していましたが、日付別にパーティション化された外部テーブルを作成するオプションが1つあります( "year int、month string、date intでパーティション化されたテーブルfoo(abc int)を作成")。 "次にテーブル" foo add partition(2016、 "May"、 "01") ""を追加し、 "select * from table"という年= 2016、月= "May"、date = 01 "一つのテーブルで、私たちは複数のパーティションを作成することができます。大きなクエリでは、私が探していたような任意のオプションがあります。あなたは私のサンプル表の作成をお願いすることができます。どうもありがとう –

+0

あなたはそれを移入仕事とは別にテーブルを作成する必要があります。パーティションテーブルを作成するためには、こちらを参照してください。https://cloud.google.com/bigquery/docs/creating-partitioned-tables#creating_a_partitioned_table –

+0

それは私が、その後1年間の履歴データを持っている場合、私は356個のテーブルを作成すると仮定したと意味します?? –

1

で おかげであります。 Table wildcard functions(従来のSQL)を使用するか、Wildcard Table(Standar SQL)を使用してアクセスできます。より多くの例

オプション2
あなたはDate-Partitioned Table( - YourLogsをひとつのテーブルを) - 作成できるためにもQuerying Multiple Tables Using a Wildcard Tableを参照してくださいあなたはまだ、それぞれのパーティションにそれぞれの日々のファイルをロードする必要があります - 表がロードされた後Creating and Updating Date-Partitioned Tables

を見ますあなたは、パーティション表のQuery Date-Partitioned Tables

+0

ありがとうMikhil、これは一例ですか? –

+1

リンクの例をたくさん見つけることができます。特定の質問をしてみてください - そうでなければ広すぎです!! –

+0

私は1日の履歴データをgsで1つのバケットに格納しています。日にちにデータを保存しました。大きなクエリWeb UIから日付別にパーティションを作成してテーブルを作成します。私は、通常のテーブルを作成することができますが、それはすべてのデータを処理するクエリです。ここでは特定の日付範囲を処理したいと思っています。どのようにパーティションテーブルを更新することができます。それはパーティションテーブルと同じベーステーブルですか、または私はパーティションで新しいテーブルを作成すると思いますか?日付範囲パーティションでパーティションテーブルを更新するにはどうすればよいですか?これで私を助けてください?前もって感謝します。 –

1

。そのための機能のリクエストがあります:
https://issuetracker.google.com/issues/62993684
(あなたがそれに興味があるなら、それを投票してください!)

Googleは、彼らはそれを検討していると述べています。

関連する問題