我正在使用Java编写Spark应用程序,它读取HiveTable并将输出以Json格式存储在HDFS中。
我使用来读取hive表格,它会返回DataFrame。以下是代码片段:
SparkConf conf = new SparkConf().setAppName("App");
JavaSparkContext sc = new JavaSparkContext(conf);
HiveContext hiveContext = new org.apache.spark.sql.hive.HiveContext(sc);
DataFrame data1= hiveContext.sql("select * from tableName")
现在我想将
DataFrame
转换为 JsonArray
。例如,data1 数据如下所示。| A | B |
-------------------
| 1 | test |
| 2 | mytest |
我需要以下输出结果。
[{1:"test"},{2:"mytest"}]
我尝试使用data1.schema.json()
,但输出的结果不是一个数组,具体如下:
{1:"test"}
{2:"mytest"}
如何在不使用任何第三方库的情况下将DataFrame
转换为jsonArray
?
mkString
不起作用。toString()
不会获取任何参数。 - user2731629