列规范时间戳记无法在创建表中重新识别

时间:2019-01-07 17:31:38

标签: hive

我在读取avro文件时遇到问题,在架构文件中有时间戳列名称

CREATE EXTERNAL TABLE sampe_table 
(
username string,
tweet string,
`timestamp` long
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe'
STORED AS AVRO 
LOCATION 'hdfs:////user/hive/warehouse/avrodata/' 

错误 AILED:ParseException行5:12无法识别列类型中'long'')''STORED'附近的输入 我也设置了SET hive.support.sql11.reserved.keywords=false; 但我仍然有错误

1 个答案:

答案 0 :(得分:0)

配置单元没有 Long 类型。

使用 Bigint .. etc数据类型代替 long

HiveDDL:

CREATE EXTERNAL TABLE sampe_table 
(
username string,
tweet string,
`timestamp` bigint
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe'
STORED AS AVRO 
LOCATION 'hdfs:////user/hive/warehouse/avrodata/'; 

请参阅this链接,以获取有关Hive中所有受支持类型的更多详细信息。