Pyspark sql 创建分区的配置单元 table

Pyspark sql to create hive partitioned table

我正在尝试使用 spark sql 从 pyspark 数据帧创建一个分区 table 的配置单元。下面是我正在执行的命令,但出现错误。以下错误消息。

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>

当我在上面的行中尝试 运行 没有分区(日期)时,它工作正常。但是我无法创建分区。

如何使用分区创建 table 并将日期 from.pyspark 数据帧插入配置单元。

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

spark.sql("如果不存在则创建 table table_name (name STRING,age INT) partitioned by (date_column STRING)")

然后使用下面的方法将动态分区设置为非严格。 spark.sql("设置 hive.exec.dynamic.partition = 真") spark.sql("SET hive.exec.dynamic.partition.mode = nonstrict") spark.sql("插入 table table_name PARTITION (date_column) select *,'%s from df_view" % current_date ))

当前日期是今天日期的变量。