参考链接:
http://my.oschina.net/weiqingbin/blog/194411
创建hive 表时对avro使用snappy压缩:
创建hive表的语句:
avro schema文件:
注意:在schema文件中,如果当数据文件中某个字段没有值,如果schema中没有出现允许该字段为null,会抛出错误。 一定要定义type,允许为空,且要加上默认值null
顺序不能变,否则也创建不成功:
正确顺序如:
{
"name": "ST_FLOATRESERV34",
"type": [
"null",
"double"
],
"default": null
}
创建hive 表时对avro使用snappy压缩:
点击(此处)折叠或打开
- hive> set hive.exec.compress.output=true;
- hive> set avro.output.codec=snappy;
点击(此处)折叠或打开
- CREATE EXTERNAL TABLE ecc_wj_2
- ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe'
- STORED AS
- INPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat'
- OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat'
- LOCATION '/lcz/data' --hdfs 路径
- TBLPROPERTIES (
- 'avro.schema.url'='hdfs:///lcz/device20102.avsc' --hdfs 路径
- );
点击(此处)折叠或打开
- {
- "namespace": "com.sany.ecc.model.huaxing",
- "type": "record",
- "name": "Device2010",
- "fields": [
- {
- "name": "ST_PID",
- "type": [
- "string",
- "null"
- ]
- },
- {
- "name": "ST_LOGINID",
- "type": [
- "string",
- "null"
- ]
- },
- {
- "name": "RE_EN_PID",
- "type": [
- "string",
- "null"
- ]
- },
- {
- "name": "ST_LOGINTIME",
- "type": [
- "long",
- "null"
- ]
- },
- {
- "name": "ST_CONNECTTIME",
- "type": [
- "long",
- "null"
- ]
- },
- {
- "name": "ST_UPDATETIME",
- "type": [
- "long",
- "null"
- ]
- },
- {
- "name": "ST_TOTALWKTIME",
- "type": [
- "double",
- "null"
- ]
- },
- {
- "name": "ST_WKTIME",
- "type": [
- "double",
- "null"
- ]
- },
- {
- "name": "ST_RMNTIME",
- "type": [
- "double",
- "null"
- ]
- },
- {
- "name": "ST_BERRORCODE",
- "type": [
- "int",
- "null"
- ]
- },
- {
- "name": "ST_WERRORCODE",
- "type": [
- "int",
- "null"
- ]
- },
- {
- "name": "ST_BALMCODE",
- "type": [
- "int",
- "null"
- ]
- },
- {
- "name": "ST_WALMCODE",
- "type": [
- "int",
- "null"
- ]
- },
- {
- "name": "ST_GPSSTA",
- "type": [
- "int",
- "null"
- ]
- },
- {
- "name": "ST_LONGITUDE",
- "type": [
- "double",
- "null"
- ]
- },
- {
- "name": "ST_LATITUDE",
- "type": [
- "double",
- "null"
- ]
- },
- {
- "name": "ST_ALTITUDE",
- "type": [
- "double",
- "null"
- ]
- },
- {
- "name": "ST_VELOCITY",
- "type": [
- "double",
- "null"
- ]
- },
- {
- "name": "ST_ORIENTATION",
- "type": [
- "double",
- "null"
- ]
- },
- {
- "name": "ST_SATICUNT",
- "type": [
- "int",
- "null"
- ]
- },
- {
- "name": "ST_SGNLQ",
- "type": [
- "double",
- "null"
- ]
- },
- {
- "name": "ST_STEPPOS",
- "type": [
- "int",
- "null"
- ]
- },
- {
- "name": "ST_ENGV",
- "type": [
- "double",
- "null"
- ]
- },
- {
- "name": "ST_OILLEV",
- "type": [
- "double",
- "null"
- ]
- },
- {
- "name": "ST_BATTERYVOL",
- "type": [
- "double",
- "null"
- ]
- },
- {
- "name": "ST_ERRDEALSTA",
- "type": [
- "int",
- "null"
- ]
- },
- {
- "name": "ST_CMMCTSCH",
- "type": [
- "int",
- "null"
- ]
- },
- {
- "name": "ST_UINTRESERV10",
- "type": [
- "int",
- "null"
- ]
- },
- {
- "name": "ST_UINTRESERV11",
- "type": [
- "int",
- "null"
- ]
- },
- {
- "name": "ST_UINTRESERV12",
- "type": [
- "int",
- "null"
- ]
- },
- {
- "name": "ST_UINTRESERV13",
- "type": [
- "int",
- "null"
- ]
- },
- {
- "name": "ST_UINTRESERV14",
- "type": [
- "int",
- "null"
- ]
- },
- {
- "name": "ST_UINTRESERV15",
- "type": [
- "int",
- "null"
- ]
- },
- {
- "name": "ST_UINTRESERV16",
- "type": [
- "int",
- "null"
- ]
- },
- {
- "name": "ST_UINTRESERV17",
- "type": [
- "int",
- "null"
- ]
- },
- {
- "name": "ST_UINTRESERV18",
- "type": [
- "int",
- "null"
- ]
- },
- {
- "name": "ST_UINTRESERV19",
- "type": [
- "int",
- "null"
- ]
- },
- {
- "name": "ST_UINTRESERV20",
- "type": [
- "int",
- "null"
- ]
- },
- {
- "name": "ST_UINTRESERV21",
- "type": [
- "int",
- "null"
- ]
- },
- {
- "name": "ST_UINTRESERV22",
- "type": [
- "int",
- "null"
- ]
- },
- {
- "name": "ST_UINTRESERV23",
- "type": [
- "int",
- "null"
- ]
- },
- {
- "name": "ST_UINTRESERV24",
- "type": [
- "int",
- "null"
- ]
- },
- {
- "name": "ST_UINTRESERV25",
- "type": [
- "int",
- "null"
- ]
- },
- {
- "name": "ST_UINTRESERV26",
- "type": [
- "int",
- "null"
- ]
- },
- {
- "name": "ST_UINTRESERV27",
- "type": [
- "int",
- "null"
- ]
- },
- {
- "name": "ST_UINTRESERV28",
- "type": [
- "int",
- "null"
- ]
- },
- {
- "name": "ST_UINTRESERV29",
- "type": [
- "int",
- "null"
- ]
- },
- {
- "name": "ST_UINTRESERV30",
- "type": [
- "int",
- "null"
- ]
- },
- {
- "name": "ST_UINTRESERV31",
- "type": [
- "int",
- "null"
- ]
- },
- {
- "name": "ST_UINTRESERV32",
- "type": [
- "int",
- "null"
- ]
- },
- {
- "name": "ST_FLOATRESERV13",
- "type": [
- "double",
- "null"
- ]
- },
-
- {
- "name": "ST_FLOATRESERV14",
- "type": [
- "double",
- "null"
- ]
- },
-
- {
- "name": "ST_FLOATRESERV15",
- "type": [
- "double",
- "null"
- ]
- },
-
- {
- "name": "ST_FLOATRESERV16",
- "type": [
- "double",
- "null"
- ]
- },
-
- {
- "name": "ST_FLOATRESERV17",
- "type": [
- "double",
- "null"
- ]
- },
-
- {
- "name": "ST_FLOATRESERV18",
- "type": [
- "double",
- "null"
- ]
- },
- {
- "name": "ST_FLOATRESERV19",
- "type": [
- "double",
- "null"
- ]
- },
- {
- "name": "ST_FLOATRESERV20",
- "type": [
- "double",
- "null"
- ]
- },
- {
- "name": "ST_FLOATRESERV21",
- "type": [
- "double",
- "null"
- ]
- },
- {
- "name": "ST_FLOATRESERV22",
- "type": [
- "double",
- "null"
- ]
- },
- {
- "name": "ST_FLOATRESERV23",
- "type": [
- "double",
- "null"
- ]
- },
- {
- "name": "ST_FLOATRESERV24",
- "type": [
- "double",
- "null"
- ]
- },
- {
- "name": "ST_FLOATRESERV25",
- "type": [
- "double",
- "null"
- ]
- },
- {
- "name": "ST_FLOATRESERV26",
- "type": [
- "double",
- "null"
- ]
- },
- {
- "name": "ST_FLOATRESERV27",
- "type": [
- "double",
- "null"
- ]
- },
- {
- "name": "ST_FLOATRESERV28",
- "type": [
- "double",
- "null"
- ]
- },
- {
- "name": "ST_FLOATRESERV29",
- "type": [
- "double",
- "null"
- ]
- },
- {
- "name": "ST_FLOATRESERV30",
- "type": [
- "double",
- "null"
- ]
- },
- {
- "name": "ST_FLOATRESERV31",
- "type": [
- "double",
- "null"
- ]
- },
- {
- "name": "ST_FLOATRESERV32",
- "type": [
- "double",
- "null"
- ]
- },
- {
- "name": "ST_CHECKMARK",
- "type": [
- "string",
- "null"
- ]
- },
- {
- "name": "ST_STATE",
- "type": [
- "int",
- "null"
- ]
- },
- {
- "name": "ST_MA_SERIALNO",
- "type": [
- "null",
- "string"
- ],
- "default": null
- },
- {
- "name": "ST_FLOATRESERV33",
- "type": [
- "null",
- "double"
- ],
- "default": null
- },
- {
- "name": "ST_FLOATRESERV34",
- "type": [
- "null",
- "double"
- ],
- "default": null
- }
- ]
- }
注意:在schema文件中,如果当数据文件中某个字段没有值,如果schema中没有出现允许该字段为null,会抛出错误。 一定要定义type,允许为空,且要加上默认值null
顺序不能变,否则也创建不成功:
正确顺序如:
{
"name": "ST_FLOATRESERV34",
"type": [
"null",
"double"
],
"default": null
}
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31347383/viewspace-2123733/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/31347383/viewspace-2123733/