假设我的hdfs块大小等于256mb,并且我需要在ocr/parquet文件上存储20gb的数据,是将所有数据存储在一个ocr/parquet文件上更好,还是将其存储在许多256mb的orc/parquet文件上更好(hdfs块大小)?提前谢谢。
mmvthczy1#
Map器和还原器负责处理您的核心数据处理需求。资源管理器负责根据您提供的输入和输入类型识别特定作业中涉及的数据,并尝试将其划分为多个任务并管理这些作业的执行。但是,您需要确保所提供的数据经过优化并平均分配,以便资源管理器可以将它们分配给Map器。注意:m/r优化比将数据分成相等的块要多得多。然而,这是正确的第一步。parquet和orc通常是从源(txt、csv、json等)加载数据的二级格式。源文件通常太大或太小(以kbs为单位)。我们有很多场景需要处理)。因此,我们使用mr/hive作业对其进行最少的处理(清理、日期转换等),并将其存储为parquet/orc文件。我们使用mapred文件大小参数来指定文件大小。它通常是hdfs块大小的倍数(在我们的例子中是64mb)。优点是将数据平均分配给多个Map器可减少Map并减少作业倾斜。您的hadoop平台资源利用率更高。在使用适当大小的块时,磁盘溢出、排序和i/o问题被最小化。其他注意事项orc/parquet是专门为快速读取、写入和搜索而编写的高度专业化的格式。将orc/parquet格式与压缩算法(如snappy、lzo等)结合使用时,大多数情况下读写性能都会有很大提高。
1条答案
按热度按时间mmvthczy1#
Map器和还原器负责处理您的核心数据处理需求。资源管理器负责根据您提供的输入和输入类型识别特定作业中涉及的数据,并尝试将其划分为多个任务并管理这些作业的执行。但是,您需要确保所提供的数据经过优化并平均分配,以便资源管理器可以将它们分配给Map器。
注意:m/r优化比将数据分成相等的块要多得多。然而,这是正确的第一步。
parquet和orc通常是从源(txt、csv、json等)加载数据的二级格式。源文件通常太大或太小(以kbs为单位)。我们有很多场景需要处理)。因此,我们使用mr/hive作业对其进行最少的处理(清理、日期转换等),并将其存储为parquet/orc文件。我们使用mapred文件大小参数来指定文件大小。它通常是hdfs块大小的倍数(在我们的例子中是64mb)。
优点是
将数据平均分配给多个Map器可减少Map并减少作业倾斜。
您的hadoop平台资源利用率更高。
在使用适当大小的块时,磁盘溢出、排序和i/o问题被最小化。
其他注意事项
orc/parquet是专门为快速读取、写入和搜索而编写的高度专业化的格式。
将orc/parquet格式与压缩算法(如snappy、lzo等)结合使用时,大多数情况下读写性能都会有很大提高。