Hadoop 在配置单元中创建表时无法确定架构
我正在尝试使用以下查询创建配置单元表Hadoop 在配置单元中创建表时无法确定架构,hadoop,hive,hdfs,avro,Hadoop,Hive,Hdfs,Avro,我正在尝试使用以下查询创建配置单元表 如果不存在,则创建外部表test\u表分区依据(loaded\u stage\u date BIGInt) 行格式SERDE'org.apache.hadoop.hive.serde2.avro.AvroSerDe' 存储为INPUTFORMAT“org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat” OUTPUTFORMAT'org.apache.hadoop.hive.ql.io.avro.
如果不存在,则创建外部表test\u表分区依据(loaded\u stage\u date BIGInt)
行格式SERDE'org.apache.hadoop.hive.serde2.avro.AvroSerDe'
存储为INPUTFORMAT“org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat”
OUTPUTFORMAT'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat'
地点'hdfs:///dev/data/warehouse/clean/abc/source/tao/bdo/test_table'
TBLProperty('avro.schema.url'='hdfs:///dev/data/warehouse/clean/abc/source/tao/dbo/test_table/.metadata/test_table.avsc');代码>
表架构如下所示:
{
"type":"record",
"name":"test",
"namespace":"com.abc.def.jhon",
"doc":"test",
"fields": [{
"name":"ID",
"type":"string"
} ,{
"name":"LOGIN_ID",
"type":"string"
} ,{
"name":"ENAME",
"type":"string"
} ,{
"name":"STATE",
"type":"string"
} ,{
"name":"LOCAL_START_TIME",
"type":"long"
} ,{
"name":"LOCAL_STOP_TIME",
"type":"long"
} ,{
"name":"UTC_START_TIME",
"type":"long"
} ,{
"name":"UTC_STOP_TIME",
"type":"long"
} ,{
"name":"NDX",
"type":"long"
} ,{
"name":"STATE_INDX",
"type":"float"
} ,{
"name":"GUID",
"type":"string"
} ,{
"name":"DURATION_SECONDS",
"type":"bigint"
}]
}
我得到以下错误:
error_error_error_error_error_error_error string from deserializer
cannot_determine_schema string from deserializer
check string from deserializer
schema string from deserializer
url string from deserializer
and string from deserializer
literal string from deserializer
loaded_stage_date bigint
但是,当我在avsc(模式文件)文件中将列类型指定为int而不是bigint时,它运行良好
将类型更改为“长”有效。。。。