Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 使用pyspark向配置单元表添加注释_Apache Spark_Hive_Pyspark - Fatal编程技术网

Apache spark 使用pyspark向配置单元表添加注释

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

我正在通过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 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,我认为这是不可能的,我们只能在创建配置单元表时向列添加注释!谢谢你的回复