Hbase
术语
-
表:HBase采用表来组织数据,表由行和列组成。列被划分成多个列族
-
列族:HBase的基本访问控制单元
-
行:HBase由若干个行组成,每个行由行键
row key
进行标识 -
列限定符:列族的数据通过列限定符来进行定位
-
时间戳:每个单元格保存着同一份数据的多个版本,这些版本通过时间戳来进行索引
-
单元格:在表中,通过行、列族和列限定符确定一个单元格
cell
。单元格中存储的数据没有数据类型,被视为字节数组byte[]
。每个值都是通过单元格进行保存的。通过四维数据:行键+列族+列限定符+时间戳,才能限定一个数据
文件读写
-
本地文件读写
1
2
3textFile = textFile("file:///usr/local/spark/word.txt")
textFile.saveAsFile("file:///usr/local/spark/writevback") # 写进入文件中,一定是写入某个目录中,而不是具体的某个里面
textFile = sc.textFile("file:///usr/local/spark/writevback") # 加载目录中的所有文件 -
分布式文件系统HDFS的读写
启动Hbase数据
Hbase
是谷歌开源的big table
;一个表中包很多的行和列。HBase的底层是保存在HDFS之上的。
1 | # 启动Hadoop |
创建表student
1 | hbase> disable 'student' |
插入数据
关键字是put
,每次插入一个单元格的数据
1 | # 插入数据,每个单元格中插入一个数据 |
配置spark
需要新建一个hbase
目录,用来存放所有的jar
包
还有格jar包
1 | cd /usr/local/spark/conf |
读取数据
将HBase
内部数据的格式转成string
类型
1 | from pyspark import SparkConf, SparkContext |
写入数据
将string
类型转成HBase
内部的可读取形式
1 | rom pyspark import SparkConf, SparkContext |
查看数据
切换到HBase shell
的交互式环境中,通过 scan ‘student’ 进行查看