【问题标题】:Error : ParseException line 2:0 missing EOF at 'LIKE' near ')'错误:ParseException 行 2:0 在 ')' 附近的 'LIKE' 处缺少 EOF
【发布时间】:2019-01-09 10:44:13
【问题描述】:

我想使用 like 选项创建外部表。

CREATE EXTERNAL TABLE IF NOT EXISTS test1 (rec string)
 LIKE 'EPCTR_201804'
 LOCATION '/hdfs/t1/tt1/PR/34/1xx/E1ERPSE/201801/PR/20180202-000758/*';

但这个错误显示为:

失败:ParseException 行 2:0 在 ')' 附近的 'LIKE' 处缺少 EOF

请问如何解决?

【问题讨论】:

    标签: hive create-table hiveddl


    【解决方案1】:

    您不必为新表提供架构。当您使用CREATE TABLE LIKE 时,新表与旧表保持相同的架构。

    使用以下:

    CREATE EXTERNAL TABLE IF NOT EXISTS test1 
     LIKE 'EPCTR_201804'
     LOCATION '/hdfs/t1/tt1/PR/34/1xx/E1ERPSE/201801/PR/20180202-000758/*';
    

    【讨论】:

    • 谢谢,但我收到此错误ParseException line 1:7 cannot recognize input near 'CREATE' 'EXTERNEL' 'TABLE' in ddl statement
    【解决方案2】:

    Create Table Like 应该没有列规范,因为 LIKE 意味着创建与另一个表具有完全相同架构的表。

    另外table location是存放数据文件的文件夹,最后应该没有/*,像这样:

    CREATE EXTERNAL TABLE IF NOT EXISTS test1 LIKE 'EPCTR_201804'
     LOCATION '/hdfs/t1/tt1/PR/34/1xx/E1ERPSE/201801/PR/20180202-000758';
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-04
      • 2017-11-19
      • 2021-01-03
      • 1970-01-01
      • 1970-01-01
      • 2021-04-28
      相关资源
      最近更新 更多