很久,很久没有写个博客了,自从上次封闭开始,到“自闭”,有了一段时间了,哈哈^_^ 、 java
多亏了云桌面的歇菜, 一下午啥都干不了, 忽然想到,很久没有写点啥了,就写的,让时间流走有点痕迹吧 _(:з」∠)_python
以前,作过一个小工具,就是将一个文件中的数据,插入的hbase中, 将其简单阐述一番,多少记一点吧,要不在过一段时间都忘了。linux
插入到hbase中,有不少中选择,java的方式是能够的,可是作一个脚本,没有必要,操做起来不方便,还得编译,.... , shell
选择shell或python的方式,是个方便的选择,反正是个小工具,有可能会随时调整 ,并且linux是自带的Python环境多线程
要用Python脚步的方式插入到hbase,参考hbase的官方文档。运维
查看hbase Reference Guide, 里面介绍内容不少,包括不少入门操做说明等。
本次,主要是查看了如何更好的利用Python脚步插入到hbase中。
因为hbase是java写的,要用Python去执行查询插入数据到hbase中,是有两种方式走,ide
因为要用thrift方式,是须要开启服务,须要往Python安装其余第三方类库,增长运维人员负担,最后尝试后采用第二中方法。工具
用hbase shell 的方式,大数据
这几种HBase数据导入方式(不推荐使用)
理由:ui
最后,查询官方文档后,得知ImportTsv是HBase官方提供的基于Mapreduce的批量数据导入工具。
同时ImportTsv是Hbase提供的一个命令行工具,能够将存储在HDFS上的自定义分隔符(默认\t)的数据文件,经过一条命令方便的导入到HBase表中,对于大数据量导入很是实用。
这种方式,是将要插入数据写放到HDFS上,这样保证数据不丢失,多份数据,而后开启MapReduce的方式,插入到hbase。当执行10w条数据插入没有问题,但100w的数据插入就会出现丢失状况。
解决方案是先用ImportTsv生成HFile,而后在用bulkload 的方式将HFIle导入到hbase的里面。
总结:
多看hbase的官方文档,但也要多搜索一下国内大牛写的博客,毕竟有人实际过,少尝试一些方法。
若您看到后,会用什么方式,能够留言讨论。
O(∩_∩)O哈哈~ 刚看了一下,云桌面好了,干活了!