我已经意识到我有大量的数据分区在太小的文件上的hdfs。原因是我使用了太多的分区键来保存数据。因此,我需要在hdfs中合并分区键下的数据。
幸运的是,我要删除的分区键正好是最后一个(我不知道这是否使它更容易)。我无法找到一个不使用脚本的解决方案,这样做会花费太多时间。
以下是我的HDF示例:
/part1={lot_of_values}/part2={lot_of_values}/part_to_delete={lot_of_values}/{lot_of_files}.parquet
但我想实现:
/part1={lot_of_values}/part2={lot_of_values}/{lot_of_files}.parquet
因此,我可以有更大的文件加载快。
1条答案
按热度按时间yws3nbqq1#
幸运的是,我要删除的分区键正好是最后一个(我不知道这是否使它更容易)。我无法找到一个不使用脚本的解决方案,这样做会花费太多时间。
是的,这样做非常简单,您只需将文件从叶目录移动到其父目录(并删除现在为空的目录)。这不是bigdata作业,只是文件系统操作。除非我们讨论的是成千上万的分区,否则这不会花费太长时间。如果涉及到一些配置单元目录,您还必须更新它。
是的,您将不得不运行一些hadoop作业来合并Parquet文件。所需时间完全取决于您的数据和资源。这些工作本身非常简单和直接。