`
coderplay
  • 浏览: 576932 次
  • 性别: Icon_minigender_1
  • 来自: 广州杭州
社区版块
存档分类
最新评论

avro编译

阅读更多

avro是doug cutting主持的rpc项目,有点类似google的protobuf和facebook的thrift. avro用来做以后hadoop的rpc, 使hadoop的rpc模块通信速度更快,数据结构更紧凑。还有一个很令人兴奋的一点,就是支持多种语言,例如: c/c++,java,python。 这就意味着我们用c写hdfs文件,可以不用烦人的jni; 提交一个job也可以直接是python程序。

这儿有此类rpc开源项目之间的性能比较 :


avro与thrift, protobuf这种更高效的rpc方案来说,它有一个特点:就是dynamic。它可以获取数据的模式(schema), 然后再解析数据。同时,也意味着对于解析大量相同模式的数据来说,这可以节省不少传输量。

废话不多说了,首先是下载

svn co http://svn.apache.org/repos/asf/hadoop/avro/trunk avro
 


它需要Apache Portable Runtime的支持

# 安装apr
wget  http://apache.freelamp.com/apr/apr-1.3.5.tar.gz
tar zxvf apr-1.3.5.tar.gz
cd apr-1.3.5
./configure
make && make install

# 安装apr-util
wget  http://apache.freelamp.com/apr/apr-util-1.3.7.tar.gz
tar zxvf apr-util-1.3.7.tar.gz
cd apr-util-1.3.7
./configure
make && make install
 

接着编译avro

ant package -Djava5.home=your_jdk1.5_home -Dforrest.home=your_forrest_home
 

完毕.

 

 

btw:

1. 如果没装jdk1.5和forrest,那请装上,因为编译avro文档需要它。

2.如果指示找不到apr-1-config,请使用

export APR_CONFIG=/usr/local/apr
export APR_UTIL_CONFIG=$APR_CONFIG
 

 

3. 如果没有找到apr_pools.h等头文件, 使用

export CFLAGS="-I/usr/local/apr/include/apr-1"
 

  指定后, ant clean后再编译

 

 

分享到:
评论

相关推荐

    Python库 | pantsbuild.pants.contrib.avro-1.5.0.tar.gz

    通过集成Avro支持,Pants可以帮助开发者更轻松地处理Avro编译、生成Python绑定以及在项目中使用Avro数据。 该库的主要功能包括: 1. **Avro编译器插件**:它包含一个Pants插件,可以将Avro的schema文件编译成...

    avro-tool工具jar包

    Avro工具jar包是Avro的一部分,主要用于处理Avro格式的数据,包括编译Avro模式,转换数据,以及合并或拆分Avro文件等。在这个版本1.8.2中,它已经被验证为功能正常且可直接从Maven官方库免费获取。 首先,让我们...

    Apache Avro

    Apache Avro™ is a data serialization system. To learn more about Avro, please read the current documentation. To download Avro, please visit the releases page. Developers interested in getting more ...

    Avro C API接口库接口调用示例

    - 使用`cl`命令行编译器或VS IDE进行编译,确保链接了Avro C的库文件(如libavro.lib)。 - 测试通常包括编译后的程序运行,以及检查输入/输出文件的正确性,确保数据的序列化和反序列化符合预期。 5. **注意事项...

    avro-tools-1.8.2.jar

    而`avro-tools compile`命令则可以将Avro schema编译成Java类,便于Java应用程序直接操作。 Java开发者在使用Avro时,往往需要借助avro-tools-1.8.2.jar中的工具进行预处理。例如,当创建一个新的Avro数据文件时,...

    Java读写avro所需jar

    - **Compile Protocol工具**:将Avro的RPC协议文件编译为特定语言(如Java)的客户端和服务端代码。 - **Avro命令行界面**:提供了一些基本的Avro文件操作命令,如`cat`、`mkdatafile`等。 在实际开发中,这两个...

    avro-rpc程序示例

    1. **构建环境**: 确保已经安装了Java开发工具(JDK)和Maven,这两个是编译和运行Avro项目的必备工具。 2. **解压项目**: 将"avro-rpc-quickstart-master"解压到本地文件系统,这将包含项目的源代码和配置文件。 3....

    avro-tools-1.3.0.jar.zip

    5. **反编译工具**:Avro-tools可以将Avro的编译后代码反编译回原始的schema,这对于理解和修改已有的Avro数据结构有极大的帮助。 二、Avro在数据处理中的优势: 1. **跨语言兼容**:Avro的schema定义使得不同编程...

    avro_sample.rar

    标题中的"avro_sample.rar"表明这是一个关于Avro的示例项目,Avro是一种数据序列化系统,由Apache Hadoop项目开发。它被设计用来高效地处理和交换各种语言之间的数据。Avro提供了丰富的数据模式定义,允许在不同的...

    avro linux C++动态库

    "bin"目录下可能包含的是预编译的可执行文件或工具,这些工具可能用于与Avro库相关的操作,例如序列化/反序列化数据,或者进行数据验证等。 "include"目录下的头文件(.h)是Avro C++库的关键部分,它们定义了API...

    avro-mapred-1.7.8-SNAPSHOT-hadoop2

    在MapReduce任务中读取Avro文件,会使用到avro-mapred.jar。 然而目前的avro-mapred.jar是基于较老的版本的,使用时会报错: org.apache.hadoop.mapred.YarnChild: Error running child : ... 因此,重新编译了avro.

    Apache Avro RPC简单示例

    4. **编译与运行**:使用Avro的工具,我们可以将`.avsc`文件编译成Java或其它语言的类。然后,编译源代码并运行服务端和客户端,进行RPC通信。 在实际操作中,首先,我们需要安装Avro的命令行工具,然后执行以下...

    avro_tutorial

    此外,由于Avro使用Schema,它可以在编译时进行验证,从而提高安全性。 ### 跨语言兼容性 Avro的Schema驱动设计意味着任何支持Avro的编程语言都可以读取和写入Avro数据,无需额外的反序列化逻辑。这对于构建多语言...

    apache avro 简介

    Avro提供了多种命令行工具,如`avro-tools.jar`,可以用于转换数据格式、验证schema、编译Java代码等。例如,`avro-tools tojson`命令可以将Avro文件转换为JSON,方便查看和调试。 ### Avro与源码 对于开发者来说,...

    avro-tools-1.7.4

    hadoop源码部署过程中hadoop-common中的类hadoop-common-project\hadoop-common\src\test\avro有报错,需要使用avro-tools-1.7.4进行编译。

    avro-doc-1.7.7

    - **编译时绑定**:使用Avro的Java API,可以在编译时根据Schema生成对应的Java类。这种方式速度快,但需要重新编译代码以适应Schema变化。 - **运行时绑定**:无需预先生成类文件,可以在运行时动态解析Schema...

    avro-to-typescript:将Apache Avro模式文件编译为TypeScript类

    avro-to-typescript将avro模式文件(.avsc)编译为TypeScript类和接口。 使用带有node.js的Avro原理图变得容易又舒适。 产品特点 编译大多数(如果不是全部)avro类型( record , enum , primitive , map , ...

    hudi编译失败,不能通过maven自动下载的jar包

    hudi编译失败,不能通过maven自动下载的jar包,包括: pentaho-aggdesigner-algorithm-5.1.5-jhyde.jar, kafka-schema-registry-client-5.3.4.jar,kafka-avro-serializer-5.3.4.jar,common-utils-5.3.4.jar,common-...

    Hadoop 源码编译所需软件

    3. **依赖管理**:下载并安装所有必要的依赖,这包括Hadoop自身依赖的其他开源项目,如Zookeeper、Avro、Protobuf等,以及在这个例子中提到的Snappy和FindBugs。 4. **配置编译**:根据需求配置编译选项,例如设置...

    kafka-avro-codec:在Apache Kafka 0.8中用作Serializer.class的Avro编码器解码器

    卡夫卡-avro编解码器阿夫罗编码器/... 在我们的案例中,我们使用和将Avro模式编译为Java代码。 在这里, 是通过sbt-avro的stringType设置配置Avro的地方。 如果您没有使用sbt,而是说Maven,那么您需要在pom.xml的avro

Global site tag (gtag.js) - Google Analytics