`
coderplay
  • 浏览: 571832 次
  • 性别: 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后再编译

 

 

分享到:
评论

相关推荐

    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 linux C++动态库

    avro序列化 linux编译动态库文件,含include和so文件。编译环境:g++4.8.5, centos

    avro-mapred-1.7.8-SNAPSHOT-hadoop2

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

    avro-tools-1.7.4

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

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

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

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

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

    avro-to-python:用于将Avro模式文件(.avsc)编译为python类的轻型工具

    到Python avro-to-python是将avro模式文件(.avsc)编译为python类的轻便工具,从而使使用avro模式的工作变得容易。 免费软件:MIT许可证文档: : 。安装点安装(推荐) 要安装avro-to-python,请在您的终端中运行...

    avro4s:Scala的Avro模式生成和序列化反序列化

    因此,这是一个基于宏的库,并在编译时生成用于Avro的代码。 该库的功能是: 在编译时从类生成模式 将Scala类型转换为Avro类型的无样板序列化 Avro类型到Scala类型的免模板反序列化 注意:本文参考4.0发行版。 ...

    avro-maven-demo:简单的Avro演示已通过全面测试

    { " namespace " : " science.mengxin.java.avro.demo "}Maven生命周期跑步mvn package 或者mvn compile 该代码将生成到特定的文件夹Maven运行插件目标在开发过程中,编译或打包可能无法正常工作,我们可以使用此...

    simplesparkavroapp:读取和写入 Avro 数据的简单 Spark 应用程序

    Spark 与 Avro 和 Parquet 随附一... 编译和打包: mvn package这将从 Avro 模式生成 Java 类并构建项目。 Avro 模式是一个简单的“用户”对象,定义在 src/main/resources/user.avsc 中。 要测试写入 Avro 文件: spa

    avro-rpc-quickstart:Apache Avro RPC快速入门

    您将学习如何声明协议,生成和编译代码以及运行有效的“ Hello World”类型示例。什么是Apache Avro? 来自:“ Avro是数据序列化系统” Avro提供: 丰富的数据结构。 一种紧凑,快速的二进制数据格式。 容器文件,...

    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-...

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

    该资源是Avro C API接口库接口调用示例,示例程序是Avro源代码中提供的测试程序,工程在VC10.0下编译并测试通过。

    sbt-avrohugger:sbt插件,用于为Apache Avro模式和协议生成Scala源

    sbt-avrohugger sbt插件,用于从Apache Avro模式,数据文件和协议生成Scala案例类和ADT。 安装插件(与sbt 1.3+兼容) 将以myproject/project/plugins.sbt添加到项目目录中的文件... 将Avro文件编译为Scala案例类

    avrohugger:从Avro模式生成Scala案例类定义

    模式到案例的代码生成,可在Scala中使用Avro。 avrohugger-core :在运行时生成源代码以供以后评估。 avrohugger-filesorter :对架构文件进行排序,以确保正确的编译顺序。 avrohugger-tools :在命令行使用...

    Hadoop首选串行化系统——Avro简介及详细使用

    文章目录简介特点Avro数据类型和模式Avro基本类型Avro复杂类型Avro数据序列化/反序列化方法1 使用编译的方式序列化反序列化方法2 不使用编译的方式序列化反序列化 简介  Avro是Hadoop中的一个子项目,也是Apache...

    cppAvroPhonetic:Avro Phonetic的C ++实现

    cppAvroPhonetic Avro Phonetic的C ++实现 概述 ... 因此,您将需要兼容C ++ 11的编译器进行编译。 这些编译器支持C ++ 11: 海湾合作委员会 铛 Microsoft Visual C ++ 不要忘记设置必要的开关以

    legstar.avro:一个 COBOL 到 Apache Avro 的翻译器

    目标提供生成器以从生成工件: 与 COBOL 字帖匹配的 将大型机记录转换为 Avro 通用记录的转换逻辑从 Avro 模式编译的 Avro 特定记录纯 Java 或 Hadoop 的读取器,用于读取大型机文件并为每个大型机记录提供 Avro ...

    HelloAvro:一个示例应用程序,展示了如何使用很棒的Apache Avro序列化程序

    你好阿夫罗 一个示例应用程序,展示了如何使用出色的Apache Avro序列化程序...运行code-gen.bat它们编译为C#类文件(代码生成工具使用Java,因此仅在此阶段,您需要JRE或JDK) 主要逻辑在SerializerAvro.cs 享受!

    hudi编译所需jar包.zip

    kafka-schema-registry-client-6.1.1.jar pentaho-aggdesigner-algorithm-5.1.5-jhyde.jar common-config-6.1.1.jar common-utils-6.1.1.jar kafka-avro-serializer-6.1.1.jar

Global site tag (gtag.js) - Google Analytics