我正在玩带有json文件的spark RDD,我正在做类似下面的事情
val uisJson5 = sqlContext.read.json(
sc.textFile("s3n://localtion/*")
.filter(line =>
line.contains("\"xyz\":\"A\"")
&& line.contains("\"id\":\"adasdfasdfasd\"")
))
uisJson5.show()
我想知道源json文件以及结果的来源。我有什么方法可以做到这一点吗?
编辑:
我能够使用下面的代码
来做到这一点val uisJson1 = sc.textFile("s3n://localtion/*”)
.filter(line => line.contains("\"xyz\":\"A\"")
&& line.contains("\"id\":\"adasdfasdfasd\""))
uisJson1.collect().foreach(println)
答案 0 :(得分:2)
您正在寻找wholeTextFiles
以及flatMapValues
。
wholeTextFiles
允许您读取包含多个小文本文件的目录,并将每个文件作为(文件名,内容)对返回。这与textFile形成对比,textFile将在每个文件中每行返回一条记录。