将 20GB CSV 文件导入 Hadoop 的最佳方法

Best way to import 20GB CSV file to Hadoop

我有一个巨大的 20GB CSV 文件要复制到 Hadoop/HDFS。当然,我需要管理任何错误情况(如果服务器或 transfer/load 应用程序崩溃)。

在这种情况下,我需要重新开始处理(在另一个节点或不在另一个节点)并继续传输而不从头开始 CSV 文件。

最好和最简单的方法是什么?

使用Flume?啪?本机 Java 应用程序?火花?

非常感谢。

如果文件未托管在 HDFS 中,flume 将无法并行化该文件(与 Spark 或其他基于 Hadoop 的框架存在相同问题)。您可以将 HDFS 挂载到 NFS 上然后使用文件复制吗?

使用 flume 读取的一个优点是读取文件并将每一行作为单独的记录发布,然后发布这些记录并让 flume 一次将一条记录写入 HDFS,如果出问题了,您可以从该记录开始,而不是从头开始。