本篇博客为原创文章,转载请注明出处:http://guoyunsky.iteye.com/blog/1780150
本人新浪微博:http://weibo.com/guoyunwb
国内基于elephant-bird的资料还太少,除了淘宝搜索技术博客上的一篇,网址:http://www.searchtb.com/2010/09/pb-lzo-used-in-hadoop.html,基本就没有了。但这篇也只是介绍如何使用.
其实对于elephant-bird的说明在其Readme.md已经很详细了.网址:https://github.com/kevinweil/elephant-bird.我这里就不充当翻译工作.从我自身的理解来大概介绍下.
相信玩Hadoop的不少同学,肯定少不了要接触hadoop lzo,protocol buffer,thrift这三个东西.比如你使用protocol buffer的code gen生成一个Java对象,如其官网的AddressBook.如果你也想在hadoop中也使用这个类,那该怎么办?
没有elephant-bird的话,你可能需要针对AddressBook这种结构,自己手动实现Hadoop的org.apache.hadoop.io.WritableComparable,以及InputFormat和OutputFormat.这其中工作量很大.可能还需要lzo压缩.那工作量又大了点.但elephant-bird很好的替代了这方面的工作.它能基于protocol buffer的protoc文件,以及thrift的thrift文件,如刚才的AddressBook.生成对应的Writable,InputFormat以及OutputFormat.需要lzo压缩以及64位编码也没关系,照样都支持.如此省去了你自己去写这些代码的麻烦,而且写这些代码都是机械性的,模板的.所以也就有elephant-bird的存在性.
但elephant-bird远不只是这些功能,它还支持以下,前提是基于protoc和thrift:
1)自动生成Pig的LoadFunc
2)自动生成Hive的SerDe
3)自动生成HBase的miscellanea
以上举个例子来说,还是以AddressBook为例,elephant-bird能自动帮你生成Pig中需要读取AddressBook的LoadFunc,Hive中的SerDe等.
以上是大概介绍.希望能让你明白elephant-bird是干什么的,为什么需要它?最后说下elephant-bird的版本兼容性.
1)Protocol Buffer 2.3
2)Pig 0.8/0.9 (不支持0.7及更低版本)
3)Hive 0.7
4)thrift 0.5
5)Mahout 0.6
6)Cascading2
注:本篇博客基于elephant-bird2.1.8
在github上建了一个开源工程,可以运行ant命令基于elephantbird直接生成代码.地址:
https://github.com/guoyunsky/elephant-bird-simple
更多技术文章、感悟、分享、勾搭,请用微信扫描:
相关推荐
机械设计试验机sw20可编辑非常好的设计图纸100%好用.zip
JSP基于WEB的图书馆借阅系统的设计与实现(源代码+论文)
1_6_huh猫(扭曲声音)_分p整合猫meme素材90+(持续更新中).mp4
【超炫购物模板】仿拍鞋网商城首页触屏版html5手机wap购物网站模板下载.zip
国内外顶尖评级方法 中诚信评级方法汇总 18个行业评级指标体系文档 募集+法律意 见书+评级报告案例 穆迪评级方法 某公司债券募集说明书及评级报告-经典案例 国 内外顶尖评级方法.part2.rar (13.32 MB)
Unity3D版本游戏源码2-119美食游戏模板—Restaurant & Cooking Starter Kit 1.72提取方式是百度网盘分享地址
LNMP部署wordpress
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
●论文复刻● 中国式融资融券与企业金融化 ——基于分批扩容的准自然实验 通过本案 例可以学习到什么 从基础数据整理到最后的结果输出的完整案例 基础结果:描述性统计 、相关系数矩阵、双重差分回归、绘制走势图 如何对缺失值和异常值处理(缩尾处理) 输出表格结果 组间差异检验 动态平行趋势检验 稳健性检验方法 倾向得分匹配PSM 替换被解释变量 控制省份固定效应 改变计量方法,采用个体和时间上的双重聚类调整 剔除IPO当年的样本 企业金融化的动机(套利动机、股价崩盘) 进一步研究(考察 管理层持股和机构投资者持股的差异、考察产品市场竞争的差异、考察股票市场行情的差异 ) 学习到论文实证分析中常用的命令(merge、logout、esttab、ps match2、cluster2、coefplot、ttest、ranksum等) 内容丰富,绝对超值,建议先下载文献看看,有需要可以下载系统学习,其他相关主题的 论文可速成 模型说明 变量定义 变量符号 定义与度量方式 Fin 企业金融化,金 融资产/总资产 Post List 虚拟变量,公司股票成为融资融券标的以后年度的 样本取值为1;否
触屏版html5响应式手机app网站模板下载 触屏版html5响应式手机,自适应手机wap
VOC2-1-2-2-2-2-2
从头开始训练SSD-python源码.zip
基于faster-rcnn实现的行人检测算法python源码+项目说明+详细注释.zip 使用方法: 1.编译安装faster-rcnn的python接口,代码在:https://github.com/rbgirshick/py 2.下载训练好的caffe模型,百度云链接为:https://pan.baidu.com/s/1w479QUUAwLBS2AJbc-eXIA,将下载的模型文件放到faster-rcnn文件夹的data/faster_rcnn_models文件夹中 3.将本项目中的文件夹替换安装好的faster-rcnn源码中的文件夹 4.使用tools文件夹下的测试脚本运行demo:python person_detect.py
基于Torch Hub的yolo5和ssd推理-python源码.zip
机械设计工件气压测试平台sw18非常好的设计图纸100%好用.zip
JSP机房上机收费管理系统(源代码+论文+外文翻译)
基于Torch Hub的深度估计模型MiDaS-python源码.zip
01. 完整作业流程.xls
2024五一杯b题,c&c++课程设计KTV歌曲系统,学生档案管理系统,个人收支系统,职工管理系统等
触屏版自适应手机wap软件网站模板 触屏版自适应手机wap软件网站模板