如何根据大小分割orc文件?

4ktjp1zp  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(658)

我有一个要求,我想把5gb的orc文件分成5个文件,每个1 gb大小。orc文件是可拆分的。这是不是意味着我们只能一条一条地分割文件?但我有一个要求,我想分裂兽人的大小为基础的文件。例如,将5gb orc文件拆分为5个文件,每个文件大小为1 gb。如果可能,请分享例子。

tjjdgumg

tjjdgumg1#

这是一种常见的方法,考虑到您的文件大小可以是5gb、100gb、1tb、100tb等。您可能希望挂载一个指向此文件的配置单元表,并定义一个指向不同目录的多个表,然后使用配置单元提供的insert语句从一个表到另一个表运行insert。
在脚本的开头,请确保具有以下配置单元标志:

set hive.merge.mapredfiles=true;
set hive.merge.mapfiles=true;
set hive.merge.smallfiles.avgsize=1073741824;
set hive.merge.size.per.task=1073741824;

这样,每个减速器的平均输出将 1073741824 Bytes 等于 1GB .
如果只想使用java代码,请使用以下标志:

mapred.max.split.size
mapred.min.split.size

请检查这些,它们非常有用:
拆分大小与块大小
最小拆分大小

相关问题