レコードは、毎日次のスキーマで作成された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のどのソリューションでも処理できます。
私はちょうどそれをやり遂げることについて賢明な方法が分かりません。
BigQuery SQLクエリは、実行したいことがあれば問題ありません。あなたはこのアプローチに問題がありましたか? –
+ BigQueryでSQLを使用してスマッシュします。 –
BigQueryは基本的な集約を行うために多くのコードを書く必要がないためです – softwarenewbie7331