• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >云计算 > 1006-hive的自定义UDF函数,1006-hiveudf函数

1006-hive的自定义UDF函数,1006-hiveudf函数

作者:网友 字体:[增加 减小] 来源:互联网

本文主要包含udf自定义函数,自定义udf,hive 自定义udf,udf中定义正弦速度,udf定义材料等服务器相关知识,网友希望可以进行参考

1006-hive的自定义UDF函数,1006-hiveudf函数


hive可以任意定义一个函数,然后该函数放到hive的classpath下,在进入hive中,使用该命令操作
场景:设中国移动的用户在商城上下单,下单记录的主要字段包括 订单号     手机号码               商品编码          商品数量          渠道 10000     18810637891     bm0001          1                      0001   10001     18710637891     bm0002          2                      0002 10002     18710637891     bm0001          1                      0001 10003     18610637891     bm0002          2                      0003 10004     18610637891     bm0002          5                      0001 10005     18610637891     bm0004          2                      0005
已知:如何根据手机号得知该用户对应的省份。假设规则如下(即:手机号前三位和省份的对应的关系) 188     北京(bj) 187     上海(sh) 186     河北(hb)

对上面的记录在手机号的后面加上省份字段,然后把其余字段输出并上传hdfs上
解决方案: 1、下单记录日志存放在日志文件jforder.log中 [hadoop@cloud01 sbin]$ hadoop fs -mkdir /external
[hadoop@cloud01 sbin]$ hadoop fs -mkdir /external/hive


hive> create external table  jf_order (orderNo string ,mobileNo string,wareCode string,amount int ,channel string)
    > row format delimited
    > fields terminated by '\t'
    > location '/external/hive';

[hadoop@cloud01 ~]$ more jforder.log
10000     18810637891     bm0001     1     0001 
10001     18710637891     bm0002     2     0002
10002     18710637891     bm0001     1     0001
10003     18610637891     bm0002     2     0003
10004     18610637891     bm0002     5     0001
10005     18610637891     bm0004     2     0005
[hadoop@cloud01 ~]$ hadoop fs -put jforder.log /external/hive


2、编写hive的函数areaFunction,作用根据手机号获取对应的用户省份
3、启动eclipse,编写udf函数 /**  * @function: 定义省份转换函数,加载hive的 classpath下,可以直接使用  * @author shenfl  * @version:1.0  * @date: 2015 -5- 31  *  */ public class AreaFunction extends UDF {            /*定义静态变量*/      public static Map<String, String> map = new HashMap<String,String >();      /*可扩展数据数据库获取*/      static{            map .put("188" ,"北京" );            map .put("187" , "上海" );            map .put("186" ,"河北" );      }      public String evaluate(String mobileNumber ){            return mobileNumber + "\t" + map .get(mobileNumber .substring(0, 3));      }            public static void main(String [] args ) {           AreaFunction area = new AreaFunction();            String mobileNumber = "18810635789" ;            String rs = area.evaluate( mobileNumber );           System. out<
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 1006-hive的自定义UDF函数,1006-hiveudf函数

相关文章

  • Greenplum+Hadoop学习笔记-14-定义数据库对象之创建与管理序列、索引以及视图,hadoop-14-
  • Redis源码学习-Lua脚本,redis源码-lua
  • Cloud Foundry buildpack开发部署实例解析,foundrybuildpack
  • Redis学习(一)安装并测试,redis学习安装测试
  • Hadoop之——伪分布安装,hadoop伪分布
  • hadoop学习笔记(二)——hadoop思想简介,hadoop学习笔记
  • HDFS学习笔记(2)hdfs_shell &amp; JavaAPI,hdfshdfs_shell
  • Kafka集群安装,kafka集群
  • OSTC 2015,ostc2015
  • HDFS读文件解析,

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • 从Hadoop URL中读取数据,hadoopurl读取数据
    • TopicModel主题模型,topicmodel模型
    • libvirt网络过滤规则:禁止客户机(bridge方式)连接外网,libvirtbridge
    • Ambari管理Hadoop集群时遇到的问题,ambarihadoop
    • 一道hadoop面试题,hadoop面试题
    • 数学定理证明机械化的中国学派(I),机械化学派
    • SSH无密码登陆配置,ssh无密码登陆
    • Hadoop之——HDFS命令,hadoophdfs
    • Mellanox网卡,使用netperf进行性能测试,mellanoxnetperf
    • hadoop 2.6.0 安装过程,hadoop2.6.0

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有