利用ruby通过Thrift接口批量插入HBase
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了利用ruby通过Thrift接口批量插入HBase,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1351字,纯文字阅读大概需要2分钟。
内容图文
![利用ruby通过Thrift接口批量插入HBase](/upload/InfoBanner/zyjiaocheng/548/10e990460e3b4402ac42b7e40bfe6105.jpg)
因为工作中使用fluentd采集日志,需要使用ruby通过thrift接口插入数据到hbase中,网上搜索了一下,发现很多都是插入单个数据,没
因为工作中使用fluentd采集日志,,需要使用ruby通过thrift接口插入数据到hbase中,网上搜索了一下,发现很多都是插入单个数据,没办法只好参考python语言写的批量插入修改了代码,终于搞定。
$:.unshift File.expand_path('gen-rb', File.dirname(__FILE__))
require 'thrift'
require File.expand_path('gen-rb/hbase', File.dirname(__FILE__))
transport = Thrift::BufferedTransport.new(Thrift::Socket.new("localhost", "9090"))
transport.open
client = Apache::Hadoop::Hbase::Thrift::Hbase::Client.new(Thrift::BinaryProtocol.new(transport))
## Get Table meta data
def newpass( len )
chars = ("a".."z").to_a + ("A".."Z").to_a + ("0".."9").to_a
newpass = ""
1.upto(len) { |i| newpass << chars[rand(chars.size-1)] }
return newpass
end
columnvalue = "v"*10
batchmutations = []
starttime=Time.now
1000.times do |x|
mutations=[]
rowkey ="RK_" << Time.now.strftime('%Y%m%d_'<< newpass(15))
5.times do |i|
mutations << Apache::Hadoop::Hbase::Thrift::Mutation.new(:column => "f1:" << i.to_s,:value => columnvalue)
end
batchmutations << Apache::Hadoop::Hbase::Thrift::BatchMutation.new(:row => rowkey,:mutations => mutations)
end
client.mutateRows("testdb2", batchmutations)
内容总结
以上是互联网集市为您收集整理的利用ruby通过Thrift接口批量插入HBase全部内容,希望文章能够帮你解决利用ruby通过Thrift接口批量插入HBase所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。