擅长:python、mysql、java
<p>我写这个作为一个答案,因为我找不到评论选项。我建议您从pyspark.sql.functions函数. 例如,您可以这样使用它:</p>
<pre><code># given a row that looks like:
+ genres -+
| [{ id:1, name:"hiphop"}] |
+ -+
# define a schema
schema = ArrayType(StructType().add("id", IntegerType())\
.add("name", StringType()))
# transform
new_df = df.select(from_json("genres", schema).alias("genres_dict"))
# display
new_df.printSchema()
new_df.show()
</code></pre>
<p>还有一种方法可以使用名为regexp\u extract的函数来实现这一点。但以上是我个人的喜好。另外,如果您想切换回原始字符串,您可以使用它来创建json函数。希望这有帮助。你知道吗</p>