【C#】通过Thrift操作HBase系列(1)
来源:互联网 发布:淘宝主图的尺寸 编辑:程序博客网 时间:2024/06/05 17:12
题外话:C# 调用 Java 的几种方法
1.将Java端的接口通过WebService方式发布,C#可以方便的调用
2.先使用C++ 通过 JNI 调用 Java,C# 调用C++的接口
3.使用开源的库直接使用C#调用Java ,详细信息请点击
4.使用IKVM实现C#调用Java,参考:http://www.ikvm.net/
之所以说这些,是因为自己这边客户端要调用HBase接口(Java实现),刚开始我是使用WS方式实现调用,这种方式很简单,而且通用性好。之后一段时间发现了上面所说的第三种方式,并成功调用,但是写这个库的哥们,好像没有维护自己写的这个库,里面有几个很明显的BUG,而且在循环调用的时间,会报内存错误,由于对JNI不太熟悉,也就放弃了这种方式,如果对这种方式感兴趣的童鞋可以给他完善一下,再提个醒,这个开源库依赖jvm.dll,只有32位的JavaJDK才行。至于第二种和第四种方式没有深入研究,在这也就不说了。
最终我并没有采用上面的任何一种方式,而我采用的是Thrift方式,虽然比Java API 慢一点,但也在可接受的范围之内。接下来就要进入正题了:
准备阶段:
1. 下载 Thrift 的源代码包,http://thrift.apache.org/
2. 下载 Thrift compiler for Windows ,http://www.apache.org/dyn/closer.cgi?path=/thrift/0.9.0/thrift-0.9.0.exe
生成Thrfit接口类:
1. 从HBase包中,得到HBase.Thrift文件。(..\hbase-0.94.6.1\src\main\resources\org\apache\hadoop\hbase\thrift 在此目录下)
2. 将Thrift-0.9.0.exe 与 HBase.Thrift文件放到同意目录下(当然也可以不在同一目录)
3. 进入命令行, Thrift-0.9.0.exe -gen CSharp HBase.Thrift此目录下就成了名为gen-csharp的文件夹
构建解决方案
该准备的项目代码都已完成,新建VS Project , 将Thrift 的源代码项目与刚刚生成的接口接口类引入。
开始集群的Thrift服务
hbase-daemon.sh start thrift 端口号默认9090
编写测试代码
- 【C#】通过Thrift操作HBase系列(1)
- 【C#】通过Thrift操作HBase系列(2)
- 【C#】通过Thrift操作HBase系列(3)
- 使用C++(通过Thrift)访问/操作/读写Hbase
- 使用C++(通过Thrift)访问/操作/读写Hbase
- 使用C++(通过Thrift)访问/操作/读写Hbase
- 使用C++(通过Thrift)访问/操作/读写Hbase
- 使用C++(通过Thrift) 操作Hbase
- C# 通过Thrift 1 操作 HBase
- PHP通过Thrift操作Hbase
- PHP通过Thrift操作Hbase
- php通过thrift操作hbase
- PHP通过Thrift操作Hbase
- PHP操作HBASE(通过thrift)
- php通过thrift操作hbase
- php通过thrift操作hbase
- PHP通过Thrift操作Hbase
- python通过thrift操作hbase
- Linux学习笔记:重新启动linux里的X服务器
- Android中使用定时器更新UI
- 组合 继承
- json_后台传送json格式的对象到前台页面
- Py_Initializemisses necessary libraries (static libpython.a)
- 【C#】通过Thrift操作HBase系列(1)
- Java中类的加载
- hdu1520 Anniversary party 树形dp
- 物理学家拟验证宇宙是否为电脑模拟产物
- Java工程师必读的15本经典之作
- configuring frame size of UIImagePickerController
- jquery选择器
- git命令之git clone用法
- PowerDesigner:Reverse Engineer Database 中报错 unable to list the tables