文档章节

【2016-04-19】thrift简单使用记录

rathan0
 rathan0
发布于 2016/04/19 11:58
字数 372
阅读 54
收藏 2

由于公司合并,跨部门接口调用比较多,虽然之前在接触hadoop/hive的时候见过thrift,这还是第一次使用thrift。

异地的同事丢给我一个thrift接口,看到之后我是发蒙的,真不知道这个东西要怎么使用,于是开始求助搜索引擎。

要用java调用thrift接口,首先要用thrift命令生成java代码。

步骤:

1、下载thrift压缩包。官方网址:https://thrift.apache.org/

官网上没找到以往的版本,于是从filewatcher这里下载压缩包。

2、解压tar包

tar -xf thrift-0.9.1.tar

3、安装:

安装过程参考README,大概是configure,make,make install

4、生成java service代码:

thrift --gen java /Users/rathan/Downloads/asyncquerier.thrift

一个200行的thrift文件,可以生成25k行代码。统计行数命令如下:

find /Users/rathan/asyncquerier/ -type f -name "*.java" -exec cat {} \; | grep -v '^$' | wc -l

5、使用java代码:

把java代码放到项目里,然后引入对应的libthrift jar包(小心版本冲突),写出对应的client端代码,就可以使用了。

以上


虽然现在写出来很简单,但是自己琢磨还是花了点时间的,thrift技术是一方面,还是有相关接口的使用,好长一段时间都在盯着代码发呆,现在我也没弄懂那些自动生成的代码。


© 著作权归作者所有

共有 人打赏支持
rathan0
粉丝 4
博文 66
码字总数 36282
作品 0
程序员
私信 提问
MariaDB 5.5.49 发布,流行的 MySQL 分支版本

MariaDB 5.5.49 发布了,MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在...

淡漠悠然
2016/04/24
1K
6
Hive On Tez,Tez 和 MapReduce engine 性能对比

接上一篇文章: https://my.oschina.net/zhzhenqin/blog/781670 Tez On Yarn 安装成功后,是为了给 Hive 或者 Pig 提供执行引擎。 Hive 默认支持 MapReduce,Tez,Spark(在 SparkSQL 中支持...

震秦
2016/11/04
162
0
Thrift RPC基础学习总结

一.什么是Thrift? Thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发。它结合了功能强大的软件堆栈和代码生成引擎,以构建在 C++、Java、Python、PHP、Ruby、Erlang、Perl、Haskell...

IamOkay
2017/12/21
0
0
频繁添加删除osd,导致osd无法up

环境介绍 预上线系统,手工已经设置好crushmap,并且已经指定了osd.139所在的location 集群开启了noout(ceph osd set noout) ceph版本: 0.94.5 osd设置了osd crush update on start = false...

秦牧羊
2016/04/01
263
2
Percona-mysql MHA高可用实战方案

前言 MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是一套优秀的作为MySQLy高可用环境下故障切...

jxzhfei
06/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

高并发编程:解析HashMap

底层实现原理 在JDK1.8以前版本中,HashMap的实现是数组+链表,它的缺点是即使哈希函数选择的再好,也很难达到元素百分百均匀分布,而且当HashMap中有大量元素都存到同一个桶中时,这个桶会有...

小刀爱编程
27分钟前
0
0
程序员请不要假装很努力,因为结果不会陪你演戏

前言: 我一直相信这样一句话:真正的危机,来源于在正确的时间做不正确的事。没有在正确的时间,为下一步做出积累,这才是危机的根源。 比如,当你迈过了30岁这个坎,你的能力还局限于程序的...

Java干货分享
32分钟前
2
0
Fio随机读IOPS测试值可能偏大的原因分析

问题描述: 在使用fio进行虚拟机磁盘(Ceph的RBD,格式化为ext4文件系统)的IOPS测试时,发现randread比预估值高许多; 在使用相同参数进行randwrite测试之后,再进行randread时会出现此现象...

LastRitter
36分钟前
2
0
JavaScript引用类型Object常见用法实例分析

1、JavaScript数据类型 (1)基本类型 5种基本类型:Undefined、Null、Boolean、Number、String (2)引用类型 5种引用类型:Object、Array、Date、RepExp、Function (3)基本类型与引用类型的异同...

peakedness丶
43分钟前
1
0
教你理清SpringBoot与SpringMVC的关系

spring boot就是一个大框架里面包含了许许多多的东西,其中spring就是最核心的内容之一,当然就包含spring mvc。spring mvc 是只是spring 处理web层请求的一个模块。因此他们的关系大概就是这...

别打我会飞
47分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部