使用Kafka将10 TB大小的大文件从hdfs发送到S3



我在HDFS中有一个10TB大小的平面文件。我需要将数据写入Kafka,然后保存到AmazonS3中。我正在为这项任务寻找不同的方法。根据之前提出的问题,我知道这可以由Nifi或Spark完成。然而,我不清楚该如何实施。

@icyanide这是您正在描述的一个非常基本的Nifi用例。它应该很好用。你也可以用spark来做,但我个人更喜欢NIFI,因为它很容易编程,不需要编写任何代码。

流程1:List/FetchHDFS->出版Kafka

流程2:ConsumeKafka->putS3

流程3:列表/获取HDFS->PublishKafka->PutS3

流程4:列表/获取HDFS->PutS3->PublishKafka->甚至更下游的内容处理等。

需要注意的是,10tb的大文件将成为获取、复制到s3和/或对内容进行处理的工作量。让你的nifi节点成为大规格,如果可以的话,集群多个节点,并且你希望有多个10tb的文件并行处理。如果你需要Kafka中的数据来处理单独的下游事件,比如带有s3url的元数据,我会选择HDFS->S3直接->出版卡夫卡(#4(。

最新更新