1

我想使用 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

请问我该如何解决?

4

2 回答 2

0

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';
于 2019-01-09T10:52:04.267 回答
0

您不必为新表提供架构。使用时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/*';
于 2019-01-09T10:51:25.813 回答