gpt4 book ai didi

scala - Spark Scala,如何检查数据框中是否存在嵌套列

转载 作者:行者123 更新时间:2023-12-01 13:15:51 25 4
gpt4 key购买 nike

我正在从具有嵌套列 ( struct ) 的 Parquet 文件中读取数据框。
如何检查嵌套列是否存在?

可能是这样的

+----------------------+
| column1 |
+----------------------+
|{a_id:[1], b_id:[1,2]}|
+----------------------+

或者像这样
+---------------------+
| column1 |
+---------------------+
|{a_id:[3,5]} |
+---------------------+

我知道,如何检查顶级列是否存在,如这里的回答: How do I detect if a Spark DataFrame has a column :
df.schema.fieldNames.contains("column_name")

但是如何检查嵌套列?

最佳答案

您可以将嵌套字段的架构作为结构获取,然后检查您的字段是否存在于它的字段名称中:

val index = df.schema.fieldIndex("column1")
val is_b_id_present = df.schema(index).dataType.asInstanceOf[StructType]
.fieldNames.contains("b_id")

关于scala - Spark Scala,如何检查数据框中是否存在嵌套列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55163838/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com