暂无说说

RHadoop系列之rhbase

R jiajun 3个月前 (09-29) 28次浏览 0个评论 扫描二维码

rhbase 通过 Thrift 服务与 HBASE 分布式数据库建立连接。通过 rhbase,R程序员可以利用R语言,快速实现的浏览,读取,写入和修改存储在 HBASE 分布式数据库中的表。rhbase 包只需要安装在运行R客户端的节点上即可。本文介绍 rhbase 的安装及利用 rhbase,对 HBASE 进行简单的操作。

一、操作环境

操作系统:ubuntu16.04 桌面版
hadoop 版本:hadoop2.7.2
HBASE 版本:hbase-2.1.0
R版本:R3.4.4

二、安装过程

1、安装依赖

sudo apt-get install php-cli libboost-dev libboost-test-dev libboost-program-options-dev libevent-dev automake libtool flex bison pkg-config g++ libssl-dev python-dev python3-dev

2、安装 ant
ant 下载地址:https://ant.apache.org/bindownload.cgi

tar -zxvf apache-ant-1.10.5-bin.tar.gz -C /soft/
ln -s /soft/apache-ant-1.10.5/ /soft/ant
sudo nano /etc/profile

export ANT_HOME=/soft/ant
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HBASE_HOME/bin:$ANT_HOME/bin

source /etc/profile

3、编译安装 thrift

thrift 下载地址:http://thrift.apache.org/

tar -zxvf thrift-0.11.0.tar.gz
cd thrift-0.11.0/
./configure
make
su root
sudo make install
exit

修改 thrift.pc

sudo vim /usr/local/lib/pkgconfig/thrift.pc
改  Cflags: -I${includedir} 为  Cflags: -I${includedir}/thrift

sudo cp /usr/local/lib/libthrift-0.11.0.so /usr/lib/


4、查看 thrift 版本

thrift -version
Thrift version 0.11.0


5、启动 HBase 的 Thrift Server

start-dfs.sh
start-yarn.sh
start-hbase.sh
hbase-daemon.sh start thrift

jps

30577 HMaster
3926 NameNode
30470 HQuorumPeer
4070 DataNode
4279 SecondaryNameNode
4458 ResourceManager
12843 Jps
4603 NodeManager
30927 ThriftServer
30751 HRegionServe

6、安装 rhbase

rhbase 下载地址:https://github.com/RevolutionAnalytics/RHadoop/wiki/Downloads

su root
source /etc/profile
R CMD INSTALL -l /usr/local/lib/R/site-library rhbase_1.2.1.tar.gz
exit

7、测试
新建表

R
library(rJava)
library(rhbase)
hb.init()

<pointer: 0x286e8b0>
attr(,"class")
[1] "hb.client.connection"

hb.new.table("student_rhbase","info",opts=list(maxversions=5,x=list(maxversions=1L,compression='GZ',inmemory=TRUE)))
[1] TRUE

2、查看表

hb.list.tables()

$student_rhbase
      maxversions compression inmemory bloomfiltertype bloomfiltervecsize bloomfilternbhashes blockcache timetolive
info:      5        NONE       FALSE        NONE                0                 0             FALSE     2147483647

hb.describe.table("student_rhbase")

      maxversions compression inmemory bloomfiltertype bloomfiltervecsize bloomfilternbhashes blockcache  timetolive
info:      5        NONE       FALSE         NONE                  0                   0        FALSE     2147483647

插入数据

hb.insert("student_rhbase",list(list("mary","info:age", "24")))
[1] TRUE

查询数据

hb.get('student_rhbase','mary')
[[1]]
[[1]][[1]]
[1] "mary"

[[1]][[2]]
[1] "info:age"

[[1]][[3]]
[[1]][[3]][[1]]
[1] "24"

删除表

hb.delete.table('student_rhbase')
[1] TRUE

附:hbase 函数

hb.compact.table      hb.get.data.frame     hb.regions.table
hb.defaults           hb.init               hb.scan
hb.delete             hb.insert             hb.scan.ex
hb.delete.table       hb.insert.data.frame  hb.set.table.mode
hb.describe.table     hb.list.tables        
hb.get                hb.new.table

 

喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址