我在 hive 里有一张table,它的ddl看起来像这样。
创建表( name
字符串)按( col1
字符串, col2
比基特, col3
字符串, col4
(字符串)
我有一个要求,我必须使用sparkscala将配置单元表的非分区列名存储到variable1中,并将列名分区到variable2中。
期望输出为:
variable1='name'
variable2='col1,col2,col3,col4'
我遵循下面的方法,但不能得到相同的。
val df=sql("desc default.ABC")
val df2=df.map(r => r.getString(0)).collect.toList
List[String] = List(name, col1, col2, col3, col4, # Partition Information, # col_name, col1, col2, col3, col4)
你能帮我走近吗?
2条答案
按热度按时间z9ju0rcb1#
试试这个:
oo7oh9g92#
试试看:
你可以得到'分区'列。然后收集你想要的。
如果要创建表分区,可以使用sparksql execute
您可以获得数据集的“createtab\u stmt”列。