本帖最后由 博文视点 于 2016-12-26 11:22 编辑
我们似乎都有过这样的体验:打开网页,某个角落的植入广告正是感兴趣的内容;网上看电影,侧栏推荐的电影基本都是你的菜;连网购的主页推荐,也恰恰是你想要的商品。天啦噜,怎么这么巧?原来是大数据在捣鬼。这可不是数据猿、攻城狮们的专利,原来当大数据带给生活越来越多便利时,我们的步伐不知不觉迈向了DT(Data technology)时代。
这也难怪招聘网站上,数据类工程师需求那么火爆,月薪动辄几十K。要知道大数据信息瀚如烟海,犹如一座待开发的金山,站在时代前沿,才是人生赢家!
那么数据控们,挑战来了,你们知道大数据查询分析引擎谁更强吗?
宝宝们猜出来了吗?
Dang~Dang~Dang~ 大数据查询分析是云计算中核心问题之一,Presto就是专门为大数据实时查询计算而设计和开发的产品。在多数据源支持,还是高性能、易用性、可扩展性等方面, Presto都是大数据实时查询计算产品中的佼佼者。Facebook 称 Presto的性能比 Hive 要好上 10 倍还多并在2013 年正式宣布开源 Presto。
由于 Presto 卓越的性能表现,小P能弥补 Hive 无法满足的实时计算空白,因此可以将 Presto与 Hive 配合使用:海量数据的批处理和计算由 Hive 来完成;大量数据(单次计算扫描数据量级在 GB 到 TB)的计算交给小P。在快照数据实时计算和完全实时计算方面,它都是小能手!
What?他们出了名本书?
听说JD-Presto研发团队不仅夜以继日地修复bug,优化性能,还精心出了一本书?是的,京东首席技术顾问,信息安全部负责人,硅谷研发中心负责人翁志、京东数据库管理部负责人戴东东、高级架构师吕信等人倾情打造,为在 Presto 技术旅程中的每一个朋友,点亮前进的道路。
哪里哪里?快给朕看看
【试读部分】
Ad-Hoc 查询
Ad-hoc 查询就是即席查询,即席查询允许用户根据自己的需求随时调整和选择查询条件,计算平台或者系统能够根据用户的查询条件返回查询结果或者生成相应的报表。由此可见,即席查询和普通应用查询的最大不同是:普通的应用查询是定制开发的,其查询语句是固定或者限制在一定的变动范围之内的;而即席查询允许用户随意指定或者改变查询语句或者查询条件。由于普通的应用查询都是定制开发的,其查询语句几乎是固定的,因此,在系统实施时就可以通过建立索引或者分区等技术来优化这些查询,从而提高查询效率。但是即席查询是用户在使用时临时产生的、系统无法预知的,因此也无法对这些查询进行有针对性的优化和改进。
某公司使用 Presto 完成 Ad-Hoc 查询,实际的 Ad-Hoc 使用场景包括以下两种。
( 1)使用 BI 工具进行报表展现
BI 工具通过 ODBC 驱动连接至 Presto 集群, BI 工程师使用 BI 工具进行不同维度的报表设计和展现。由于目前 Facebook 提供的 ODBC 驱动是使用 D 语言开发的,而且功能尚不完善,因此采用 Treasure Data 提供的基于 Presto-gres 中的 ODBC 驱动改造之后的 ODBC 驱动连接到 Presto 集群。
Presto 使用 Hive 作为数据源,对 Hive 中的数据进行查询和分析。众所周知, Hive使用 Map-Reduce 框架进行计算,由于 Map-Reduce 的优势在于进行大数据量的批运算和提供强大的集群计算吞吐量,但是对稍小数据量的计算和分析会花费相当长的时间,因此在进行 GB~TB 级别数据量的计算和分析时, Hive 并不能满足实时性要求。
Presto 是专门针对基于 Ad-Hoc 的实时查询和计算进行设计的, 其平均性能Hive的 10 倍,因此 Presto 更适合于稍小数据量的计算和差异性分析等 Ad-Hoc 查询。
|