搬十TB数据,像给三十年的档案换仓库:如果旧分类本就切得太碎,搬得再快,也只是把混乱原样复制过去。一位数据工程师在 Reddit 描述了这个难题:约10TB的 Parquet——一种便于分析的列式文件——按“id/日期”分成大量分区,计划改为“id/月”后再纳入 Apache Iceberg。Iceberg能把对象存储中的文件管理成可事务更新的表,但分区过细会带来更多小文件和元数据负担。
提问者试过 PyIceberg 和 DuckDB,感觉速度很慢;改成并行任务后,又遇到元数据提交互相冲突。这里的关键是:各任务不只在上传文件,还要更新 Iceberg 的文件清单和快照;并发更新若不兼容,就需要重试或协调。他设想先并行上传、最后一次性登记文件,也在考虑是否必须改用 Spark,但材料没有给出最终方案。这个案例值得看,正因为它提醒人们:大批历史数据入湖,先决定分区与文件布局,往往比选择哪条加载命令更重要。