阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

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,以及感谢为大数据作出贡献的每一个人。

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

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

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

关注

评论

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

如何在 Go 代码中运行 C 语言代码

宇宙之一粟

C语言 Go 语言 3月月更

在页面中直接嵌入vue-sfc的方法

CRMEB

「架构实战营」微博评论高性能可用计算架构

hxb

「架构实战营」

VUE创建视频流应用

devpoint

Vue Video播放器 3月月更

一步步教你开发鸿蒙系统应用,So Easy!

博文视点Broadview

OpenHarmony 标准系统 HDF 框架之 GPIO 驱动开发

Anna

开发者 OpenHarmony 学习成长

web前端Node安装步骤

编程江湖

尚硅谷Flink(Java)新版视频教程发布

@零度

flink 大数据开发

Java培训JVM 高频面试题

@零度

JVM JAVA开发

SpringCloud-Ribbon学习记录

昊运

SpringCloud

架构学习【05】——“微博评论”高性能高可用计算架构

tiger

架构实战营

缓存最关心的问题是什么

华为云开发者联盟

Java 缓存 堆内存 缓存命中率 回收策略

VuePress 博客之 SEO 优化(二)重定向

冴羽

Vue 前端 vuepress SEO 重定向

大厂面试官都不敢问的java线程的底层实现

刘祥

Java 线程

【C语言】猜数字小游戏

謓泽

3月月更

液冷数据中心如何构建,蓝海大脑液冷技术保驾护航

蓝海大脑GPU

液冷服务器

扎“芯”了——CP探针卡的国产替代道阻且长

IC男奋斗史

芯片技术 芯片上游

ShardingSphere-Proxy分库分表(一)

神农写代码

分库分表

「尚硅谷」java实战项目谷粒商城简介_idea_通用mapper

编程江湖

源码详解数据结构Linked List

华为云开发者联盟

Java ArrayList 框架 linkedlist 双向链表

测试在项目流程中的那些事儿

有道技术团队

全运会开幕!天翼云全力打造“智慧赛事”

天翼云开发者社区

大数据培训面试Flink八股文分享

@零度

flink 大数据开发

观点丨新经济 DTC 转型,一个简单而强大的数据平台至关重要

PingCAP

微服务中台技术之视频处理

小江

架构 ffmpeg 视频处理 电商系统

基于IOT物联网设计的智能家居系统-智慧门锁

DS小龙哥

物联网 智能门锁 3月月更

为什么要进行企业知识管理,这三个重点问题要明确

小炮

OpenVSCode云端IDE加入Rainbond一体化开发体系

北京好雨科技有限公司

大数据使用Airflow实现简单的工作流调度

编程江湖

web前端培训Node.js和JavaScript的关系

@零度

JavaScript node.js 前端开发

天翼云中南数字产业园落地长沙“天心数谷”初具雏形

天翼云开发者社区

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