csv 文件与 flume 与 spark 的集成

integration of csv file with flume vs spark

我有一个项目,就是把合作伙伴的服务器上的一个CSV文件集成到我们的Hadoop集群中。

为了做到这一点,我发现 Flume 并且 Spark 可以做到。

我知道当你需要执行数据转换时,Spark 是首选。

我的问题是 Flume 和 Spark 在集成逻辑上有什么区别?
它们在导入 CSV 文件时有性能差异吗?

Flume 是一个不断 运行ning 的进程,它监视路径或对文件执行函数。它更类似于 Logstash 或 Fluentd,因为它是配置文件驱动的,而不是编程以及部署和调整。

您最好在阅读这些 CSV 文件时对其进行解析,然后转换为更自描述的格式,例如 Avro,然后将其放入 HDFS。请参见 Morphlines Flume 处理器

另一方面,Spark 必须手动从头到尾编写所有代码。虽然 Spark Streaming 可以做同样的事情,但您通常不会 运行 以与 Flume 相同的方式,而是 运行 在 YARN 或其他集群调度程序中,您无法控制哪个服务器 运行 正在运行,因为归根结底,您应该只关心是否存在资源限制。

其他替代方案仍然存在,例如 Apache Nifi 或 Streamsets,它们允许更多可视化管道构建而不是编写代码