大数据平台技术——Scala+Hbase学习

Scala部分

在这里插入图片描述
var 是 variable(变量,可变物)或者是variation的简写。

2.Hbase部分

2.1 简介

什么是HBase

  1. 是一个NoSQL
  2. Hadoop项目中的一部分
  3. 基于HDFS运行在这里插入图片描述
    HBase 是一个开源的非关系型分布式数据库(NoSQL),它参考了谷歌的 BigTable 建模,实现的编程语言为 Java。它是 Apache 软件基金会的 Hadoop 项目的一部分,运行于 HDFS 文件系统之上,为 Hadoop 提供类似于 BigTable 规模的服务,可以存储海量稀疏的数据,并具备一定的容错性、高可靠性及伸缩性。主要应用场景是实时随机读写超大规模的数据。

HBase 在列上实现了 BigTable 论文提到的压缩算法、内存操作和布隆过滤器。HBase 的表能够作为 MapReduce 任务的输入和输出,可以通过 Java API 来存取数据,也可以通过 REST、Avro 或者 Thrift 的 API 来访问。

与其他部分的关系

HBase 不能取代 RDBMS,因为二者的应用场景不同。HBase 为了解决海量数据的扩展性,支持简单的增加节点来实现线性扩展,从而在集群上管理海量的非结构化或半结构化的稀疏数据。HBase 仅能通过主键(raw key)或主键的 range 检索数据,支持单行事务。

上图描述 Hadoop EcoSystem 中的各层系统。其中,HBase 位于结构化存储层,Hadoop HDFS 为 HBase 提供了高可靠性的底层存储支持,Hadoop MapReduce 为 HBase 提供了高性能的计算能力,Zookeeper 为 HBase 提供了稳定服务和 failover 机制。

此外,Pig 和 Hive 还为 HBase 提供了高层语言支持,使得在 HBase 上进行数据统计处理变的非常简单。Sqoop 则为 HBase 提供了方便的 RDBMS 数据导入功能,使得传统数据库数据向 HBase 中迁移变的非常方便。

Hbase的数据模型

在这里插入图片描述

HBase架构

在这里插入图片描述

Hbase访问接口

Native Java API,最常规和高效的访问方式,适合 Hadoop MapReduce Job 并行批处理 HBase 表数据。
HBase Shell,HBase 的命令行工具,最简单的接口,适合 HBase 管理使用。
Thrift Gateway,利用 Thrift 序列化技术,支持 C++,PHP,Python 等多种语言,适合其他异构系统在线访问 HBase 表数据。
REST Gateway,支持 REST 风格的 Http API 访问 HBase, 解除了语言限制。
Pig,可以使用 Pig Latin 流式编程语言来操作 HBase 中的数据,和 Hive 类似,本质最终也是编译成 MapReduce Job 来处理 HBase 表数据,适合做数据统计。

Hbase存储格式

在这里插入图片描述

2.2 安装与运行

参考最新的Hadoop与HBase版本兼容性,我的hadoop是v3.1.3,所以用2.2.4版本的hbase
参考林子雨教程进行了伪分布安装
在运行过程中出现了“错误的替换”

//因为已经在环境变量中配置了hadoop和hbase,直接启动以下命令即可
start-dfs.sh
start-hbase.sh

//打开shell
hbase shell

//关闭
stop-hbase.sh

2.3 一些基本操作

其他增加的小知识点

  1. sudo:superuser do
  2. 宝藏:linux命令缩写大全
  3. 递归-recursion
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值