gpt4 book ai didi

batch-file - Apache Spark : batch processing of files

转载 作者:可可西里 更新时间:2023-11-01 14:49:39 26 4
gpt4 key购买 nike

我在 HDFS 上设置了目录和子目录,我想在将所有文件一次加载到内存中之前预处理所有文件。我基本上有大文件 (1MB),一旦处理将更像 1KB,然后执行 sc.wholeTextFiles 开始我的分析

我如何在我的目录/子目录中的每个文件 (*.xml) 上循环,执行一个操作(假设为了示例的缘故,保留第一行),然后转储结果回到 HDFS(新文件,比如 .xmlr)?

最佳答案

我建议您只使用 sc.wholeTextFiles 并使用转换对其进行预处理,然后将它们全部保存为单个压缩序列文件(您可以引用我的指南:http://0x0fff.com/spark-hdfs-integration/)

另一种选择可能是编写一个 mapreduce,一次处理整个文件并将它们保存到序列文件中,正如我之前建议的那样:https://github.com/tomwhite/hadoop-book/blob/master/ch07/src/main/java/SmallFilesToSequenceFileConverter.java .就是《Hadoop: The Definitive Guide》一书中描述的例子,看看吧

在这两种情况下,您将做几乎相同的事情,Spark 和 Hadoop 都会启动一个进程(Spark 任务或 Hadoop 映射器)来处理这些文件,因此通常这两种方法都将使用相同的逻辑工作。我建议您从 Spark 开始,因为考虑到您已经拥有一个带有 Spark 的集群,它实现起来更简单

关于batch-file - Apache Spark : batch processing of files,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27947384/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com