【问题标题】:Data Format for future Big Data Analytics with Hadoop使用 Hadoop 进行未来大数据分析的数据格式
【发布时间】:2016-11-18 11:54:48
【问题描述】:

在阅读了一些或多或少适合使用 Hadoop 的各种数据格式之后,Apache Avro 似乎是一个不错的选择,因为它是一种可拆分的容器格式。

所以这样一个可以存储在 HDFS 中的 Avro 文件可能看起来像这样:

{
   Header
   Message1
   Message2
   Message3
   ....
}  

(这些消息代表来自物联网设备的一些原始数据)

Hadoop 将能够在不同节点上并行处理 Message1-3(至少这是我的想象)

现在我的问题是:我可以为这些消息使用任何格式,甚至是不可拆分的格式,例如Protobuf 还是将 Avro(可拆分)用于消息本身是否仍然有意义?这样做有什么好处吗? 你的经验是什么?

编辑:目前还没有关于可以从原始数据中获得什么见解的具体方案。该系统现在应该存储原始数据,分析可能会在一两年内出现。我只想有一个可以在未来发挥作用的解决方案。

【问题讨论】:

    标签: azure hadoop avro azure-hdinsight bigdata


    【解决方案1】:

    Avro 格式以 JSON 格式存储数据模式,因此,就键值对和数据的实际存储而言,它将它们存储为序列化的原始二进制格式。因此,就工作而言,如果您的应用程序需要具有可拆分和序列化存储要求的大型数据集,则 avro 就可以使用。如果您的应用程序的统计计算密集度更高,您可以选择 ORC2 或 parquet。请详细说明您的用例以根据您的要求回答。

    【讨论】:

    • 当您提到上面的“Avro 格式以 JSON 格式存储数据”时,您会感到有些困惑。因为它只是存储在 JSON 中的 Avro 模式和紧凑二进制表示的数据(因此在写入数据时没有每个值的开销)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-15
    • 1970-01-01
    • 2014-12-18
    • 2011-04-07
    • 1970-01-01
    • 2016-10-21
    • 1970-01-01
    相关资源
    最近更新 更多