博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HBase实操 | 如何使用HBase存储图片
阅读量:5993 次
发布时间:2019-06-20

本文共 1205 字,大约阅读时间需要 4 分钟。

1.文档编写目的
Fayson在前面的文章中介绍了《如何使用HBase存储文本文件》和《如何使用Lily HBase Indexer对HBase中的数据在Solr中建立索引》,实现了文本文件保存到HBase中,并基于Solr实现了文本文件的全文检索。如果我们碰到的是图片文件呢,该如何保存或存储呢。本文主要描述如何将图片文件转成sequence file,然后保存到HBase。
内容概述
1.文件处理流程
2.准备上传文件的Java代码
3.运行代码
4.Hue中查询验证
测试环境
1.RedHat7.4
2.CM5.14.3
3.CDH5.14.2
4.集群未启用Kerberos
2.图片处理流程
5e587c5a7b0069012d84801b8d4a20155ed631bc
1.如上图所示,Fayson先在本地准备了一堆图片文件,并上传到HDFS。
47ab49be47d04e9f955b443848ec836915742315
上传到HDFS
07523088efdd5be2c64c6a16f057dc826fcdf40d

2.然后通过Java程序遍历所有图片生成一个Sequence File,然后把Sequence File入库到HBase,在入库过程中,我们读取图片文件的文件名作为Rowkey,另外将整个图片内容转为bytes存储在HBase表的一个column里。

3.最后可以通过Hue来进行查看图片,当然你也可以考虑对接到你自己的查询系统。

3.准备上传文件的Java代码

1.首先是准备Maven文件

34b57de8d64b1eb6cd256a4853621542aa4a3742

239d6a4c773feabdcb1566ba3b200ba7bd116f22

fd9a9fa1e066ef7544ab1bda6fc47e0a690d7fe3

.2、准备上传文件到HBase的Java代码

1f78b3e9b6164690961f09cefb06772be9d1f868

241c4fe5fcad21b19a08eb1f137713c98c1b7114

52f8323c1801478162e3f744e7e1b2bbaa19dd6a

447db976dc2c2833d5bc78459b7f830f58076e01

0d73dc6331c790669d8511620e50843f28fac6c2

4.运行代码

1.首先我们在HBase中建一张表用来保存文本文件

978dbd69ebbcf02a6a3483135abfd7b1c85d8f35

2.注意修改代码中的配置项,如文本文件所在的HDFS目录,集群的Zookeeper地址等。将代码打成jar包并上传到集群服务器节点。该过程略。

3.准备执行脚本

2.注意修改代码中的配置项,如文本文件所在的HDFS目录,集群的Zookeeper地址等。将代码打成jar包并上传到集群服务器节点。该过程略。

3.准备执行脚本

8b70dc0bbeb065f4302c07d5ef15867edbb8698a

4.执行脚本

ddf18c2e8aa294bbdcdd37a5382f9c13137f51f1

脚本执行完毕,成功入库

13015e7ef2e064be38d45c2c6bf8852fe4c08056

5.使用HBase shell检查,入库12条,全部入库成功。

c8508176c4481fd4a076cd949461c8ceb248252f

5.Hue中查询验证

1.从Hue中进入HBase的模块

ec52462f124106ffd717d6b0533f6be47e20709b

单击某个column,可以查看整个图片

d3566df9b3dee58b20f5f19e4c4630d763f59b4d

2.查询某一个Rowkey进行测试

ac491ecb5be6be41bca934e87ab665d2d8cc1590

本文所使用的代码源码GitHub地址:

https://github.com/fayson/cdhproject/blob/master/hbasedemo/src/main/java/com/cloudera/hbase/SequenceFileTest.java

d3f2f0da5b6761a64c7049db7719525a2c492a0c

大家工作学习遇到HBase技术问题,把问题发布到HBase技术社区论坛http://hbase.group,欢迎大家论坛上面提问留言讨论。想了解更多HBase技术关注HBase技术社区公众号(微信号:hbasegroup),非常欢迎大家积极投稿。

096973d69f34b1380151180fd0a8ff2cade5bced

HBase技术交流社区 - 阿里官方“HBase生态+Spark社区大群”点击加入:https://dwz.cn/Fvqv066s

转载地址:http://pixlx.baihongyu.com/

你可能感兴趣的文章
大众点评Cat源码分析(三)——数据文件(MessageTree)读写磁盘详细逻辑
查看>>
Mac OS X的利器dtrace,能实现process/file monitor,特别便于排错
查看>>
数据中心服务器托管VMware虚拟化网络配置最佳实践
查看>>
SaltStack的配置管理--jinja
查看>>
Docker 安装Nginx
查看>>
android Window Leaked异常的解决方法
查看>>
Linux必学的60个命令(2)-文件处理
查看>>
Diamond设计思想杂碎
查看>>
Android SDK Readme.txt翻译
查看>>
Keras Sequential model 快速入门
查看>>
CentOS7 安装man中文手册
查看>>
sed命令之练习集
查看>>
INNODB 关键特性
查看>>
计算机系统(一)
查看>>
Day-5
查看>>
字符串的处理[C#]
查看>>
CentOS7 下安装 ansible
查看>>
C#连接Excel和生成Excel
查看>>
wpsca几种使用方法
查看>>
我的友情链接
查看>>