我想使用 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
请问我该如何解决?
我想使用 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
请问我该如何解决?
Create Table Like应该没有列规范,因为 LIKE 意味着创建具有与其他表完全相同的模式的表。
表位置也是存储数据文件的文件夹,最后应该没有/*
,如下所示:
CREATE EXTERNAL TABLE IF NOT EXISTS test1 LIKE 'EPCTR_201804'
LOCATION '/hdfs/t1/tt1/PR/34/1xx/E1ERPSE/201801/PR/20180202-000758';
您不必为新表提供架构。使用时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/*';