把这个拿出来的目的, 是想得到更多的反馈意见, 请邮件至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
分享到:
相关推荐
qtz40塔式起重机总体及塔身有限元分析法设计().zip
Elasticsearch是一个基于Lucene的搜索服务器
资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。
美国纽约HVAC(暖通空调)数据示例,谷歌地图数据包括:时间戳、名称、类别、地址、描述、开放网站、电话号码、开放时间、更新开放时间、评论计数、评级、主图像、评论、url、纬度、经度、地点id、国家等。 在地理位置服务(LBS)中,谷歌地图数据采集尤其受到关注,因为它提供了关于各种商业实体的详尽信息,这对于消费者和企业都有极大的价值。本篇文章将详细介绍美国纽约地区的HVAC(暖通空调)系统相关数据示例,此示例数据是通过谷歌地图抓取得到的,展示了此技术在商业和消费者领域的应用潜力。 无需外网,无需任何软件抓取谷歌地图数据:wmhuoke.com
2023-04-06-项目笔记-第四百五十五阶段-课前小分享_小分享1.坚持提交gitee 小分享2.作业中提交代码 小分享3.写代码注意代码风格 4.3.1变量的使用 4.4变量的作用域与生命周期 4.4.1局部变量的作用域 4.4.2全局变量的作用域 4.4.2.1全局变量的作用域_1 4.4.2.453局变量的作用域_453- 2025-04-01
1_实验三 扰码、卷积编码及交织.ppt
北京交通大学901软件工程导论必备知识点.pdf
内容概要:本文档总结了 MyBatis 的常见面试题,涵盖了 MyBatis 的基本概念、优缺点、适用场合、SQL 语句编写技巧、分页机制、主键生成、参数传递方式、动态 SQL、缓存机制、关联查询及接口绑定等内容。通过对这些问题的解答,帮助开发者深入理解 MyBatis 的工作原理及其在实际项目中的应用。文档不仅介绍了 MyBatis 的核心功能,还详细解释了其在不同场景下的具体实现方法,如通过 XML 或注解配置 SQL 语句、处理复杂查询、优化性能等。 适合人群:具备一定 Java 开发经验,尤其是对 MyBatis 有初步了解的研发人员,以及希望深入了解 MyBatis 框架原理和最佳实践的开发人员。 使用场景及目标:①理解 MyBatis 的核心概念和工作原理,如 SQL 映射、参数传递、结果映射等;②掌握 MyBatis 在实际项目中的应用技巧,包括 SQL 编写、分页、主键生成、关联查询等;③学习如何通过 XML 和注解配置 SQL 语句,优化 MyBatis 性能,解决实际开发中的问题。 其他说明:文档内容详尽,涵盖面广,适合用于面试准备和技术学习。建议读者在学习过程中结合实际项目进行练习,以更好地掌握 MyBatis 的使用方法和技巧。此外,文档还提供了丰富的示例代码和配置细节,帮助读者加深理解和应用。
《基于YOLOv8的智能电网设备锈蚀评估系统》(包含源码、可视化界面、完整数据集、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计
插头模具 CAD图纸.zip
资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。
《基于YOLOv8的智慧农业水肥一体化控制系统》(包含源码、可视化界面、完整数据集、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计
python爬虫;智能切换策略,反爬检测机制
台区终端电科院送检文档
e235d-main.zip
丁祖昱:疫情对中国房地产市场影响分析及未来展望
MCP快速入门实战,详细的实战教程
YD5141SYZ后压缩式垃圾车的上装箱体设计.zip
IMG_20250401_195352.jpg
DeepSeek系列专题 DeepSeek技术溯源及前沿探索.pdf