Hadoop 应用程序中的 Avro 用例

Posted

技术标签:

【中文标题】Hadoop 应用程序中的 Avro 用例【英文标题】:Use case of Avro in Hadoop applications 【发布时间】:2015-09-22 17:46:24 【问题描述】:

我是 hadoop 和 mapreduce 框架的新手。我正在经历一些序列化格式。其中之一是 Avro。这似乎是非常有效和紧凑的格式。

现在假设我在 HDFS 中有一些文本数据,通常我编写 mapreduce 作业来读取该数据并生成输出(或者我可以运行 hive 查询)。

我想知道我什么时候会在我的自定义应用程序中使用它 (mapreduce 工作或配置单元)?从这点开始(数据摄取/处理)在现实世界的应用程序中,avro 将进入画面。

【问题讨论】:

【参考方案1】:

Avro 是由 Doug Cutting 创建的。这是一种以二进制格式存储数据的有效方法。这类似于 hadoop 中的 sequenceFile。它支持压缩块。每个文件都包含一个 json 模式。此模式可以发展并向后兼容。 Hive、impala 和其他产品都喜欢这种格式。这与性能的提高一起使它很受欢迎。 Parquet 文件也越来越流行。

【讨论】:

感谢invoketheshell。这是您正确解释的对 AVRO 的一般理解。但是,我期待对 avro 通常用于生产应用程序的方式进行一些解释

以上是关于Hadoop 应用程序中的 Avro 用例的主要内容,如果未能解决你的问题,请参考以下文章

Hadoop Avro 文件大小问题

Apache Avro 简介

Apache Avro 简介

Hadoop之AVRO

Avro hadoop 随机访问文件

在 avro 中存储模式有啥好处?