【发布时间】:2016-10-21 02:20:00
【问题描述】:
我知道我们可以通过
创建一个自动分区发现表CREATE TABLE my_table
USING com.databricks.spark.avro
OPTIONS (path "/path/to/table");
但这需要将数据路径更改为partition_key=partition_value格式
/path/to/table/dt=2016-10-09
/path/to/table/dt=2016-10-10
/path/to/table/dt=2016-10-11
但是数据结构看起来像:
/path/to/table/2016-10-09
/path/to/table/2016-10-10
/path/to/table/2016-10-11
我不想改变现有的数据结构,所以我尝试像Hive那样做,我只是创建一个分区表,然后我可以自己添加这些分区,所以我不需要改变partition_key=partition_value 格式的现有数据结构。
但是下面的 SQL 不起作用:
CREATE TABLE my_table
USING com.databricks.spark.avro
PARTITIONED BY (dt)
OPTIONS (path "/path/to/table");
SQL命令行工具会抛出异常:Error in query: cannot recognize input near 'thrive_event_pt' 'USING' 'com' in table name; line 2 pos 0
Spark SQL 是否支持以这种方式创建分区表?还是我还缺少其他东西?
【问题讨论】:
标签: hadoop apache-spark hive apache-spark-sql