odps编写UDF 利用Gson提取JSON

开头:


楼主近期参加了阿里云的平台赛,安全云计算。使用阿里云的odps平台进行数据转换,因为原始数据是json字符串,因此需要自己编写UDF进行json字符串的提取

搜索良久,自己总结了json提取的整个平台操作和编写流程。在此做一些分享,希望能帮助像我一样的新手更快入手云平台上,希望更多人参加云计算比赛,祝阿里云平台发展越来越好。


思路:

1.本地编译udf需要导入官方的maven骨架-------第一章

2. 因为变量都是如

    [{\"time\":7149,\"type\":0,\"target\":\"****\"},{\"time\":5718,\"type\":1,\"target\":\"****\"}]

    的包含多个对象的json字符串,我们希望返回所有对象的time数据的均值,方差等

     因此编写UDF,利用java的GSON包,提取json返回统计数据组成的字符串(因为udf一次只能返回一个String结果,返回格式为"time_avg time_var type_count")-------第二章

3. 数加平台上利用split_part语句,将第二步中得到的空格+统计数据的字符串,转换为一个个的统计变量-----第三章


第一章

安装maven

下载maven

http://mirrors.hust.edu.cn/apache/maven/maven-3/3.3.9/binaries/

配置 maven 环境变量:

 

Win10:我的电脑---右键属性----系统高级设置---高级---环境变量

 

       系统变量中新建:MAVEN_HOME = D:\Development\apache-maven-3.0.4

 

       系统变量path添加:path = %MAVEN_HOME%\bin

 

       如果发现报错,可能是没有安装java,没有设置JAVA_HOME

       系统变量新建JAVA_HOME  值为C:\Program Files\Java\jdk1.6.0_23

 

       打开 cmd,在里面敲:mvn –version

显示如下即正确

Apache Maven 3.3.9(bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)

Maven home: G:\apache-maven-3.3.9\bin\..

Java version: 1.8.0_102, vendor: OracleCorporation

Java home: C:\ProgramFiles\Java\jdk1.8.0_102\jre

Default locale: zh_CN, platform encoding:GBK

OS name: "windows 10", version:"10.0", arch: "amd64", family: "dos"

配置eclipse 的maven环境

 

参考http://jingyan.baidu.com/article/60ccbceb01de4d64cbb19756.html

 

1)       添加远程repository

Eclipse中依次点击window-> Preferences -> Maven -> Arthetypes ,在打开的对话框中点击 Add Remote Catalog按钮:


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值