【问题标题】:Pyspark sql to create hive partitioned tablePyspark sql 创建 hive 分区表
【发布时间】:2021-11-13 12:30:10
【问题描述】:

我正在尝试使用 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 (date) 运行时,它工作正常。但是我无法使用分区创建。

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

【问题讨论】:

标签: apache-spark pyspark hive


【解决方案1】:

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

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("insert into table table_name PARTITION (date_column) select *,'%s from df_view" % current_date))

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

【讨论】:

  • 你去......
猜你喜欢
  • 2015-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-22
相关资源
最近更新 更多