Hadoop 配置单元错误:编译语句:失败:ParseException行15:0在';处缺少EOF;收集';近''\n'';
我是hive的新手,正在创建一个具有以下属性的表Hadoop 配置单元错误:编译语句:失败:ParseException行15:0在';处缺少EOF;收集';近''\n'';,hadoop,hive,hiveql,hive-query,Hadoop,Hive,Hiveql,Hive Query,我是hive的新手,正在创建一个具有以下属性的表 CREATE EXTERNAL TABLE EXTTBL_Transactions ( TRANSACTION_ID varchar(70) COMMENT 'UniqueID, `Primary Key', DEFINITION_ID varchar(70) COMMENT 'Definition, Null Allowed', USER_ID varchar(70) COMMENT 'Contact id, Forei
CREATE EXTERNAL TABLE EXTTBL_Transactions
(
TRANSACTION_ID varchar(70) COMMENT 'UniqueID, `Primary Key',
DEFINITION_ID varchar(70) COMMENT 'Definition, Null Allowed',
USER_ID varchar(70) COMMENT 'Contact id, Foreign Key',
PURCHASE_DATETIME Timestamp COMMENT 'Saved dattime, Null Allowed',
PURCHASE_AMOUNT FLOAT COMMENT 'Sum value of number of product purchase,Null Allowed',
INTERACTIONS_ID varchar(70) COMMENT 'Unique interaction id, Foreign Key',
PRODUCT_DETAILS array<struct<PRODUCT_NAME:varchar(70),PRODUCT_PRICE:FLOAT>> COMMENT 'Product Details'
)
COMMENT 'Transaction details'
PARTITIONED BY (LOAD_DATE DATE)
row format delimited fields terminated by ','
lines terminated by '\n'
collection items terminated by '|'
map keys terminated by ':'
LOCATION 's3a://XXX/XXX//Transactions';
创建外部表EXTTBL\u事务
(
事务_ID varchar(70)注释'UniqueID,'Primary Key',
定义\u ID varchar(70)注释“定义,允许为空”,
用户ID varchar(70)注释“联系人ID,外键”,
PURCHASE_DATETIME时间戳注释“Saved dattime,允许为空”,
采购金额浮动注释“产品采购数量的总和,允许为空”,
交互_idvarchar(70)注释“唯一交互ID,外键”,
产品详细信息数组注释“产品详细信息”
)
注释“交易详情”
分区人(加载日期)
以“,”结尾的行格式分隔字段
以“\n”结尾的行
以“|”结尾的集合项目
以“:”结尾的映射键
位置“s3a://XXX/XXX//交易”;
在上面的代码中,我为产品详细信息创建了一个struct类型的数组。我用“|”分隔每个产品细节,用“:”分隔struct元素,但不知怎么的,这导致了一个错误 开始回答
顺序应该是字段
,集合项目
,地图键
,然后是行
哇,太快了。谢谢你的链接。让我知道这是否有效,我的配置单元表中通常没有这样的文本格式。排序查询之后,它对我有效。
row_format
: DELIMITED [FIELDS TERMINATED BY char [ESCAPED BY char]] [COLLECTION ITEMS TERMINATED BY char]
[MAP KEYS TERMINATED BY char] [LINES TERMINATED BY char]