`
coderplay
  • 浏览: 575092 次
  • 性别: Icon_minigender_1
  • 来自: 广州杭州
社区版块
存档分类
最新评论

抛砖引玉, 淘宝统一离线数据分析平台设计

 
阅读更多
把这个拿出来的目的, 是想得到更多的反馈意见, 请邮件至zhouchen.zm@taobao.com

历史
Hive 由 2009 年 3 月引入淘宝作为数据平台的海量数据分析基础框架, 引入的原因有如下
几点:
(1)  不是所有用户都懂计算机编程, 特别是 MapReduce 的分布式程序, 并且数据平
台的用户大多数会 SQL, Hive 则提供了由 SQL 解析成 MapReduce 作业的功能, 用
户只需要掌握 SQL 即可上手, 学习曲线较为平滑.
(2)  Hive SQL 表意精简, 大幅度地减少开发量, 提高数据分析的生产效率. 例如,
之前统计网站 UV 的代码至少需要 Mapper, Reducer, JobDriver 三个类共计数百
行 Java 代码, 使用 Hive 只需要一行 SQL.
(3)  Hive 具有查询优化引擎, 结合了一部分传统数据库的优化理论以及针对
MapReduce 分布式程序的一些优化理念. MapReduce 原生程序达到 Hive 同等的效
率,需要编写大量的优化代码.
(4)  Hive提供元数据服务, 而原生MapReduce以及Pig都不提供. 元数据有助于数
据血缘分析,数据生命周期定义,数据共享以及权限控制等数据仓库的基础功能.
经过两年的发展, Hive 已经成为淘宝数据平台的主要离线数据分析基础框架. 在横向
上诞生了极限存储,DIP,Web IDE 等项目, 同时影响了天网调度系统,数据同步工具
(DataX, DbSync),数据平台生命周期分析系统的发展历程;在纵向上, Hive 产生的结
果数据已经成为量子统计,数据魔方,搜索,BI 业务的主要数据来源,并且一淘,淘宝商城,
支付宝,B2B,阿里金融集团子公司也开始使用 Hive 作为他们的数据分析工具, 提取他们
所需要的数据.

问题
随着 Hive 在淘宝的深度使用, 有一些问题逐渐暴露出来:
(1) 根据 Hive 培训的结果反馈, 集团内有一些数字化运营, PD 员工开始使用 Hive.
这部分用户的特征是对数据的商业价值敏感度及对数据化产品的认识度都相对于开
发人员更高, 但他们往往不会 SQL 语言, 更容易接受可视化操作.
(2) Hive 使用的 SQL 语言不利于图形化操作.市面上出现的一些成熟的 SQL 图形化操
作工具都可以有效地解决 Join 操作的图形化,但都无法较好地解决如何实现子查
询以及 aggregation 操作的图形化.
(3) SQL是一种描述型语言, 开发SQL的用户必须把他所需要的结果关系Schema化分
为多个子 Schema, 全部想清楚才能编写 SQL 程序. SQL 不符合人类循序渐进的思
维方式, 初次使用 Hive 的用户经常反馈不知如何下手取数据.
(4) Hive由于SQL表意的局限性, 有一些分析程序不得不使用原生MapReduce编写.
但原生的MapReduce 无法方便地共享 Hive 的数据, 因为 MapReduce 无法获取Hive 的元数据信息.
(5) 数据分析是一道复杂的过程, 查询数据库往往是其中的一个步骤,所以众多数据库
系统都可以将其 SQL 嵌入到其它编程语言中, 作为数据化产品的一个组成部分.淘
宝有一些用户曾尝试在 Python/Java 语言中嵌入 Hive SQL, 但都以失败告终.
(6) Hive 是 Facebook 公司主导的开源项目, 代码质量存在一定的问题. 研发人员普
遍反映 Hive 代码结构紊乱, 添加一个新功能经常需要涉及 Hive 所有的核心类.
并且由于 Facebook 的生产环境和淘宝的环境有较大的差异, 所以采纳社区的
patch 经常需要数个月的稳定期. 在这段稳定期, 给用户体验带来了负面影响.
(7) Hive 没有关注错误提示信息的友好性. 对于一些简单的错误, 用户都没有办法自
我判断, 需要报告给研发人员.
因为以上几个原因, Hive 在淘宝的发展受到制约. 从用户看, Hive 无法顺利地挖掘
潜在的用户群, 而这些用户确实需要数据; 从开发上看, Hive 进展缓慢, 开发人员疲于
解答和解决各类 Hive 错误

详情见附件pdf
2
2
分享到:
评论
3 楼 cuijiwei1989 2013-02-07  
david.org 写道
听上去hive很恶心,而我们公司正准备开始使用hive。...

看hadoop代码是一种享受,看hive代码,代码写的还算一般,组织结构太乱了。。。 我原本想把hive部署在eclipse中,没想到在初使化CliDriver时,N多需要的参数,hive居然是从命令行读入的。

关注后续pig... 感谢共享

看hadoop代码是一种享受!!!!
2 楼 quiii 2011-12-29  
完全同感 pig好歹还更轻一点儿
1 楼 david.org 2011-11-25  
听上去hive很恶心,而我们公司正准备开始使用hive。...

看hadoop代码是一种享受,看hive代码,代码写的还算一般,组织结构太乱了。。。 我原本想把hive部署在eclipse中,没想到在初使化CliDriver时,N多需要的参数,hive居然是从命令行读入的。

关注后续pig... 感谢共享

相关推荐

    百度离线地图 js api

    自己改的百度离线地图API2.0,可以断网运行, 包含 1.拉框放大,测距,画线,多边型等功能 2.自定缩放级别显示指定标签 3.快速定位及隐藏指定类型 其他api项唯一 一验证,抛砖引玉,待大家一起研究。

    淘宝数据分析报告模板.doc

    淘宝数据分析,实际是电商数据分析,归结到底还是零售数据分析,给你一些分析 的思路,权当做抛砖引玉。 总体来说可以分为商品分析、客户分析、地区分析、时间分析四大维度(参考数据 雷达的分析思路)。在这里我...

    淘宝网产品优缺点分析报告,抛砖引玉.ppt

    总的来说,淘宝网的产品分析报告揭示了它作为成功电子商务平台的关键因素:创新的商业模式、强大的支付系统、健全的交易保障以及开放的生态系统。这些优点使淘宝网成为众多卖家和买家的首选平台,并持续推动中国电子...

    TOPFORasp实例(淘宝开放平台ASP版的应用实例)asp版 top api

    淘宝开放平台,这里不再费话了,直接看网址:http://open.taobao.com/ 这里有很多的实例,本人最近也一直在学习。 前几天看到浪子的群里有一位朋友说想要ASP的实例,自己就找了个时间简单写一下。 当然写的不好,...

    《SAS 语言抛砖引玉》

    SAS(Statistical Analysis System)是一种强大的统计分析软件,广泛应用于数据管理和统计分析领域,尤其在医药、金融、市场研究等行业中有广泛应用。 本书首先会引导读者了解SAS的基本概念,包括其工作流程、数据...

    SAS 语言抛砖引玉.pdf

    SAS (Statistical Analysis System) 是一种广泛应用于数据分析、商业智能、预测模型等领域的强大工具。它不仅具备强大的统计分析功能,还能进行数据管理、报告生成等多种操作。对于从事数据科学、统计学、市场研究等...

    【讲义】王毅:如何利用云平台构建容错的APP

    本次,我们将以 亚马逊AWS云平台为例,讨论如何设计一个可以容错的应用,目的是希望对基于AWS云平台的架构设计原则进行一个概要介 绍,从而了解如何基于像AWS这样的云平台进行架构设计,起到抛砖引玉的作用。

    抛砖引玉 浅析CCM PFC BOOST电路设计

    抛砖引玉 浅析CCM PFC BOOST电路设计 本文旨在从最常用的PFC拓扑的角度来探讨电源设计的方法,希望电源设计尽可能变得透明,科学和合理,最大限度的提高产品开发效率,降低系统设计风险。 一、CCM PFC BOOST电路...

    软件设计师 数据流图(DFD)专题讲解

    "软件设计师 数据流图(DFD)专题讲解" 软件设计师数据流图(DFD)是一种常用的系统设计方法,通过数据流图可以清晰地描述系统的逻辑结构和数据处理过程。软件设计师考试的下午题的第一道题,数据库系统工程师考试的...

    SAS 语言抛砖引玉

    SAS语言抛砖引玉》 任何想学习和了解SAS语言的人,学习SAS的好材料,确实很有用。

    通达信指标公式源码 股市冷暖 判断大盘牛熊利器 抛砖引玉熊市主图.doc

    这份"抛砖引玉熊市主图"文档提供的源码,就是一个实例,展示了如何通过计算和分析价格、成交量等数据来评估市场的牛熊状态。 首先,公式中的"SW1"是一个短期和长期移动平均线的综合指标,它是5日指数移动平均线...

    成语故事抛砖引玉.docx

    【抛砖引玉】这个成语源自...在技术领域,例如编程、设计或者解决问题的过程中,工程师们也常使用“抛砖引玉”的策略,先提出一个基础的方案或思路,鼓励团队成员提出改进和优化的建议,从而共同达成更好的解决方案。

    REST API 安全设计指南.pdf

    提出一个既适于客户端应用又适于服务端的应用的、统一架构,极大程度上统一及简化了网站架构设计。 目前在三种主流的Web服务实现方案中,REST模式服务相比复杂的SOAP和XML-RPC对比来讲,更加简 洁,越来越多的web...

    ASP.net企业实战 抛砖引玉上

    .NET Framework是微软的统一开发平台,包含了运行库和类库,支持多种编程语言,如C#、VB.NET和F#等。它提供了丰富的功能,如垃圾回收、类型安全、跨语言互操作性以及强大的Windows集成。 2. ASP.NET架构 ASP.NET...

    SAS语言抛砖引玉(一位有心人写得很好的SAS基础知识介绍)

    目前大多的SAS 数据也并不是没有讲到基础内容,而是都草草的介绍了一些语言基础就开始把读者带入统计过程,本来有些初学者心态就很急,而作者这么快的就将读者带入应用领域,更加没有人去学好语言基础了。...

    ASP.net 企业实战 抛砖引玉

    ASP.NET 是微软公司推出的一种基于.NET Framework的Web应用程序开发平台,它为企业级应用程序构建提供了强大的支持和服务。在“ASP.NET 企业实战 抛砖引玉”这个主题中,我们可以深入探讨多个关键知识点,这些知识...

    抛砖引玉成语故事.docx

    抛砖引玉成语故事.docx

Global site tag (gtag.js) - Google Analytics