1

Spotify Scioを使用して、Stackdriver から Google Cloud Storage にエクスポートされたログを読み取ります。これらは、すべての行が 1 つのエントリである JSON ファイルです。ワーカー ログを見ると、ファイルがチャンクに分割され、任意の順序で読み取られているように見えます。この場合、私はすでに自分の仕事を正確に 1 人のワーカーに制限しています。これらのチャンクを順番に読み取って処理する方法はありますか?

例として (textFile は基本的に TextIO.Read です):

val sc = ScioContext(myOptions)
sc.textFile(myFile).map(line => logger.info(line))

ワーカー ログに基づいて、次のような出力が生成されます。

line 5
line 6
line 7
line 8
<Some other work>
line 1
line 2
line 3
line 4
<Some other work>
line 9
line 10
line 11
line 12

私が知りたいのは、1 行目から 12 行目を順番に読むように強制する方法があるかどうかです。ファイルを gzip 圧縮し、指定された CompressionType で読み取ることが回避策であることがわかりましたが、元のファイルを圧縮または変更しないでこれを行う方法があるかどうか疑問に思っています。

4

1 に答える 1