Cla*_*zes 3 json scala apache-spark apache-spark-sql
我有一个带有字符串类型列的DataFrame,这个字符串是JSON格式,我想根据这个JSON格式将此列转换为多个列.如果我有JSON模式,我可以做到,但我没有.
示例:
原始数据帧:
---------------------
| json_string|
---------------------
|{"a":2,"b":"hello"}|
| {"a":1,"b":"hi"}|
---------------------
Run Code Online (Sandbox Code Playgroud)
转换/解析后
--------------
| a | b |
--------------
| 2 | hello|
| 1 | hi|
--------------
Run Code Online (Sandbox Code Playgroud)
我使用的是Apache Spark 2.1.1.
Sha*_*ala 10
如果您没有预定义的架构,则另一个选项是将其转换为RDD[String]
或Dataset[String]
加载为json
这是你可以做的
//convert to RDD[String]
val rdd = originalDF.rdd.map(_.getString(0))
val ds = rdd.toDS
Run Code Online (Sandbox Code Playgroud)
现在加载为json
val df = spark.read.json(rdd) // or spark.read.json(ds)
df.show(false)
Run Code Online (Sandbox Code Playgroud)
也使用json(ds)
,json(rdd)
不推荐使用2.2.0
@deprecated("使用json(Dataset [String])代替.","2.2.0")
输出:
+---+-----+
|a |b |
+---+-----+
|2 |hello|
|1 |hi |
+---+-----+
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4762 次 |
最近记录: |