hadoop pig vertica是hadoop pig udf loader and storer的DB版,在github上开源,感谢感谢
本文就不贴代码了,附件里有源码,想了解的可以下载
先贴一张vertica的目录
其中verticaLoader,verticaStorer是vertica给出的接口类,是hadoop pig的loader和storer的UDF
verticaLoader对于读取数据库分解为多个maper,其在于读取数据库的分页,以及sql语句的等价拆分。
verticalStorer则相对简单,只是简单的类型转换,insert语句到数据库
verticalLoader和verticaStorer现在只是做了简单的功能实现,对于连接池,多数据库支持,元数据等都没有考虑,并且loader的split策略过于单一。
这里贴出verticaLoader:
public class VerticaLoader extends LoadFunc implements LoadMetadata{ ...... private RecordReader<?, ?> reader = null; //设置用户签名 @Override public void setUDFContextSignature(String signature) { System.out.println("setUDFContextSignature invocation...."+signature); this.contextSignature = signature; } @Override public InputFormat<?, ?> getInputFormat() throws IOException { System.out.println("getInputFormat invocation..."+getQuery()+"-----------"+getParameters()); return new VerticaInputFormat(getQuery(), getParameters()); } private Tuple translate(VerticaRecord v) throws IOException { int columns = v.size(); Tuple result = TupleFactory.getInstance().newTuple(columns); for (int i = 0; i < columns; i++) { Object obj = v.get(i); Integer type = v.getType(i); ...... } } return result; } //获取reader读取后的数据,返回数据tuple @Override public Tuple getNext() throws IOException { .... return translate(value); } //读取前的准备 @Override @SuppressWarnings("rawtypes") public void prepareToRead(RecordReader reader, PigSplit split) throws IOException { ..... this.reader = reader; } //固定读取的schemal,这里去读db的datameta @Override public ResourceSchema getSchema(String location, Job job) throws IOException { 。。。。。 } //设置loader的地址,在pig script loader中的location,这里包含数据库 //信息,以及sql语句 @Override public void setLocation(String location, Job job) throws IOException { ...... } @Override public String[] getPartitionKeys(String location, Job job) { return null; } @Override public void setPartitionFilter(Expression filter) { } @Override public ResourceStatistics getStatistics(String location, Job job) { return null; } //Important to override because of PIG-1378 @Override public String relativeToAbsolutePath(String location, Path curdir) throws IOException { try { String enc = java.net.URLEncoder.encode(location, "UTF-8"); return enc; } catch (java.io.UnsupportedEncodingException e) { throw new IOException(e); } } }在verticaloader中方法getInputFormat,返回verticaInputFormat,它继承于org.apache.hadoop.mapreduce.InputFormat<LongWritable, VerticaRecord>。
想必不用多说它的实现,自定义hadoop inputFormat的帖子有不少,不在累述
相关推荐
经典大作 hadoop the definitve guide programming hive programming pig
网站访问日志,可以用来进行Hadoop pig分析使用
最全 hadoop pig中文PDF编程指南,非开发方式进行数据处理。
hadoop-0.21.0-vertica.jar
Hadoop技术Pig简介共11页.pdf.zip
Hadoop_HBase_Pig
完整版大数据云计算课程 Hadoop数据分析平台系列课程 Hadoop 08 Pig安装与Pig Latin语言,应用案例 共26页.rar
能独立熟练完成Hadoop的...能独立完成pig的安装并且利用pig做简单的数据分析工作 能独立完成Hbase的安装和配置 了解Hbase的原理并能进行简单的shell操作 能独立完成Hive的安装和配置 了解Hive的原理及进行HiveQL操作
Pig运行在Hadoop上,是对大型数据集进行分析和评估的平台。它简化了使用Hadoop进行数据分析的要求,提供了一个高层次的、面向领域的抽象语言:PigLatin。通过PigLatin,数据工程师可以将复杂且相互关联的数据分析...
目标是学习 Apache(大)数据库框架 - Hadoop、Pig、Hive、Hbase 描述 目前在 2 个数据集上有 3 个项目: 百万歌曲数据集 Most_Popular_Genres :使用非常简单的流派识别(Apache Hive 与 Apache Pig)确定“21 ...
本书从hadoop的缘起开始,由浅入深,结合理论和实践,全方位地介绍hado叩这一高性能处理海量数据集的理想工具。全书共14章,3个附录,涉及的主题包括:haddoop简介:mapreduce简介:hadoop分布式文件系统;hadoop的i...
Hadoop技术-Pig简介.pptx
[奥莱理] Pig 编程 (英文版) [奥莱理] Programming Pig (E-Book) ☆ 出版信息:☆ [作者信息] Brent Chaters [出版机构] 奥莱理 [出版日期] 2011年10月20日 [图书页数] 224页 [图书语言] 英语 [图书格式] ...
在windows环境下开发hadoop时,需要配置HADOOP_HOME环境变量,变量值D:\hadoop-common-2.7.3-bin-master,并在Path追加%HADOOP_HOME%\bin,有可能出现如下错误: org.apache.hadoop.io.nativeio.NativeIO$Windows....
mortar-recsys, 一种基于砂浆数据的Hadoop和 Pig 定制推荐 Mortar推荐引擎一个定制推荐引擎的Hadoop和 Pig,通过迫击炮数据。入门/教程这个项目包含了几个完整的。可以运行的示例数据示例数据,以及一个模板项目。...
深度介绍Vertica产品总体架构、核心优势、集群能力、Vertica与Hadoop的数据交换、SQL高级分析、与分布式R无缝集成、灾备能力等等,是不可多得的了解Vertica的好资料。
Hadoop、HBase、Hive、Pig、Zookeeper资料整理,欢迎大家下载学习
Integrating with Apache Hadoop 5013 Integrating with Apache Kafka 5111 Integrating with Apache Spark 5235 Integrating with Voltage SecureData 5261 Vertica Plug-In for Informatica 5299 Vertica Error ...
《Hadoop系统搭建及项目实践》课件09分布式数据分析工具 Pig.pdf《Hadoop系统搭建及项目实践》课件09分布式数据分析工具 Pig.pdf《Hadoop系统搭建及项目实践》课件09分布式数据分析工具 Pig.pdf《Hadoop系统搭建及...