Presto插入默认多少一个小文件?
时间: 2024-04-21 12:30:28 浏览: 8
Presto默认情况下会将每个输出分区拆分成多个小文件,每个小文件的大小为64MB。这个默认值可以通过配置参数`hive.max-partitions-per-writer`来修改。如果你想要调整每个输出分区中小文件的数量,可以设置`hive.target-file-size`来控制每个小文件的大小,从而实现控制小文件数量的目的。
相关问题
Presto插入数据默认多少一个小文件?相关配置默认值多少?
Presto默认情况下会将每个输出分区拆分成多个小文件,每个小文件的大小为64MB。这个默认值可以通过配置参数`hive.max-partitions-per-writer`来修改。默认情况下,这个参数的值为100,也就是说默认情况下每个输出分区最多包含100个小文件。如果你想要调整每个输出分区中小文件的数量,可以设置`hive.target-file-size`来控制每个小文件的大小,从而实现控制小文件数量的目的。这个参数的默认值是134217728(即128MB)。
Presto insert into如何避免小文件过多?
在Presto中,可以通过以下几个方式避免小文件过多:
1. 调整`hive.max-partitions-per-writer`参数:默认情况下,这个参数的值为100,也就是说默认情况下每个输出分区最多包含100个小文件。如果你想要减少小文件数量,可以将这个参数调小。
2. 调整`hive.target-file-size`参数:这个参数控制每个小文件的大小,默认值是134217728(即128MB)。如果你想要减少小文件数量,可以将这个参数调小。
3. 使用`INSERT INTO ... SELECT`语句:在执行`INSERT INTO ... SELECT`语句时,Presto会将源数据按照分区规则进行划分,并将每个分区的数据合并后写入目标表中。这样可以避免生成过多的小文件。
4. 合并小文件:如果已经生成了过多的小文件,可以使用Hadoop提供的工具对小文件进行合并,将多个小文件合并成一个大文件。常用的工具包括`hadoop fs -getmerge`和`hadoop archive`等。