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™ 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编译动态库文件,含include和so文件。编译环境:g++4.8.5, centos
在MapReduce任务中读取Avro文件,会使用到avro-mapred.jar。 然而目前的avro-mapred.jar是基于较老的版本的,使用时会报错: org.apache.hadoop.mapred.YarnChild: Error running child : ... 因此,重新编译了avro.
hadoop源码部署过程中hadoop-common中的类hadoop-common-project\hadoop-common\src\test\avro有报错,需要使用avro-tools-1.7.4进行编译。
avro-to-typescript将avro模式文件(.avsc)编译为TypeScript类和接口。 使用带有node.js的Avro原理图变得容易又舒适。 产品特点 编译大多数(如果不是全部)avro类型( record , enum , primitive , map , ...
卡夫卡-avro编解码器阿夫罗编码器/... 在我们的案例中,我们使用和将Avro模式编译为Java代码。 在这里, 是通过sbt-avro的stringType设置配置Avro的地方。 如果您没有使用sbt,而是说Maven,那么您需要在pom.xml的avro
到Python avro-to-python是将avro模式文件(.avsc)编译为python类的轻便工具,从而使使用avro模式的工作变得容易。 免费软件:MIT许可证文档: : 。安装点安装(推荐) 要安装avro-to-python,请在您的终端中运行...
因此,这是一个基于宏的库,并在编译时生成用于Avro的代码。 该库的功能是: 在编译时从类生成模式 将Scala类型转换为Avro类型的无样板序列化 Avro类型到Scala类型的免模板反序列化 注意:本文参考4.0发行版。 ...
{ " namespace " : " science.mengxin.java.avro.demo "}Maven生命周期跑步mvn package 或者mvn compile 该代码将生成到特定的文件夹Maven运行插件目标在开发过程中,编译或打包可能无法正常工作,我们可以使用此...
Spark 与 Avro 和 Parquet 随附一... 编译和打包: mvn package这将从 Avro 模式生成 Java 类并构建项目。 Avro 模式是一个简单的“用户”对象,定义在 src/main/resources/user.avsc 中。 要测试写入 Avro 文件: spa
您将学习如何声明协议,生成和编译代码以及运行有效的“ Hello World”类型示例。什么是Apache Avro? 来自:“ Avro是数据序列化系统” Avro提供: 丰富的数据结构。 一种紧凑,快速的二进制数据格式。 容器文件,...
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源代码中提供的测试程序,工程在VC10.0下编译并测试通过。
sbt-avrohugger sbt插件,用于从Apache Avro模式,数据文件和协议生成Scala案例类和ADT。 安装插件(与sbt 1.3+兼容) 将以myproject/project/plugins.sbt添加到项目目录中的文件... 将Avro文件编译为Scala案例类
模式到案例的代码生成,可在Scala中使用Avro。 avrohugger-core :在运行时生成源代码以供以后评估。 avrohugger-filesorter :对架构文件进行排序,以确保正确的编译顺序。 avrohugger-tools :在命令行使用...
文章目录简介特点Avro数据类型和模式Avro基本类型Avro复杂类型Avro数据序列化/反序列化方法1 使用编译的方式序列化反序列化方法2 不使用编译的方式序列化反序列化 简介 Avro是Hadoop中的一个子项目,也是Apache...
cppAvroPhonetic Avro Phonetic的C ++实现 概述 ... 因此,您将需要兼容C ++ 11的编译器进行编译。 这些编译器支持C ++ 11: 海湾合作委员会 铛 Microsoft Visual C ++ 不要忘记设置必要的开关以
目标提供生成器以从生成工件: 与 COBOL 字帖匹配的 将大型机记录转换为 Avro 通用记录的转换逻辑从 Avro 模式编译的 Avro 特定记录纯 Java 或 Hadoop 的读取器,用于读取大型机文件并为每个大型机记录提供 Avro ...
你好阿夫罗 一个示例应用程序,展示了如何使用出色的Apache Avro序列化程序...运行code-gen.bat它们编译为C#类文件(代码生成工具使用Java,因此仅在此阶段,您需要JRE或JDK) 主要逻辑在SerializerAvro.cs 享受!
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