使用(py)spark设置配置单元tblproperty

nwlqm0z1  于 2021-06-27  发布在  Hive
关注(0)|答案(1)|浏览(333)

我需要使用pyspark在我的一个配置单元表中设置一个自定义属性。通常,我只需在任何配置单元接口中运行以下命令即可: ALTER TABLE table_name SET TBLPROPERTIES ('key1'='value1'); 但问题是,我能在pyspark脚本中实现同样的功能吗?
谢谢!

brccelvz

brccelvz1#

其实很简单。。。可以在pyspark中使用sqlcontext进行设置: sqlContext.sql("ALTER TABLE table_name SET TBLPROPERTIES('key1' = 'value1')") 它将返回一个空的Dataframe: DataFrame[] 但是属性实际上存在于目标表中。类似地,可以使用以下方法检索:
sqlContext.sql("SHOW TBLPROPERTIES table_name('key1')").collect()[0].asDict() {'value': u'value1'}

相关问题