1、Tunnel->MaxCompute
使用Tunnel上传数据时避免频繁commit,尽量保证每次提交的DataSize大于64M,
2、Datahub->MaxCompute
如果用Datahub产生小文件,建议合理申请shard,可以根据topic的Throughput合理做shard合并,减少shard数量。可以根据topic的Throughput观察数据流量变化,适当调大数据写入的间隔时间。
申请Datahub shard数目的策略(申请过多的datahub shard将会产生小文件问题)
1)默认吞吐量单个shard是1MB/s,可以按照这个分配实际的shard数目(可以在此基础上多加几个);
2)同步MaxCompute的逻辑是每个shard有一个单独的task(满足5分钟或者64MB会commit一次),默认设置5分钟是为了尽快能在MaxCompute查到数据。如果是按照小时建partition,那个一个shard每个小时有12个文件。如果这个时候数据量很少,但是shard很多,在MaxCompute里面就会很多小文件(shard*12/hour)。所以不要过多的分配shard,按需分配。
参考建议:如果流量是5M/s,那么就申请5个shard,为预防流量峰值预留20%的Buffer,可以申请6个shard。
3、DataX->MaxCompute
因为datax也是封装了tunnel的SDK来写入MaxCompute的,因此,建议您在配置ODPSWriter的时候,把blockSizeInMB这个参数不要设置太小,最好是64M以上。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。