0

レコードは、毎日次のスキーマで作成されたAVROファイルで開始されました。 "attribute_key"と "attribute_value"レコードには20種類の属性タイプが格納されており、タイムスタンプとdevice_idも各測定に含まれています。データ集約と平均2,000億レコード

"fields" : [ 
{"type":"string", "name":"device_id"}, 
{"type":"string", "name":"record_date"}, 
{"type":"string", "name":"attribute_key"}, 
{"type":"string", "name":"attribute_value"}] 

私は毎日ファイルを取得し、bigqueryの月別のテーブルに読み込むことができました。

device_attributes201501 
device_attributes201502 
device_attributes201503 
device_attributes201504 
device_attributes201505 
device_attributes201506 
device_attributes201507 
device_attributes201508 
device_attributes201509 
device_attributes201510 
device_attributes201511 
device_attributes201512 

私の問題は、

2倍である私はすべての時間を越えて収集ユニークdevice_idsのすべて、および各値の型の最新の属性値で構成表を作成する必要があります。

device_id, record_date, attribute_key, attribute_value 
    abc123  2015-10-11 attribute_1 5 
    abc123  2015-11-11 attribute_1 5 
    abc123  2015-12-11 attribute_1 10 
    abc123  2015-10-11 attribute_1 0 
    abc456  2015-10-11 attribute_1 0 
    abc789  2015-10-11 attribute_1 0 
    abc123  2015-11-11 attribute_1 0 
    abc456  2015-11-11 attribute_1 0 
    abc789  2015-11-11 attribute_1 6 
    abc123  2015-10-11 attribute_2 blue 
    abc123  2015-11-11 attribute_2 red 
    abc123  2015-12-11 attribute_2 red 
    abc456  2015-12-11 attribute_2 blue 
    abc789  2015-12-11 attribute_2 green 

いくつかの属性について、毎週、毎月、および90日の平均値も計算する必要があります。

device_id, last_update, attribute_1, attribute_2 
    abc123  2015-12-11 6   red 
    abc456  2015-12-11 0   blue 
    abc789  2015-12-11 3   green 

(attribute_3が収集されたサンプルの平均である)私は最高これを取る取るためにどのように好奇心、と私はどこここから行くには考えています。データは今、bigqueryになっています。私はGoogleのツールのフルスイートにアクセスできます。データフローやその他のものがあります。

データはもともとS3バケットに入っていたので、AWSのどのソリューションでも処理できます。

私はちょうどそれをやり遂げることについて賢明な方法が分かりません。

+3

BigQuery SQLクエリは、実行したいことがあれば問題ありません。あなたはこのアプローチに問題がありましたか? –

+0

+ BigQueryでSQLを使用してスマッシュします。 –

+0

BigQueryは基本的な集約を行うために多くのコードを書く必要がないためです – softwarenewbie7331

答えて

1

これらのリンクのいくつかが役立ちます。テーブルの作成 https://cloud.google.com/bigquery/docs/tables#creating-a-table

のBigQueryウェブUI (ユーザーからのブログ記事)クエリからテーブルを作成する方法https://cloud.google.com/bigquery/bigquery-web-ui

。これは、BQ WebUIを使用して宛先テーブルを指定できることを示しています。私は公式の文書でそれを見つけることができませんでした。そうでない場合は、上記の例に示すように、APIをセットアップして少しのコードを書く必要があります。 https://chartio.com/resources/tutorials/how-to-create-a-table-from-a-query-in-google-bigquery/

関連する問題