Улей создает секционированную таблицу на основе временной таблицы Spark

#scala #apache-spark #hive #apache-spark-sql #hiveql

#scala #apache-spark #улей #apache-spark-sql #hiveql

Вопрос:

У меня есть временная таблица Spark spark_tmp_view со DATE_KEY столбцом. Я пытаюсь создать таблицу Hive (без записи временной таблицы в расположение parquet. То, что я пытался запустить, это 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 и как вставить данные после. Может кто-нибудь, пожалуйста, помочь? Большое спасибо.

Ответ №1:

PARTITIONED BY является частью определения создаваемой таблицы, поэтому оно должно предшествовать ...AS SELECT... , см. Синтаксис Spark SQL .