2017-11-16 13 views
1

これは、Google Cloud StorageからBigQueryへのデータファイルのインポートに関する質問です。BigQueryにインポート時にファイル名を列として追加しますか?

私はJSONデータ自体には含まれていないいくつかの重要なデータを含む厳密な命名規則に従ういくつかのJSONファイルを持っています。例えば

:その後、

現時点で client_country_date.json.gzある
xxx_US_20170101.json.gz 
xxx_GB_20170101.json.gz 
xxx_DE_20170101.json.gz 

、私はファイルを読み込み、Rubyのアプリでいくつかの複雑なプロセスを持って、追加データを追加し、その後、あるファイルに書き戻しますBigQueryのクライアント用に1日のテーブルにインポートされます。

BigQueryへのインポートの一環としてファイル名を取得して解析することが可能かどうか疑問に思っていますか?私は時々大容量のファイルに失敗する畳み込まれたRubyプロセスを落とすことができました。

+0

あなたは、本質的にクロスのようなテーブル(複数可)に、クライアント/ファイル名に参加しますか? –

答えて

3

あなたはあなたのファイルを指している外部テーブルを定義することができます。テーブルタイプは「外部表」であり、それは*グロブで複数のファイルを指していることを

enter image description here

注意を。

今、あなたはすべてのこれらのファイル内のデータ、およびメタコラム_FILE_NAMEのためのクエリを照会することができます

#standardSQL 
SELECT *, _FILE_NAME filename 
FROM `project.dataset.table` 

あなたは今、新しいネイティブ表に、これらの結果を保存することができます。

enter image description here

+0

これはすばらしいです、ありがとう、フェリペ。私はちょうどあなたが掲示したようにこれを発見した:) – Raoot