您的位置:首页 > 编程语言 > C#

Hbase学习:使用C#通过Thrift来对Hbase进行访问

2013-01-25 14:57 603 查看
准备工作:

下载 Thrift compiler for Windows版本的EXE文件(thrift-0.7.0.exe)

下载 SVN源码地址:http://svn.apache.org/repos/asf/thrift/attic/trunk/lib/csharp/ (使用svn来下载)


1.将 hbase-0.94.4\src\main\resources\org\apache\hadoop\hbase\thrift2\hbase.thrift 到 thrift-0.7.0.exe 相同目录下

进入命令行,到 thrift-0.7.0.exe 目录下

执行 thrift-0.7.0.exe -gen csharp hbase.thrift

会生成gen-csharp文件夹,里面是thrift接口实现的类

2使用svn获取源码(主要为了生成Thrift.dll,也方面查看code),在src里面提取Thrift项目

3新建项目 ThriftHbaseCommon加入刚才生成的代码,也将svn上的Thrift项目加入

4编写访问集群的Hbase代码(当然你的集群及hbase应该是OK的)

TTransport transport = new TSocket("IP", 9090);
TProtocol tProtocol = new TBinaryProtocol(transport);
var client = new Hbase.Client(tProtocol);
transport.Open();
List<TRowResult> reslut= client.getRow(Encoding.UTF8.GetBytes("TableName"),Encoding.UTF8.GetBytes("Rows.key"),null);
foreach (var key in reslut)
{
Console.WriteLine(Encoding.UTF8.GetString(key.Row));

foreach (var k in key.Columns)
{
Console.Write(Encoding.UTF8.GetString(k.Key)+"\t");
Console.WriteLine(Encoding.UTF8.GetString(k.Value.Value));
}
}
Console.ReadLine();


需要注意的是,你要启动对应IP的Thrift服务,命令为:hbase-daemon.sh start thrift
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: