我需要使用pyspark在我的一个配置单元表中设置一个自定义属性。通常,我只需在任何配置单元接口中运行以下命令即可: ALTER TABLE table_name SET TBLPROPERTIES ('key1'='value1'); 但问题是,我能在pyspark脚本中实现同样的功能吗?谢谢!
ALTER TABLE table_name SET TBLPROPERTIES ('key1'='value1');
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'}
sqlContext.sql("ALTER TABLE table_name SET TBLPROPERTIES('key1' = 'value1')")
DataFrame[]
{'value': u'value1'}
1条答案
按热度按时间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'}