Pyspark sql创建hive分区表



我试图使用spark sql从pyspark dataframe创建一个hive分区表。下面是我正在执行的命令,但是得到一个错误。下面有错误信息。

df.createOrReplaceTempView(df_view)
spark.sql("create table if not exists tablename PARTITION (date) AS select * from df_view")

错误:pyspark.sql.utils.ParseException:u"nmismatched input 'PARTITION' expecting <EOF>

当我尝试在没有分区(日期)的情况下运行时,它工作得很好。但是我无法创建分区。

如何创建带有分区的表并插入日期。

为了解决这个问题,我首先创建了这个表

spark.sql("创建表如果不存在table_name (name STRING,age INT)由(date_column STRING)")

使用以下命令设置动态分区为非严格分区。spark.sql("SET hive.exe .dynamic.partition = true")spark.sql(SET hive.exe .dynamic.partition.mode = nonstrict")sql("insert into table table_name PARTITION (date_column)) select *,'%s from df_view"%当前日期))

其中current date是带有今天日期的变量。

最新更新