擅长:python、mysql、java
<p>只要您使用的是Spark 2.1或更高版本,<a href="http://spark.apache.org/docs/2.1.0/api/python/pyspark.sql.html#pyspark.sql.functions.from_json" rel="noreferrer">^{<cd1>}</a>应该可以得到您想要的结果,但是您需要首先定义所需的<code>schema</code></p>
<pre class="lang-python prettyprint-override"><code>from pyspark.sql.functions import from_json, col
from pyspark.sql.types import StructType, StructField, StringType
schema = StructType(
[
StructField('key1', StringType(), True),
StructField('key2', StringType(), True)
]
)
df.withColumn("data", from_json("data", schema))\
.select(col('id'), col('point'), col('data.*'))\
.show()
</code></pre>
<p>它应该给你</p>
<pre class="lang-python prettyprint-override"><code>+---+-----+----+----+
| id|point|key1|key2|
+---+-----+----+----+
|abc| 6| 124| 345|
|df1| 7| 777| 888|
|4bd| 6| 111| 788|
+---+-----+----+----+
</code></pre>