【发布时间】:2015-04-21 11:39:49
【问题描述】:
我正在尝试构建一个数据流管道来处理包含跨多行事件的文本文件。数据流 SDK TextIO 类假定每一行都是一个新事件。
我的计划是创建一个新的 TextReader 并将其注册到 DataPipelineRunner。这个新读者将知道如何将多行聚合成一行。
我很确定这种方法会奏效,但我想知道这是否是正确的方法,或者是否有更简单的解决方案?
我要解析的文本是:
==============> len:45 pktype:4 mtype:2
SYMBOL: USOCSTIA151632.00
OPEN_INT: 212
PR_OPEN_INTEREST: 212
TIME_STAMP: 04/10/2015 06:30:17:420 val:1428661817
结果应该是最后 4 行连接在一起并删除第一行。
最好的问候, 彼得
【问题讨论】:
-
还有几个问题:1) 你有很多小文件,还是你的文件很大? (即您是否想在一个文件中并行处理) 2)说可以通过查找“============== 来检测文件中记录的开头是否正确>" ?
-
有很多大(200G+)文件需要处理。以“===>”开头的行确实表示一条新记录,但我需要从输出中删除该行。
-
谢谢!我相应地更新了我的答案。