【Spark】使用spark访问阿里云hbase完全实践(增强版)
阿里云Hbase介绍
云数据库 HBase 版是面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。
环境准备
- 阿里云HBase增强版(Lindorm)
数据准备
利用阿里云提供的hbase
的工具,使用hbase shell
访问hbase
并且创建一张表。表名及表数据如下:
解释:
创建了一张stu
表,有一个列族info
,列族中有两列——id
,name
数据大致如下所示:
row | id | name |
---|---|---|
001 | 001 | zhangsan |
002 | 002 | lisi |
编写程序
本程序是个Maven
项目,有以下依赖:
<dependencies>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.12</artifactId>
<version>3.2.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.thoughtworks.paranamer</groupId>
<artifactId>paranamer</artifactId>
<version>2.8</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-streaming_2.12</artifactId>
<version>3.2.1</version>
<scope>provided</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/com.alibaba.hbase/alihbase-connector -->
<dependency>
<groupId>com.aliyun.hbase</groupId>
<artifactId>alihbase-client</artifactId>
<version>2.8.6</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.hbase.connectors.spark/hbase-spark -->
<dependency>
<groupId>org.apache.hbase.connectors.spark</groupId>
<artifactId>hbase-spark</artifactId>
<version>1.0.1-SNAPSHOT</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.hbase/hbase-spark -->
</dependencies>
具体的代码:
执行结果如下:
总结
如果有什么好的想法,或者是好的工具又或者是什么建议,请在评论区中留言。希望有更加简单高效的方案。