HBase 的 Spark SQL Astro

Astro 详细介绍

华为2015年7月20日在O'Reilly Open Source Convention (OSCON) 上宣布Spark SQL on HBase package正式开源。Spark SQL on HBase package 项目又名 Astro,端到端整合了 Spark,Spark SQL和HBase的能力,有助于推动帮助Spark进入NoSQL的广泛客户群,并提供强大的在线查询和分析以及在垂直企业大规模数据处理能力。

Apache HBase 是数据在 HDFS 上的 Key-Value 存储。它用来给 Google 的 Big Table 建模,并提供了 API 用于查询数据。这些数据通过它的“row keys”来组织、区分和发布。在每个分区上,数据被指定的“列”数据集合“列族”物理分区。这些数据模型是宽且零散的,在这些表中列是动态的,零散的。

尽管 HBase 是非常有用的大数据存储,但是它的访问机制非常原始,只能通过客户端的 API,Map/Reduce 接口和交互的 shell。SQL 访问 HBase 数据可通过 Map/Reduce 或者接口机制,如 Apache Hive 和 Impala,或者一些“本地的” SQL 技术,如 Apache Phoenix。前者实现和使用起来通常比较便宜,它们的延迟和效率通常不如后者,并且只适用于离线分析。后者,与之相反,通常执行得更好,并且限定多个作为联机引擎。它们通常在特定的执行引擎的顶层。

当前的 Astro 1.0 依赖于 Spark 1.4.0,HBase 0.98

构建方法(要求 Maven):

$ git clone https://github.com/HuaweiBigData/astro
$ cd astro
$ mvn -DskipTests clean install
$ mvn clean install
$mvn -Phbase,hadoop-2.4 test  #运行测试

文章转载自 开源中国社区[https://www.oschina.net]

时间: 2024-08-22 14:33:34

HBase 的 Spark SQL Astro的相关文章

关于CarbonData+Spark SQL的一些应用实践和调优经验分享

大数据时代,中大型企业数据的爆发式增长,几乎每天都能产生约 100GB 到 10TB 的数据.而企业数据分系统构建与扩张,导致不同应用场景下大数据冗余严重.行业亟需一个高效.统一的融合数仓,从海量数据中快速获取有效信息,从而洞察机遇.规避风险. 在这样的现状下,CarbonData 诞生了,作为首个由中国贡献给Apache社区的顶级开源项目,CarbonData 提供了一种新的融合数据存储方案,以一份数据同时支持多种大数据应用场景,并通过丰富的索引技术.字典编码.列存等特性提升了 IO 扫描和计

spark sql简单示例

运行环境 集群环境:CDH5.3.0 具体JAR版本如下: spark版本:1.2.0-cdh5.3.0 hive版本:0.13.1-cdh5.3.0 hadoop版本:2.5.0-cdh5.3.0 spark sql的JAVA版简单示例 spark sql直接查询JSON格式的数据 spark sql的自定义函数 spark sql查询hive上面的表 import java.util.ArrayList; import java.util.List; import org.apache.sp

Spark SQL组件源码分析

功能 Spark新发布的Spark SQL组件让Spark对SQL有了别样于Shark基于Hive的支持.参考官方手册,具体分三部分: 其一,能在Scala代码里写SQL,支持简单的SQL语法检查,能把RDD指定为Table存储起来.此外支持部分SQL语法的DSL. 其二,支持Parquet文件的读写,且保留Schema. 其三,能在Scala代码里访问Hive元数据,能执行Hive语句,并且把结果取回作为RDD使用. 第一点对SQL的支持主要依赖了Catalyst这个新的查询优化框架(下面会给

整理对Spark SQL的理解

Catalyst Catalyst是与Spark解耦的一个独立库,是一个impl-free的执行计划的生成和优化框架. 目前与Spark Core还是耦合的,对此user邮件组里有人对此提出疑问,见mail.   以下是Catalyst较早时候的架构图,展示的是代码结构和处理流程. Catalyst定位 其他系统如果想基于Spark做一些类sql.标准sql甚至其他查询语言的查询,需要基于Catalyst提供的解析器.执行计划树结构.逻辑执行计划的处理规则体系等类体系来实现执行计划的解析.生成.

Spark SQL性能优化

性能优化参数 针对Spark SQL 性能调优参数如下: 代码示例 import java.util.List; import org.apache.spark.SparkConf; import org.apache.spark.api.java.JavaSparkContext; import org.apache.spark.sql.api.java.JavaSQLContext; import org.apache.spark.sql.api.java.Row; import org.a

Spark SQL 物理执行计划各操作实现

SparkStrategy: logical to physical Catalyst作为一个实现无关的查询优化框架,在优化后的逻辑执行计划到真正的物理执行计划这部分只提供了接口,没有提供像Analyzer和Optimizer那样的实现. 本文介绍的是Spark SQL组件各个物理执行计划的操作实现.把优化后的逻辑执行计划映射到物理执行操作类这部分由SparkStrategies类实现,内部基于Catalyst提供的Strategy接口,实现了一些策略,用于分辨logicalPlan子类并替换为

Spark SQL中的DataFrame

在2014年7月1日的 Spark Summit 上,Databricks 宣布终止对 Shark 的开发,将重点放到 Spark SQL 上.在会议上,Databricks 表示,Shark 更多是对 Hive 的改造,替换了 Hive 的物理执行引擎,因此会有一个很快的速度.然而,不容忽视的是,Shark 继承了大量的 Hive 代码,因此给优化和维护带来了大量的麻烦.随着性能优化和先进分析整合的进一步加深,基于 MapReduce 设计的部分无疑成为了整个项目的瓶颈. 详细内容请参看 Sh

《Spark 官方文档》Spark SQL, DataFrames 以及 Datasets 编程指南(一)

Spark SQL, DataFrames 以及 Datasets 编程指南 概要 Spark SQL是Spark中处理结构化数据的模块.与基础的Spark RDD API不同,Spark SQL的接口提供了更多关于数据的结构信息和计算任务的运行时信息.在Spark内部,Spark SQL会能够用于做优化的信息比RDD API更多一些.Spark SQL如今有了三种不同的API:SQL语句.DataFrame API和最新的Dataset API.不过真正运行计算的时候,无论你使用哪种API或语

使用Spark SQL构建交互式查询引擎

前言 StreamingPro 原来仅仅是用来作为Spark Streaming的一个配置化+SQL封装,然而不经意间,已经涵盖了批处理,交互式查询等多个方面.今天就讲讲如何使用StreamingPro构建一个交互式查询引擎. 准备工作 下载StreamingPro README中有下载地址 如果你使用了 Spark 2.0 版本,则要下载对应页面上的Spark 安装包.因为目前Spark 2.0 默认支持Scala 2.11.我提供了一个机遇Scala 2.10版本的.  我们假设您将文件放在