Hadoop使用Streaming技术来替代Java编程,允许用户使用其他语言实现业务逻辑处理Streaming采用UNIX标准输入输出机制(stdin/stdout)作为应用程序和Hadoop计算框架之间的数据接口标准只要符合标准I/O接口,开发人员便可以选择任意语言编写

Map/Reduce模块

下面来做个测试:

表里一共有两列数据,当第二列的sex为1时,输入为man,当sex为2 时输出为women

一、在Hive里面创建表

CREATE TABLE IF NOT EXISTS test (name String,sex int)

row format delimited fields terminated by ',';

二、加载数据

先准备好text.txt

内容如下:

li,2

liu,1

wang,1

zhao,2

lin,2

加载进表里

load data local inpath 'text.txt' into table test;

三、使用python编写UDF

# encoding: utf-8

#!/usr/bin/python

import sys

def parsesex(line):

data=int(line)

if data == 1:

return 'man'

elif data == 2:

return 'womem'

else:

return 'error'

for line in sys.stdin:

line = line.strip()

print(parsesex(line))

四、测试

在hive里面加载py文件

add file /usr/local/src/test.py

在HQL中使用TRANSFORM函数动态执行Python文件:

select TRANSFORM(sex) USING 'python test.py' as sex from test;

测试成功。

如果遇到报错:

Job Submission failed with exception 'java.io.IOException(Unable to close file because the last block does not have enough number of replicas.)'

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask

说明机器性能不好,换一个好点的机器,或者重新提交一次任务试试。

hadooppythonudf_Hive使用python编写的自定义函数UDF进行ETL相关推荐

  1. 《手把手陪您学Python》26——自定义函数

    在上一篇<手把手陪您学Python>25--列表推导式中,我们学习了推导式的相关概念和使用方法,使用推导式的方法,可以减少代码的输入量.提高可读性,是Python中非常受欢迎的一种形式. ...

  2. R语言使用caret包的confusionMatrix函数计算混淆矩阵、使用编写的自定义函数可视化混淆矩阵(confusion matrix)

    R语言使用caret包的confusionMatrix函数计算混淆矩阵.使用编写的自定义函数可视化混淆矩阵(confusion matrix) 目录

  3. T-SQL: 17 个与日期时间相关的自定义函数(UDF),周日作为周的最后一天,均不受 @@DateFirst、语言版本影响...

    CSDN 的 Blog 太滥了!无时不刻地在坏! 开始抢救性搬家 ... ... 到这里重建家园 /* T-SQL: 17 个与日期时间相关的自定义函数(UDF),周日作为周的最后一天,均不受 @@D ...

  4. oracle sql 调用自定义函数_PSCAD入门教程(第7节):怎样调用fortran编写的自定义函数?(附模型)...

    PSCAD入门教程(第7节):怎样调用fortran编写的自定义函数?(附模型)​mp.weixin.qq.com https://www.zhihu.com/video/12422083467175 ...

  5. hive 元数据 自定义_如何在Hive中创建自定义函数UDF及如何直接通过Impala的同步元数据重用UDF的jar文件-阿里云开发者社区...

    如何在Hive中创建自定义函数UDF及使用 如何在Impala中使用Hive的自定义函数 UDF函数开发 使用Intellij工具开发Hive的UDF函数,进行编译: 1.使用Intellij工具通过 ...

  6. T-SQL: 17 个与日期时间相关的自定义函数(UDF),周日作为周的最后一天,均不受 @@DateFirst、语言版本影响!...

    原文:T-SQL: 17 个与日期时间相关的自定义函数(UDF),周日作为周的最后一天,均不受 @@DateFirst.语言版本影响! CSDN 的 Blog 太滥了!无时不刻地在坏! 开始抢救性搬家 ...

  7. Hive内置运算函数,自定义函数(UDF)和Transform

    4.Hive函数 4.1 内置运算符 内容较多,见<Hive官方文档>   4.2 内置函数 内容较多,见<Hive官方文档> https://cwiki.apache.org ...

  8. T-SQL里数据库工程师都不知道的秘密之SQL Server自定义函数UDF

    T-SQL SQL Server UDF自定义函数概念与案例实战 函数的定义 这里的函数指的是用户自定义函数(UDF)全名为(user-defined function),以下简称为函数. 它是数据库 ...

  9. 详解Python模块化编程-自定义函数

    本文目录 0.楔子 1.自定义函数格式 2.编写函数说明文档 3.函数参数函数形参和实参区别位置实参关键字实参默认实参让实参可选传递任意数量的实参结合使用位置实参和任意数量实参使用任意数量的关键字实参 ...

最新文章

  1. 技术图文:位运算技术在求解算法题中的应用
  2. 网站优化上首页不算成功稳定排名才算
  3. python 换行符的识别问题,Unix 和Windows 中是不一样的
  4. 求方差时为什么要除以N—1,而不是除以N!【通俗理解-非数学专业】
  5. 设计师必备导航类网站,内有宝藏!
  6. mysql存储过程数组字符串_Mysql通过存储过程分割字符串为数组
  7. (5)STM32使用HAL库实现串口通讯——实战操作
  8. 支持https协议么_你真的了解网址么?
  9. ADS(Advanced Design system)原理图结合板层结构仿真(MSub)及版图仿真(EM Simulation)
  10. linux下wav转换为mp3
  11. PW4052锂电池充电管理芯片2.5A 单节(多并)锂 电池充电管理
  12. 涨姿势 之 Sourcetree 显示头像
  13. Android源码分析(十三)----SystemUI下拉状态栏如何添加快捷开关
  14. HBM(高带宽内存)、GDDR SDRAM(图形双倍速率同步动态随机存储器)
  15. unity编辑器一些设置
  16. 【Java基础】重写equals方法详讲
  17. 在Controller注入Service报错的解决方法
  18. O2OA框架使用笔记
  19. 基于php食堂外卖系统
  20. python3将文本内容生成词云

热门文章

  1. Cortex-M系列处理器指令集区别详解
  2. python开发--ModuleNotFoundError: No module named 'pyaudio'
  3. 瑞克·李特的追寻 正是我们所需要做的!中国
  4. 创业,白手起家需要些什么?
  5. Tnpsp创业项目计划将与阿里巴巴展开全面竞争!
  6. 蔚来Q4经调整净亏损17亿元 部分车型将调价
  7. 阿里健康研究院:仅17%人群拥有高质量睡眠 4成95后00后天天熬夜
  8. 华邦电子2022年1月营收为新台币86.90亿元
  9. 宣称“禁用新疆产品”,英特尔紧急道歉:出于表述合规合法初衷
  10. 小米12系列有望于双12当天发布:贴合命名 争取骁龙8G1首发