博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
pig---用户自定义函数(UDF)
阅读量:7210 次
发布时间:2019-06-29

本文共 1078 字,大约阅读时间需要 3 分钟。

  hot3.png

用户自定义函数(UDF)  

public abstract class EvalFunc<T> {  
  public abstract T exec(Tuple input) throws IOException;  
  public List<FuncSpec> getAvgToFuncMapping() throws FrontendException;  
  public FuncSpec outputSchema() throws FrontendException;  }  
输入元组的字段包含传递给函数的表达式,输出是泛型;对于过滤函数输出就是Boolean类型。建议尽量在 
getAvgToFuncMapping()/outputSchema()申明输入和输出数据的类型,以便Pig进行类型转换或过滤不匹配类型的错误值。  
Grunt>REGISTER pig-examples.jar;  
          DEFINE isGood org.hadoopbook.pig.IsGoodQuality();  
加载UDF  
public LoadFunc {  
    public void setLocation(String location, Job job);  
    public InputFormat getInputFormat();  
    public void prepareToRead(RecordReader reader, PigSplit split);  
    public Tuple next() throws IOException;  }  
类似Hadoop,Pig的数据加载先于mapper的运行,所以保证数据可以被分割成能被各个mapper独立处理的部分非常重要。从Pig 0.7开始, 
加载和存储函数接口已经进行了大幅修改,以便与Hadoop的InputFormat和OutputFormat类基本一致。  
Grunt>Register loadfunc.jar  
          Define customLoad org.hadoopbook.pig.loadfunc()  
          records = load ‘input/sample.txt’ using customLoad(‘16-19, 88-92, 93-93’)  

                         as (year:int, temperature:int, quality:int);

更多精彩内容请关注:http://bbs.superwu.cn

关注超人学院微信二维码:

转载于:https://my.oschina.net/crxy/blog/420708

你可能感兴趣的文章
简单账表二次开发添加自定义字段
查看>>
又找到安装Python第三方模块的好法子
查看>>
如何安装ioncube扩展对PHP代码加密
查看>>
自定义报表是这样实现的
查看>>
How to Convert Dynamic Disk to Basic Disk without Losing Data?
查看>>
Tomcat的安装
查看>>
Script:ASM修复脚本,寻找LISTHEAD和Kfed源数据
查看>>
ubuntu开机进入字符界面方法
查看>>
硬盘常见故障
查看>>
python 自动下载网站相关附件
查看>>
centos 6.5安装视频解码器
查看>>
Freeradius, 执行 radtest, 出现错误
查看>>
Android启动出现白屏的解决办法(theme)
查看>>
设计模式之单例设计模式
查看>>
LVS DR模型详解
查看>>
linux 源码安装Rabbitmq
查看>>
python 练习-登录接口
查看>>
pt-heartbeat 监测RDS延迟
查看>>
使用IDEA导入工程时无反映的问题处理
查看>>
python selenium爬取kuku漫画
查看>>