【发布时间】:2017-04-26 12:04:45
【问题描述】:
- Spark 版本:1.6.2
- Java 版本:7
我有一个List<String> 数据。类似的东西:
[[dev, engg, 10000], [karthik, engg, 20000]..]
我知道此数据的架构。
name (String)
degree (String)
salary (Integer)
我试过了:
JavaRDD<String> data = new JavaSparkContext(sc).parallelize(datas);
DataFrame df = sqlContext.read().json(data);
df.printSchema();
df.show(false);
输出:
root
|-- _corrupt_record: string (nullable = true)
+-----------------------------+
|_corrupt_record |
+-----------------------------+
|[dev, engg, 10000] |
|[karthik, engg, 20000] |
+-----------------------------+
因为List<String> 不是正确的 JSON。
我需要创建一个正确的 JSON 还是有其他方法可以做到这一点?
【问题讨论】:
-
你为什么不创建包含这些属性的 Java bean 类,然后你可以拥有 ArrayList
然后你可以使用 sqlContext.createDataFrame(List> data, Class > beanClass)。 -
@abaghel 不可能为每组数据创建 Java bean 类。
标签: java apache-spark spark-dataframe