Hbase学习:使用C#通过Thrift来对Hbase进行访问
准备工作:
下载 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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现