【发布时间】:2016-03-07 01:21:41
【问题描述】:
我正在用 JAVA 解析 SparkSQL 中的 json 文件,我需要能够访问以 WrappedArrays 的 WrappedArray 返回的坐标。代码如下:
df.registerTempTable("test_articles");
sql = "select gnip.profileLocations.geo.coordinates FROM test_articles";
DataFrame testData = sqlContext.sql(sql);
Row [] rowArray = testData.collect();
for(Row r:rowArray)
{
if(r.get(0)!=null)
System.out.println(r.get(0).toString());
}
输出:WrappedArray(WrappedArray(30.74806, 40.79944))
文件.json
"gnip": {
"profileLocations": [{
"objectType": "place",
"geo": {
"type": "point",
"coordinates": [132.56111,
35.07693]
}
}]
}
【问题讨论】:
-
你想要一个 WrappedArray 的 WrappedArrays 还是你想要平展 WrappedArray?
-
如何在不爆炸的情况下获得扁平的包装数组?例如。 {a,b} 和 {b,c} 的 collect_set 给出 {{a,b}, {b,c}},如何获得 {a,b,c}?
标签: java json scala apache-spark