如何使用以下格式创建键值对?
textfile
中的示例输入:
X:a b c
Y:f g
我希望输出为键值对并存储在RDD
(X,a)
(X,b)
(X,c)
(Y,f)
(Y,g)
编辑:
val sprk = new SparkContent(conf)
in = sprk.textFile("sample_input.txt")
val tuples = in.maps{s =>
val parts = s.split("\\s+")
(parts(0), parts(1))
}.distinct
答案 0 :(得分:1)
首先使用\\s+
进行拆分,然后使用val textFile = sc.textFile("hdfs://...")
textFile.flatMap { line => {
val Array(label, rest) = line split ":"
val items = rest.trim.split("\\s+")
items.map(item => (label.trim -> item))
}}
Find: ^.*<space>
Repl: <blank>