Airbnb是Hadoop在国内的一个公开资源数据开发和SQL查询工具。它的出现,能给Facebook Presto云技术的发展注入一剂强心剂吗?
7个你不知道的关于Linux的事实
数据驱动型旅游公司Airbnb于周四对外宣布,将把其内部开发的工具Airpal作为公开资源,这一举措将给Facebook开发的Presto在Hadoop SQL查询功能锦上添花。
Presto是Facebook于2013年末作为公开资源赠给Apache的一项内存Hadoop SQL查询技术。Airpal则是基于这项技术的数据发掘与SQL查询交互界面。Airbnb当初发明Airpal是因为Airbnb需要一个便捷的数据分析工具,这个工具也应该满足企业用户的需求,而不仅仅是公司那23个人的数据小团队。
Airbnb产品经理James Mayfield在接受InformationWeek电话采访时表示:“Airpal减少了查询障碍。我们有想利用数据集的营销和调研团队,但是他们必须要通过数据科学小组才能得到想要的答案。我们花了10个月的时间生产出了这个东西,现在有500多个用户呢。”
Airpal跟Presto查询引擎一样,也使用SQL,但是企业用户并不都能理解这种查询语言。Mayfield表示,Airpal为用户提供了数据用户界面和浏览历史,这样的话,就算是没有接受过专业训练的人也能很快学会查询语言。
他还说道:“人们可以先看看数据,然后可以利用一下别人之前已经输入的查询语言。很多从来没有写过SQL语言的人都已经开始运用数据集了。”
一直到18个月前,Airbnb一直都利用亚马逊的云端,主要是用它的Redshift数据库服务来做高速数据分析。Hive是Hadoop的组成部分,而且一直都是Airbnb历史交易信息的唯一真实数据来源,但是Airbnb放弃了Redshift,开始采用Presto,这样就避免了许多浪费时间的筛选、转换和下载工作。
Airbnb软件工程师Andy Kramolisch告诉InformationWeek:“把数据放进Redshift是个极其痛苦的过程,再加上提取转化加载,我们的工作量会翻一倍的。由于我们还要在世界上不同国家工作,不同的语言文字有时会让数据库崩溃的。”
Hadoop能够识别多种数据,而不仅仅限于SQL语言。Airbnb在亚马逊的云端基础设施上运行Hadoop的Cloudera分布,但是这家公司最近决定不用Cloudera Impala了。
Kramolisch表示:“我们考察了一下Impala,发现要把它搭建起来实在是太困难了。Impala是基于C语言的,而且偶们的研发人员对Java更熟悉一些。”
另一个原因是,Airbnb所有数据都是以RC文件的形式储存的,而Impala则用的是Parquet文件形式。
Mayfield表示:“我们在做的一件非常重要的事情的是让一切变得简洁。我们的数据转换工作越多,需要维护的独立系统越多,我们就需要更多的研发人员和维护成本。所以我们要让这些东西尽量简洁。”
Airbnb认为,Airpal缺乏以下性能,使非数据专家也能够使用:
· 搜索和查找表格
· 分列元数据、分区、模式和样本行
· 在一个易读的编辑器编写查询
· 通过Web界面提交查询
· 跟踪查询进展
· 通过浏览器返回结果
· 基于查询的结果创建新表
· 保存所有查询记录和搜索用过的工具。
· 转眼间,Airpal还与蜂巢、HDFS、卡夫卡、卡桑德拉、MySQL、Postgresql,和JDBC数据源等联合。Airbnb公司表示, 绑定到LDAP工具还包括访问控制功能,所以你可以限制用户看到查询记录和相关表格。
现在,Airpal建立了一个更广泛的社区,该社区具有很多新的特性,并不断壮大。包括Facebook、Qubole,宝贝数据,Netflix,DropBox等在内的诸多企业瞬间也加入了大数据行列。
“我们已经取得了一些令人惊异的进步,数据科学家可以得到更多更快的结果,” Facebook开放源码项目负责人詹姆斯·皮尔斯在Airbnb公司的一份声明中说道, “Airpal将成为一个前端查询引擎。”