OCR/Parquet文件的存储策略

storage strategy of OCR / Parquet file

假设我的 HDFS 块大小等于 256Mb,我需要在 OCR/Parquet 个文件上存储 20Gb 的数据,将所有数据存储在一个 OCR/Parquet 文件,还是将其存储在许多 ORC/Parquet 个 256Mb(HDFS 块大小)文件中更好?

提前致谢。

Mappers 和 Reducers 负责处理您的核心数据处理需求。资源管理器负责根据您提供的输入和输入类型识别特定作业中涉及的数据,并尝试将其划分为多个任务并管理这些作业的执行。但是,您需要确保您提供的数据经过优化并平均分配,以便资源管理器可以将它们分配给 Mappers。

注意:M/R 优化不仅仅是将数据分成相等的块。然而,这是正确的第一步。

Parquet 和 ORC 通常是从源(TXT、CSV、JSON 等)加载数据的辅助格式。源文件通常太大或太小(以 KB 为单位。我们有很多场景需要处理这个问题)。因此,我们对其进行最低限度的处理(清理、日期转换等)并使用 MR/HIVE 作业将其存储为 Parquet / ORC 文件。我们使用 mapred 文件大小参数来指定文件大小。它通常是 HDFS 块大小的倍数(在我们的例子中是 64MB)。

优点是

  1. 将数据平均分配给多个映射器可减少映射并减少作业偏差。
  2. 你的hadoop平台资源利用率更均匀。
  3. 使用适当大小的块时,磁盘溢出、排序和 I/O 问题已最小化。

其他说明

  1. ORC/Parquet 是高度专业化的格式,专门为快速读取、写入和搜索而编写。
  2. 将ORC/Parquet格式化与Snappy、LZO等压缩算法相结合时,在大多数情况下读写性能会提高很多。