Hive基于Spark临时表创建分区表

问题描述

我有一个带有spark_tmp_view列的Spark临时表DATE_KEY。我正在尝试创建一个Hive表(而不是将临时表写入到镶木地板位置。我试图运行的是spark.sql("CREATE EXTERNAL TABLE IF NOT EXISTS mydb.result AS SELECT * FROM spark_tmp_view PARTITIONED BY(DATE_KEY DATE)")

我遇到的错误mismatched input 'BY' expecting <EOF>,我尝试搜索但仍然无法从Spark应用程序中弄清楚该如何做以及如何在其后插入数据。有人可以帮忙吗?非常感谢。

解决方法

PARTITIONED BY是正在创建的表的定义的一部分,因此它应位于...AS SELECT...之前,请参见Spark SQL syntax