2024年4月21日发(作者:)

大数据平台的软件有哪些?

查询引擎一、 Phoenix 简介:这是一个 Java 中间层,可 以让

开发者在 Apache HBase上执行SQL查询。Phoenix完全 使用 Java

编写,代码位于 GitHub 上,并且提供了一个客户 端可嵌入的 JDBC

驱动。 Phoenix 查询引擎会将 SQL 查询转 换为一个或多个HBase

scan,并编排执行以生成标准的 JDBC 结果集。 直接使用 HBase A PI 、

协同处理器与自定义过滤器, 对于简单查询来说,其性能量级是毫秒,

对于百万级别的行 数来说,其性能量级是秒。 Phoenix 最值得关注

的一些特性 有: ?嵌入式的 JDBC 驱动,实现了大部分的 接

口, 包括元数据API?可以通过多部行键或是键/值单元对列进行 建模 ?

完善的查询支持,可以使用多个谓词以及优化的扫描 键?DDL 支持:

通过 CREATE TABLE、DROP TABLE 及 ALTER TABLE 来添加 /

删除列 ?版本化的模式仓库:当写入 数据时,快照查询会使用恰当的

模式 ?DML 支持:用于逐行 插入的UPSERT VALUES、用于相同

或不同表之间大量数据 传输的UPSERT ?SELECT、用于删除行的

DELETE?通过客 户端的批处理实现的有限的事务支持 ?单表——

还没有连接,

同时二级索引也在开发当中 ?紧跟 ANSI SQL 标准二、 Stinger 简

介:原叫Tez,下一代Hive,Hortonworks主导开发,运行 在 YARN 上

的 DAG 计算框架。某些测试下, Stinger 能提升

10倍左右的性能,同时会让 Hive支持更多的SQL ,其主要

优点包括: ?让用户在 Hadoop 获得更多的查询匹配。其中包 括类

似 OVER 的字句分析功能, 支持 WHERE 查询,让 Hive 的样式

系统更符合 SQL 模型。 ?优化了 Hive 请求执行计划, 优化后请求

时间减少 90% 。改动了 Hive 执行引擎,增加单 Hive 任务的被秒处

理记录数。 ?在 Hive 社区中引入了新的列 式文件格式(如 ORC 文

件),提供一种更现代、高效和高性 能的方式来储存 Hive 数据。 ?

引入了新的运行时框架—— Tez,旨在消除Hive的延时和吞吐量限

制。Tez通过消除不 必要的task、障碍同步和对 HDFS的读写作业

来优化 Hive job。这将优化Hadoop内部的执行链,彻底加速Hive

负载处 理。三、Presto简介:Facebook开源的数据查询引擎 Presto ,

可对 250PB 以上的数据进行快速地交互式分析。 该项目始于

2012 年秋季开始开发,目前该项目已经在超过 1000 名

Facebook 雇员中使用,运行超过 30000 个查询,每日数据 在 1PB

级别。 Facebook 称 Presto 的性能比诸如 Hive 和 Map*Reduce 要

好上 10 倍有多。 Presto 当前支持 ANSI SQL 的大多数特效, 包

括联合查询、 左右联接、 子查询以及 一些聚合和计算函数;支持

近似截然不同的计数 (DISTINCT COUNT)等。四、Shark 简介:Shark

即 Hive on Spark,本质 上是通过Hive的HQL解析,把HQL翻译

成Spark上的RDD 操作,然后通过 Hive的metadata获取数据库里

的表信息, 实际 HDFS 上的数据和文件,会由 Shark 获取并放到

Spark

上运算。 Shark 的特点就是快, 完全兼容 Hive ,且可以在 shell 模

式下使用rdd2sql()这样的API ,把HQL得到的结果集,继 续在