写点什么

EasyHadoop 作者向磊谈 Hadoop 平民化

  • 2012-11-14
  • 本文字数:3919 字

    阅读完需:约 13 分钟

随着 Hadoop 的推出,大数据处理实现了技术上的落地。但是对于一般的公司和开发者而言,Hadoop 依旧是一个陌生或者难以使用的技术。这次的阿里云开发者大会上,向磊凭借EasyHadoop 将Hadoop 平民化而获得了最佳创意奖,InfoQ 对他进行了采访。

InfoQ: 首先请您做下自我介绍并介绍本次的参赛作品 EasyHadoop?

向磊:大家好,我是向磊,本次阿里云开发者大赛最佳创意奖作品 EasyHadoop phpHiveAdmin 的作者。目前供职于一家互联网视频公司的数据部门,负责整个 Hadoop 集群的维护和一些数据分析产品的研发工作。

本次参赛的 EasyHadoop 和 phpHiveAdmin 是我在业余时间编写的开源软件,其中 EasyHadoop 是界面化安装部署和管理 Hadoop 集群用的,phpHiveAdmin 是用来管理和查询 Hive 数据仓库用的。如果打个类比的话,EasyHadoop 类似于 Cloudera Manager ,phpHiveAdmin 类似于 HUE 里面的 Beeswax 。主要是希望能够帮助到一些需要用到 Hadoop 做数据分析,又苦于 Hadoop 技术门槛太高的公司能够快速应用 Hadoop。

InfoQ: 目前国内公司对 Hadoop 接受程度是怎样的?

向磊:个人看法吧,国内有一些大的互联网公司比较早就已经开始用 Hadoop 分析业务数据,但是很多中小企业或者国企央企还是处于观望状态。我觉得主要还是由于 Hadoop 的技术门槛比较高,推广起来具有一定难度,对中小企业来说,Hadoop 的实施成本比较高。然后国企央企可能认为假如自己上了 Hadoop,维护和开发将是比较困难的事情。当前 Hadoop 的人才稀有,所以,国内很多人听说过 Hadoop 了,但是能够真正下决心在自己企业实施的还是少数。不过总的趋势还是好的,愿意尝试 Hadoop 的公司和个人越来越多了。主要我觉得是业务压力逼的,传统的关系型数据库做统计分析现在确实有些力不从心了。数据量越来越大,一个 group by 就内存溢出了。在量变已经无法满足需求的时候,就需要质变了。

InfoQ:Hadoop 虽然很火,但是能够操作起来的公司和技术人员却不是很多,那么你认为是什么阻碍了 Hadoop 的“平民化”?EasyHadoop 又是如何帮助开发者来降低门槛的?

向磊:这个就需要说到我在大赛演示的时候说的 Hadoop 的三高问题 (不是血糖高血脂高血压高,哈哈,这三高由我来替大家承担)。

第一是硬件投入高,Hadoop 是集群存储和计算,这就意味着无法由一台服务器完成,搭建集群的话,一台高配服务器大概需要 2-4 万左右。对于中小企业来说,哪怕搭建 3-4 台集群都是很大的成本压力。不过很高兴这次看到阿里云提供的云主机,可以大幅度降低硬件的成本投入,适合 Hadoop 用的主机用一年才几千块钱,10 台下来一年才几万块钱,这可以说个人都是可以承受的了。

第二是技术门槛高,能够安装部署运维 Hadoop 集群的人极其稀少,因为分布式计算毕竟需要数台到数十台服务器的协同运作,这时故障就变成常态了。给我很深刻印象的是阿里云的唐洪博士做的报告,单台服务器的硬盘故障率是 4%,但是当你是一个集群,有 5000 台服务器的时候,硬盘故障率就是 99.6% 了。而且服务器之间网络通信,任务调度都会出问题,这些问题对维护人员来说都提出了相当高的要求。不过,其实最早做 EasyHadoop 和 phpHiveAdmin 是为了降低自己工作中的重复劳动,因为 Hadoop 的集群部署和安装配置乃至使用都是非常繁琐且容易出错的。所以为了省事,写了这样一个东西,从一个安装脚本开始,后来慢慢越写越大。最后整理一下功能就开源出来了。里面把安装脚本都封装起来了,用户不需要关心 Hadoop 安装的繁琐步骤。只要泡杯茶,点根烟,点点鼠标就好了,运维中的查看日志和重启节点也只需要动动手指就完成了。

第三是开发成本高,每个公司对自己的数据需求都是不同的,而能够开发 Map/Reduce 程序的人又少又贵,这就造成了大数据分析的人力成本很高。以前淘宝的报告提到,淘宝的数据 90% 分析是通过 Hive 仓库完成的,在我目前的公司,可能比例更高,95% 是 Hive 完成的。但是 Hive 本身是完全命令行操作的,除了技术人员可能都用不了。于是我就写了 phpHiveAdmin 用来做 Hive 数据仓库的管理和查询界面。这样,之前的 mysql/oracle 管理员可以不用开掉,留下来管理 Hive 仓库就好了。只要会写 SQL 就可以做大数据的分析了。并且我想提一个当初开发时候完全意料之外的改变,是管理流程上的变化。之前没有界面化,业务人员需要提交需求给技术人员。由技术人员编写 HQL 或者 Map/Reduce,然后生成报表返回给业务人员,周期慢,中间对技术和业务人员对业务理解有偏差还要重新返工。写了 phpHiveAdmin 之后,业务人员只要简单培训一下 HQL 语言,很多数据他们可以自己去数据仓库里查询,而不需要通过技术人员了,节省了管理流程上的时间和成本。数据结果也更加直观。技术人员也能有更多的时间和精力去研发更多更重要的数据内容。这算是 phpHiveAdmin 为公司节省管理成本和数据研发成本做的一点贡献吧。

所以总结下来,云计算解决硬件成本问题,EasyHadoop 解决技术门槛问题,phpHiveAdmin 解决开发和管理成本高的问题,开源出来,算是对大家作出一点微不足道的帮助吧。

InfoQ:目前已经进入到了“大数据的时代”,比如王坚博士说阿里云是一家以“数据为中心的云计算服务公司”已经印证了这一点,那么您认为“大数据”带来的机遇和挑战分别是什么?开发者如何应该如何应对?

向磊:王坚博士演讲的时候我在场外展台,没有听到,但是我听说他的演讲中也提到了 EasyHadoop,令我感到十分的荣幸。我十分同意王坚博士的观点,阿里系一直以来都是数据推动业务,才能获得今天雄霸整个中国电子商务市场和云计算市场的成就。关于大数据,我个人的看法是,大数据带来的也是大机遇和大挑战,不仅仅是技术层面上的,更是管理者眼界的问题。你打算靠什么来指导你自身的业务发展,是开所谓 Brain Storm 的拍脑袋会,还是用数据来证明,这是管理者需要改变思路的地方。

而作为开发者,也需要改变一些思维方式,从传统的单机思维,扩展到集群思维,大数据时代需要的是能够提出更快更好更创新的概念并实现。Hadoop 和大数据我认为给我的一个启示是,个人英雄主义的单枪匹马作战方式将不再适用。集体和合作的力量将远大于个人的力量,用中国俗话来说,就是“三个臭皮匠,顶个诸葛亮”。对于技术人员来说也是这样,一个人再强也不是强,团队强才是真的强。更多分享和更多交流,是开发者需要加入到自己的时间表里的,而不仅仅是提高自己的技术和算法水平。团队协作不会降低你的社会地位和收入。

InfoQ: 在开发的过程中,你用到了阿里云的哪些服务?请列举这些服务的优点和需要改进的地方?

向磊:主要是用到了阿里云的 ECS 服务器,对 Hadoop 来说这就够了。优点嘛,就是执行速度快,内网间通信也非常快。需要改进的么,我了解了一下,阿里云为了保证数据安全,每个云主机里的数据都是备份 3 份的。然后如果用上 Hadoop,Hadoop 本身又是备份呢 3 份,这样数据就变成 9 份了。不知道阿里云能否有一种服务,用户可以自己定义主机数据的备份份数的。不过我觉得这会比较困难,因为这是云计算的底层服务,可能会很难改。算是个希望吧。

InfoQ: 你提到 EasyHadoop 是根据 GPL 协议进行开发的,主要贡献者是几个核心团队的人员,您认为这种开源方式有什么利弊?

向磊:GPL 简单的说就是开源传染协议。我的想法是,我既然愿意开源出来,就意味这我愿意为需要的人作出一点贡献。而被提供帮助的人们不需要向我支付费用,只要把这种帮助一直延续下去就好了。“Pay it forward, not pay me”,目前代码贡献者主要是我个人,主要原因是语言和程序架构比较复杂,语言方面用到了 php,shell,python 三种。然后涉及操作系统的底层内容比较多,像异步调用,线程池,socket 通信等等。然后趣游的程序员史东杰提交过 phpHiveAdmin 的 HQL 自动提示代码和其他修改意见。窝窝团的用户提交过 phpHiveAdmin 的 HQL 正则表达式 bug 问题,目前已经修复了。

利弊方面,有利的方面是能够让软件可持续发展下去,每个人的代码都会被公开出来。弊端就是不会得到商业的支持,也就是没有任何来自商业公司的赞助。我目前是这样看的。

InfoQ:请你分享一下获奖的感受?

向磊:首先得感谢阿里云提供了这样一个比赛,能够和很多优秀的开发者面对面交流开发技巧。获奖感受一个成语总结就是受宠若惊,确实没有想到能拿到奖,因为毕竟参赛人数很多,每个人的作品又都独具匠心,非常有想法和特色,有些技术水平也非常高。比如三等奖的一个作者,北航的研三学生蔺波写的僵尸网络仿真就很厉害,网络仿真本身就是一个比较偏技术和前沿的东西,很难想象是一个学生的作品。

InfoQ: EasyHadoop 下一步的发展计划是什么?

向磊:首先来说还是会继续完善整个产品,继续简化用户操作,增加功能,增强监控,修正 bug,提高代码的安全性和强壮性。我还有很多想法,慢慢会逐步实现出来。然后也会对其他 Hadoop 生态圈的周边软件进行界面化封装,比如 Pig,Mahout 等等。大家在大会上都看到了 phpHiveAdmin 的 Logo,当时因为时间关系没有讲。在这里我也想借这个 logo 的诞生贫两句,这个 Logo 是我一个发小帮我设计的。当时我告诉了他三个关键词:蜜蜂,大象,和简单。大家都知道,Hive 的标志是蜜蜂,Hadoop 的标志是大象,phpHiveAdmin 的标志就是简单。所以就诞生了这个又像蜜蜂,又像大象,又很抽象的类似于任天堂红白机感觉的 Logo,我觉得他很好的诠释了我对这整个系列产品的概念,就是要让大家像打红白机一样简单的进入大数据的殿堂。只要你会用 Mysql,你就可以用 Hive,只要你会点鼠标,你就可以用 Hadoop。极简是 EasyHadoop 和整个系列产品的发展目标和方向,这也是我为什么当初决定用 php 来开发的理由。

感谢阿里云,感谢 InfoQ,感谢谷歌,感谢 Doug Cutting,以及感谢为大数据作出贡献的每一个人。

2012-11-14 20:0010675
用户头像

发布了 89 篇内容, 共 36.1 次阅读, 收获喜欢 4 次。

关注

评论

发布
暂无评论
发现更多内容

详解!视频直播源码布谷科技平台搭建开发:录制功能

山东布谷科技

软件开发 视频直播 源码搭建 短视频直播源码 视频录制

一种配置化的数据脱敏与反脱敏框架实现 | 京东云技术团队

京东科技开发者

数据安全 脱敏 数据脱敏 企业号 7 月 PK 榜

Coral Finance 将为 Zepoch 节点空投,Nautilus生态空投季开启

西柚子

广东省《5A物理抗菌纺织品》团体标准颁布

极客天地

万字长文浅析配置对MySQL服务器的影响 | 京东物流技术团队

京东科技开发者

MySQL 数据库 服务器 企业号 7 月 PK 榜 MySQL服务器

飞桨大模型分布式训练技术

Baidu AICLOUD

飞桨 百度百舸 AI 大底座

支付宝小程序云李铮:科技赋能,敏捷增长

TRaaS

支付宝小程序 小程序云开放 蚂蚁

源码解析Collections.sort ——从一个逃过单测的 bug 说起 | 京东云技术团队

京东科技开发者

排序算法 源码解读 企业号 7 月 PK 榜 Collections.sort

动态QPS压测模型【Go语言】

FunTester

扫盲低代码

互联网工科生

前端 低代码 应用开发

基于因果关系知识库的因果事件图谱构建

汀丶人工智能

人工智能 自然语言处理 知识图谱

明晚直播:可重构计算芯片的AI创新应用分享!

飞桨PaddlePaddle

人工智能 百度 paddle 飞桨 百度飞桨

618技术揭秘 - 大促弹窗搭投实践 | 京东云技术团队

京东科技开发者

前端 弹窗 xview 企业号 7 月 PK 榜

揭秘ChaosBlade CPU故障:实现CPU故障的黑科技

柠檬汁Code(binbin0325)

源码分析 cpu 混沌工程 ChaosBlade 故障模拟

基于开源IM即时通讯框架MobileIMSDK:RainbowChat v9.0版已发布

JackJiang

网络编程 即时通讯 IM

2023开源数据库排行榜发布,“新晋黑马”瀚高IvorySQL跻身三十强

极客天地

中文人物关系知识图谱(含码源):中文人物关系图谱构建、数据回标、基于远程监督人物关系抽取、知识问答等应用.

汀丶人工智能

人工智能 nlp 知识图谱 智能问答

KaiwuDB 资深解决方案专家周幸骏:打造核心时序引擎,释放数据新价值

KaiwuDB

时序数据 KaiwuDB

从分片传输到并行传输之大文件传输加速技术

镭速

大文件传输

数据库集群方案详解

KaiwuDB

KaiwuDB 数据库集群技术

中小微企业选择哪家云管平台好?理由有哪些?

行云管家

云计算 云管平台 云管理

2023年广西等保测评机构名单看这里!新增一家哦!

行云管家

广西 等级保护 等保测评

HDMI接口需注意的PCB可制造性设计问题

华秋PCB

接口 工具 PCB PCB设计 可制造性

火山引擎DataLeap的Data Catalog系统公有云实践 (上)

字节跳动数据平台

大数据 数据中台 数据治理 数据安全 企业号 7 月 PK 榜

科研类项目核算的“法、术、器”(二)

用友BIP

项目管理 科研项目

超强阵容!HarmonyOS极客马拉松2023专家评审团来袭!

HarmonyOS开发者

HarmonyOS

Docker 入门教程(简明易懂、零基础篇)

搞大屏的小北

Docker 容器 Docker-compose 入门 Docker 镜像

Sugar BI:大模型时代的智能 BI

Baidu AICLOUD

BI 数据智能

EasyHadoop作者向磊谈Hadoop平民化_服务革新_水羽哲_InfoQ精选文章