我正在尝试使用 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。
为了解决这个问题,我首先创建了表格
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] 删除。
我来说两句