Databricks环境下Apache Spark创建HIVE表触发SQL报错问题咨询
问题排查结果
核心错误原因
你写的SQL语句存在语法错误:FROM子句后直接跟存储路径时不需要加location关键字,该关键字仅用于创建外部表的语法中,放在语句末尾指定存储位置,放在FROM后会触发SQL解析异常。
对应场景解决方案
场景1:需求为创建指向路径数据的视图
直接删除FROM后的location关键字即可,正确代码如下:
%sql CREATE OR REPLACE VIEW testdatabase.testtable AS SELECT * FROM '/mnt/mylocation'
场景2:需求为创建HIVE外部表而非视图
如果你的实际需求是建HIVE表而不是视图,需要调整建表语法,此时才会用到LOCATION关键字,参考代码如下:
%sql CREATE OR REPLACE EXTERNAL TABLE testdatabase.testtable -- 可根据实际存储格式补充USING配置,比如USING PARQUET、USING CSV等 USING PARQUET LOCATION '/mnt/mylocation'
内容的提问来源于stack exchange,提问作者Patterson
相关产品推荐
相关产品推荐

