各行がテキストファイル(gs:// ...)と行番号を表すBigQueryテーブルがあります。PCollectionからファイル名を抽出して効率的に解析する
file, line, meta
file1.txt, 10, meta1
file2.txt, 12, meta2
file1.txt, 198, meta3
各ファイルは約1.5Gbで、マイバケットには約1k個のファイルがあります。私の目標は、BQテーブルで指定された行を抽出することです。
私は、次の計画を実施することを決定した:
- 地図
table
=>KV<file,line>
- は
KV<file,line>
=>KV<file, [lines]>
- 地図
KV<file, [lines]>
=>[KV<file, rowData>]
rowData
は、実際のデータを意味
を削減一部でfile
から行はlines
です。
私がdocsなどをよく読んだ場合、そのような条件ではTextIO.Read
は使用されません。回避策として、GcsIoChannelFactory
を使用してGCSからファイルを読み取ることができます。それが正しいか?それは記述されたタスクのための好ましいアプローチですか?