在spark中读取复杂的文本文件格式(具有数据块而不是行)

时间:2016-02-02 15:19:22

标签: scala apache-spark spark-streaming

我在spark中有一些文件,格式如下。文件中的每条记录都是一个多行记录,以SF:结尾的键end_of_record开头。 我想从这些信息文件中检索键值对,其中键是' SF'的组合。和' DA'和值是存在这些组合的文件名。

info_file1.txt

    SF:str1
    FN:90
    DA:20
    DA:40
    MX:20
    end_of_record    
    SF:str2
    MX:20
    DA:17
    DA:40
    end_of_record    

info_file2.txt

    SF:str1
    DA:15
    MX:20
    DA:20
    end_of_record
    SF:str2
    DA:20
    DA:40
    XM:20
    end_of_record

输出应为:

(str1_20, [info_file1, info_file2])
(str1_40, [info_file1])
(str2_17, [info_file1])
(str2_40, [info_file1, info_file2])
(str1_15, [info_file2])
(str2_20, [info_file2])

如果您有任何疑问,请告诉我。我想使用Scala进行文件解析。 感谢。

0 个答案:

没有答案