C#通过thrift连接hbase操作步骤
作者:网络转载 发布时间:[ 2013/12/17 10:50:26 ] 推荐标签:
1、 下载thrift-0.9.1.exe和源码包thrift-0.9.1.tar.gz
2、利用thrift-0.9.1.exe工具生成thrift连接hbase的客户端接口代码:
2、利用thrift-0.9.1.exe工具生成thrift连接hbase的客户端接口代码:
从hbase源码包目录
hbase-0.96.0-srchbase-0.96.0hbase-thriftsrcmain
esourcesorgapachehadoophbase hrift
找到HBase.Thrift文件,拷贝至thrift-0.9.1.exe同一目录下:
在cmd命令行里切换到thrift-0.9.1目录下,执行下面的脚本,自动生成thrift的客户端c#接口代码,代码在gen-csharp目录文件里:
thrift-0.9.1.exe -gen csharp HBase.Thrift
3、在vs2010里创建解决方案
HBaseThriftAPI,新建2个工程,一个是Thrift(在解决方案上单击右键,选择添加-现有项目thrift-0.9.1libcsharpsrcThrift.sln),是从thrift-0.9.1的源码包里添加而来,然后编译生成动态库,
另外新建一个工程IThrift,把自动生成的接口代码添加进来,同时在应用中把Thrift的编译结果引用过来,
同时在ithrift里新建一个连接hbase里面thrift的测试客户端程序(TestClient.cs),代码如下(注意里面连接的IP、端口、表名、行键4个参数需要根据实际的替换一下):
using System;
using System.Collections.Generic;
using System.Threading;
using Thrift.Collections;
using Thrift.Protocol;
using Thrift.Transport;
using System.Text;
namespace Test
{
publicclassTestClient
{
publicstaticvoid Main(string[] args)
{
try
{
TTransport transport = new TSocket("192.168.0.101", 9090);//连接的IP、端口
TProtocol tProtocol = new TBinaryProtocol(transport);
var client = new Hbase.Client(tProtocol);
transport.Open();
List<TRowResult> reslut = client.getRow(Encoding.UTF8.GetBytes("test"),Encoding.UTF8.GetBytes("a"),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) +" ");
Console.WriteLine(Encoding.UTF8.GetString(k.Value.Value));
}
}
Console.ReadLine();
}
catch (Exception e)
{
Console.WriteLine(e.StackTrace);
}
}
}
}
|
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11热门文章
常见的移动App Bug??崩溃的测试用例设计如何用Jmeter做压力测试QC使用说明APP压力测试入门教程移动app测试中的主要问题jenkins+testng+ant+webdriver持续集成测试使用JMeter进行HTTP负载测试Selenium 2.0 WebDriver 使用指南