华为2015年7月20日在O'ReillyOpenSourceConvention(OSCON)上宣布SparkSQLonHBasepackage正式开源。SparkSQLonHBasepackage项目又名Astro,端到端整合了Spark,SparkSQL和HBase的能力,有助于推动帮助Spark进入NoSQL的广泛客户群,并提供强大的在线查询和分析以及在垂直企业大规模数据处理能力。
ApacheHBase是数据在HDFS上的Key-Value存储。它用来给Google的BigTable建模,并提供了API用于查询数据。这些数据通过它的“rowkeys”来组织、区分和发布。在每个分区上,数据被指定的“列”数据集合“列族”物理分区。这些数据模型是宽且零散的,在这些表中列是动态的,零散的。
尽管HBase是非常有用的大数据存储,但是它的访问机制非常原始,只能通过客户端的API,Map/Reduce接口和交互的shell。SQL访问HBase数据可通过Map/Reduce或者接口机制,如ApacheHive和Impala,或者一些“本地的”SQL技术,如ApachePhoenix。前者实现和使用起来通常比较便宜,它们的延迟和效率通常不如后者,并且只适用于离线分析。后者,与之相反,通常执行得更好,并且限定多个作为联机引擎。它们通常在特定的执行引擎的顶层。
当前的Astro1.0依赖于 Spark1.4.0,HBase0.98
构建方法(要求Maven):
$ git clone https://github.com/HuaweiBigData/astro$ cd astro$ mvn -DskipTests clean install $ mvn clean install$mvn -Phbase,hadoop-2.4 test #运行测试
评论