使用(py)Spark设置Hive TBLPROPERTIES

时间:2018-11-12 11:30:47

标签: apache-spark hive pyspark

我需要使用pySpark在我的一个Hive表中设置一个自定义属性。 通常,我只需要在任何Hive界面中运行以下命令即可:

ALTER TABLE table_name SET TBLPROPERTIES ('key1'='value1');

但是问题是,我可以在pySpark脚本中完成同样的工作吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

嗯,这实际上很容易...可以在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'}