hive默认是以tab为分隔符,分隔各个输出字段,如
hive> select get_json_object(json.value,'$.hour'),get_json_object(json.value,"$.channel") from json limit 10; Total MapReduce jobs = 1 Launching Job 1 out of 1 Number of reduce tasks is set to 0 since there's no reduce operator Starting Job = job_201304271626_0032, Tracking URL = http://linjianke:50030/jobdetails.jsp?jobid=job_201304271626_0032 Kill Command = /usr/lib/hadoop/bin/hadoop job -Dmapred.job.tracker=192.168.10.44:8021 -kill job_201304271626_0032 2013-05-15 10:07:11,102 Stage-1 map = 0%, reduce = 0% 2013-05-15 10:07:15,116 Stage-1 map = 100%, reduce = 0% 2013-05-15 10:07:17,125 Stage-1 map = 100%, reduce = 100% Ended Job = job_201304271626_0032 OK 2013-04-07 16 f32d98f8-8ac5-11e2-8a47-bc305bf4bcb8 2013-04-07 22 f32d98f8-8ac5-11e2-8a47-bc305bf4bcb8 2013-04-08 00 f32d98f8-8ac5-11e2-8a47-bc305bf4bcb8 2013-04-08 01 f32d98f8-8ac5-11e2-8a47-bc305bf4bcb8 2013-04-09 01 f32d98f8-8ac5-11e2-8a47-bc305bf4bcb8 2013-04-09 07 f32d98f8-8ac5-11e2-8a47-bc305bf4bcb8 2013-04-09 16 f32d98f8-8ac5-11e2-8a47-bc305bf4bcb8 2013-04-09 17 f32d98f8-8ac5-11e2-8a47-bc305bf4bcb8 2013-04-09 21 f32d98f8-8ac5-11e2-8a47-bc305bf4bcb8 2013-04-10 01 f32d98f8-8ac5-11e2-8a47-bc305bf4bcb8 Time taken: 9.531 seconds
因为业务需要,蒋输出转为json格式,可以用hive提供的transform函数
hive> select transform(get_json_object(json.value,'$.hour'),get_json_object(json.value,"$.channel")) using '/usr/bin/python transform.py aa bb' as (result string) from json limit 10;
输出为
{"aa":"2013-04-07 16","bb":"f32d98f8-8ac5-11e2-8a47-bc305bf4bcb8"} {"aa":"2013-04-07 22","bb":"f32d98f8-8ac5-11e2-8a47-bc305bf4bcb8"} {"aa":"2013-04-08 00","bb":"f32d98f8-8ac5-11e2-8a47-bc305bf4bcb8"} {"aa":"2013-04-08 01","bb":"f32d98f8-8ac5-11e2-8a47-bc305bf4bcb8"} {"aa":"2013-04-09 01","bb":"f32d98f8-8ac5-11e2-8a47-bc305bf4bcb8"} {"aa":"2013-04-09 07","bb":"f32d98f8-8ac5-11e2-8a47-bc305bf4bcb8"} {"aa":"2013-04-09 16","bb":"f32d98f8-8ac5-11e2-8a47-bc305bf4bcb8"} {"aa":"2013-04-09 17","bb":"f32d98f8-8ac5-11e2-8a47-bc305bf4bcb8"} {"aa":"2013-04-09 21","bb":"f32d98f8-8ac5-11e2-8a47-bc305bf4bcb8"} {"aa":"2013-04-10 01","bb":"f32d98f8-8ac5-11e2-8a47-bc305bf4bcb8"}
python脚本:对python还不大熟悉,写的可能比较搓
#!/usr/bin/python #coding:utf8 import sys for line in sys.stdin: if len(line) == 0: #print 'end' break if line.count('\n') == len(line): #print 'continue' continue line=line.strip('\n') arr=line.split('\t') if len(arr) != len(sys.argv) - 1: print 'error' break for i in range(0,len(arr)): arr[i]='"%s":"%s"' % (sys.argv[i+1],arr[i]) content = ','.join(arr) print '{%s}' % content
相关推荐
hive解析json时所需jar包。具体使用: add jar ../../../target/json-serde-1.3-jar-with-dependencies.jar; CREATE TABLE json_nested_test ( country string, languages array, religions map,array<int>>) ...
hive-json-schema最新源代码hive-json-schema最新源代码hive-json-schema最新源代码hive-json-schema最新源代码hive-json-schema最新源代码hive-json-schema最新源代码hive-json-schema最新源代码hive-json-schema...
06.hive中的json解析函数--json-tuple.mp4
05.hive中如何自定义函数--json解析函数示例.mp4
hive,json格式传送,加载数据
hive-json-serde-0.2.jar
解决kettle使用表输出到hive2时,批量提交不起作用导致速度非常慢的问题,重新编译big-data-plugin插件使表输出支持对hive2批量提交,速度由几十条每秒提升到三千条每秒。
(Hive输出)ETLDesigner\common\system\karaf\system\pentaho\pentaho-big-data-kettle-plugins-hive\6.1.0.1-196\下的文件。 (Hive输出)pentaho-big-data-kettle-plugins-hive-6.1.0.1-196。
Hive-JSON-Serde-1.3.8.zip
hive_udf_处理JSON数组
hive2.1.1orc格式读取报数组越界错误,替换jar包。hive-exec-2.1.1-cdh6.3.2.jar、hive-orc-2.1.1-cdh6.3.2.jar。分发各个服务器即可。
hive hive hive hive hive hive hive hive hive hive hive hive
hive中json序列化发序列化工具,在hive建表语句中使用row format serde "org.openx.data.jsonserde.JsonSerDe"语句。
CDH550下的hive的存储格式介绍和HQL的详细说明。一般数据存储模式主要有三种,1)行存储;2)列存储;3)混合存储。 1)行存储模式就是:把一整行存在一起,包含所有的列,这是最常见的模式。这种结构能很好的适应...
使用hive3.1.2和spark3.0.0配置hive on spark的时候,发现官方下载的hive3.1.2和spark3.0.0不兼容,hive3.1.2对应的版本是spark2.3.0,而spark3.0.0对应的hadoop版本是hadoop2.6或hadoop2.7。 所以,如果想要使用高...
hive 函数大全
HIVE更新JSON元数据 这是一个使用更新HIVE帐户的JSON元数据的小工具。 可以在以下位置访问该工具: : 如果您有任何疑问或建议,请随时联系 。 用法 输入您的HIVE用户名,点击“加载JSON元数据” 出现一个文本...
该库使Apache Hive能够以JSON格式进行读写。 它包括对序列化和反序列化(SerDe)以及JSON转换UDF的支持。 特征 读取以JSON格式存储的数据 在INSERT INTO 期间将数据转换为JSON格式 支持JSON数组和映射 支持嵌套数据...
hive的数组解析json中的数组,Map解析json中的对象:{“ pluginList”:[{“ name”:“ 1”,“ browser”:“ 1”,“ on”:“ 2”},{“ name“:” 1“,” browser“:” 3“,” on“:” 2“}]}创建表sql:...