Apache spark 使用pyspark向配置单元表添加注释
我正在通过PySpark创建蜂巢表 在写入配置单元之前,是否有方法向每个列添加注释 例如: df=spark.table('sometable') #添加注释df.write.saveAsTable('mytablewithcomments')Apache spark 使用pyspark向配置单元表添加注释,apache-spark,hive,pyspark,Apache Spark,Hive,Pyspark,我正在通过PySpark创建蜂巢表 在写入配置单元之前,是否有方法向每个列添加注释 例如: df=spark.table('sometable') #添加注释df.write.saveAsTable('mytablewithcomments') 使用csv选项(header true,path'/data/TABLE.csv')创建表名(column1 STRING,column2 STRING COMMENT“some COMMENT”,column3 LONG)登录到pyspark shel
使用csv选项(header true,path'/data/TABLE.csv')创建表名(column1 STRING,column2 STRING COMMENT“some COMMENT”,column3 LONG)
登录到pyspark shell
bash$ pyspark
>>> spark.sql("create table cmnt(id string COMMENT 'new')")
hive> desc formatted cmnt;
OK
# col_name data_type comment
id string new
然后登录到hive cli:
bash$ pyspark
>>> spark.sql("create table cmnt(id string COMMENT 'new')")
hive> desc formatted cmnt;
OK
# col_name data_type comment
id string new
然后您可以在配置单元表中看到注释 column类的
alias
方法采用metadata
选项,该选项可能包含注释
df_with_column_comment = df.select( df.col.alias( 'col',
metadata = { 'comment': 'Column description' }
) )
据我所知,列是不可变的,因此在创建后不能添加注释。我正在使用pyspark查找内容,而不是使用hiveql@gr.kr您可以使用spark SQL创建带有注释的表。感谢@dassum,我希望使用df.write.saveAsTable(“”)动态创建表,每个列上都有注释。FWIW,它似乎提供了答案,即使这个答案对提问者没有用处。如果它不正确,这就是向下投票的目的。谢谢@Shu,在从pyspark保存表时可以添加注释吗?例如:df.write.saveAsTable('mytable'),以便mytable对每列都有注释。@gr.kr,我认为这是不可能的,我们只能在创建配置单元表时向列添加注释!谢谢你的回复