我有一个Dataframe,它有一个列,它是一个结构数组,比如:
+-----+-----+------------------+---+----+
|index|state|entries |0 |1 |
+-----+-----+------------------+---+----+
|0 |KY |[[A, 45]] |45 |null|
|1 |OR |[[A, 30], [B, 10]]|30 |10 |
+-----+-----+------------------+---+----+
其中“entries”是带有两个字段“name”和“number”的结构。我希望能够在一个特定的索引中获取其中一个内部值。
我可以这样做的一个方法是:
df.withColumn(col("entries").getItem(0), "dumbName").select("dumbName.name")
不过,我希望能够对匿名列执行此操作,这样看起来更像 col("entries").getItem(0).someMagicFunction("name")
1条答案
按热度按时间6rqinv9w1#
getItem
用作魔术功能:印刷品
也可以使用
element_at
从functions对象(从2.4.0开始提供):印刷品
对于早期的spark版本,可以使用sql: