我对Spark很新。
我有一个非常基本的问题。我在Spark RDD中读取了一个文件,其中每一行都是JSON。我想让groupBy像转换一样。所以我想将每个JSON行转换为PairRDD
。在Java
中有没有直接的方法呢?
我的json是这样的:
{
"tmpl": "p",
"bw": "874",
"aver": {"cnac": "US","t1": "2"},
}
目前,我尝试的方式是首先按,
然后按:
进行分割。有没有直接的方法来做到这一点?
我目前的代码:
val pairs = setECrecords.flatMap(x => (x.split(",")))
pairs.foreach(println)
val pairsastuple = pairs.map(x => if(x.split("=").length>1) (x.split("=")(0), x.split("=")(1)) else (x.split("=")(0), x))
答案 0 :(得分:0)
您可以尝试使用mapToPair(),但使用Spark SQL & DataFrames API可以让您更轻松地对事物进行分组。数据框API允许您直接加载JSON数据。