hive thriftserver,

  hive thriftserver,

  节约在储备中的应用ORATEA

  节约在储备中的应用大数据

  添加评论

  六272011

  节约是一种可伸缩的跨语言服务的发展软件框架。

  它结合了功能强大的软件堆栈的代码生成引擎,以建设服务,工作效率和无缝地与C,C#,Java,Python和服务器端编程语言(专业超文本预处理器的缩写)和红宝石结合。

  节约是脸谱网开发的,我们现在把它作为开源软件使用节俭。允许你定义一个简单的定义文件中的数据类型和服务接口。

  以作为输入文件,编译器生成代码用来方便地生成位置遥控(远程位置控制)客户端和服务器通信的无缝跨编程语言。

  对于节约的详细介绍见:http://thrift.apache.org/

  节约在储备中有好几处应用,目的都是为了实现跨语言的服务。

  最近详细的看了在元数据模块中的节约应用。

  元数据中节约定义文件为\配置单元-0。6 .0 \ src \ metastore \ if \ hive _ metastore。节俭,

  该文件详细定义了储备元数据的各个结构,以及相应的方法。

  还是拿资料库来举例,对于资料库的结构定义如:

  结构数据库{

  1:字符串名称,

  2:字符串描述,

  3:字符串locationUri,

  }

  对资料库的方法定义在服务ThriftHiveMetastore扩展fb303 .FacebookService服务服务中,主要有以下几个:

  void create _ Database(1:Database数据库)抛出(1:AlreadyExistsException o1,2:InvalidObjectException o2,3:MetaException o3)

  数据库get_database(1:字符串名称)抛出(1:NoSuchObjectException o1,2:MetaException o2)

  void drop_database(1:字符串名称,2:bool deleteData)抛出(1:NoSuchObjectException o1,2:InvalidOperationException o2,3:MetaException o3)

  列表字符串获取_数据库(1:字符串模式)抛出(1:元异常o1)

  列表字符串获取所有数据库()抛出(1:元异常o1)

  定义好了元数据的节约文件后,就可以通过节约产生相应的脚本文件,

  在build.xml中对于该编译命令为:

  target name="thriftif "

  echo执行节约(需要在您的路径中)来构建java metastore APIs回声

  exec executable=" thrift " failonerror=" true " dir=","

  arg line="gen Java:beansgen CPPgen PHPgen py-I $ { basedir }/./service/include/-o $ { src。dir } if/hive _ metastore。节俭"/

  /exec

  /目标

  当然我们也可以手工进行:

  thriftgen Java:beansgen CPPgen PHPgen py-I $ { basedir }/./service/include/-o $ { src。dir } if/hive _ metastore。节约

  执行后就会产生

  5月27日08:25 gen-cpp

  drwxrwxr-x 3 hjl hjl 4096年5月27日08:27 gen-javabean

  5月27日08:25 gen-php

  5月27日08:25第一代

  下面几个脚本,对应着c,java,php和python。

  hive-0.6.0中使用的节约版本为r790732,如果使用相同的节约版本会产生和官方储备版本相同的文件,

  而采用不同版本的thrfit的话,那么产生的各种文件会有些差距。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: