Idr*_*han 0 google-cloud-platform google-cloud-dataflow spotify-scio
我正在使用Spotify Scio来读取从Stackdriver导出到Google云端存储的日志.它们是JSON文件,其中每一行都是单个条目.查看工作日志,似乎文件被拆分为块,然后以任何顺序读取.在这种情况下,我已经将我的工作限制在1名工人身上.有没有办法强制按顺序读取和处理这些块?
作为一个例子(textFile基本上是一个TextIO.Read):
val sc = ScioContext(myOptions)
sc.textFile(myFile).map(line => logger.info(line))
Run Code Online (Sandbox Code Playgroud)
将根据工作日志生成类似于此的输出:
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
Run Code Online (Sandbox Code Playgroud)
我想知道的是,是否有办法迫使它按顺序读取1-12行.我发现gzipping文件并使用指定的CompressionType读取它是一种解决方法,但我想知道是否有任何方法可以执行此操作,不涉及压缩或更改原始文件.
小智 5
Google Cloud Dataflow/Apache Beam目前不支持在处理管道时对订单进行排序或保留.允许排序输出的缺点是它为大型数据集输出这样的结果最终导致单个机器上的瓶颈,这对于大型数据集是不可扩展的.
| 归档时间: |
|
| 查看次数: |
597 次 |
| 最近记录: |