Pyspark sql 创建 hive 分区表

兽足123

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

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>

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

如何创建带分区的表并将日期 from.pyspark 数据帧插入到 hive。

兽足123

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

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

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

其中当前日期是具有今天日期的变量。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章