擅长:python、mysql、java
<p>假设列中有对象数组。您可以使用<code>transform</code>从每个对象提取<code>name</code>键:</p>
<pre><code>import pyspark.sql.functions as f
df = spark.createDataFrame([[[{"rid":"ri.compass..ae1","name":"reservoir"},
{"rid":"ri.compass..ed18","name":"cave"},
{"rid":"ri.compass..c97","name":"staging"}]]], ['namedTags'])
df.withColumn('name', f.expr("transform(namedTags, el -> el.name)")).show()
+--------------------+--------------------+
| namedTags| name|
+--------------------+--------------------+
|[[name -> reservo...|[reservoir, cave,...|
+--------------------+--------------------+
</code></pre>