【发布时间】:2020-10-20 11:41:31
【问题描述】:
我正在尝试以逗号分隔的字符串获取 Hive 表的列名。这就是我正在做的事情
val colNameDF = spark.sql("show columns in hive_table")
val colNameStr = colNameDF.select("col_name").collect.mkString(", ")
我得到的输出是
res0: String = [col_1], [col_2], [col_3]
但我想要的是col_1, col_2, col_3。我可以从字符串中删除[ 和],但我很好奇我们是否可以首先获得不带括号的列名。
编辑: Hive 表中的列名不包含 [ ]
【问题讨论】:
-
数据框的 printSchema 是什么?
-
@dumitru col_name : 字符串(可为空 = 假)
-
你想用这些列做什么??
-
您的方法不必要地触发了使用
.collect函数获取元详细信息的 spark 作业,请检查我的方法不会触发任何作业,它将为您提供所需的元详细信息。有些人在不知道它是如何工作的情况下被否决了。 . -
@Srinivas 是的,我试过你的方法,它也有效。我们应该有一个功能可以在投票时发表评论
标签: apache-spark hive apache-spark-sql