在while循环中使用Spark来处理日志文件

时间:2017-04-18 09:20:05

标签: apache-spark pyspark

我有一台服务器每1秒生成一些日志文件,我想使用Apache Spark处理这个文件。

我使用python编写了一个spark应用程序,在while循环中我处理了一组日志文件。

我在每次迭代中停止sparkContext并启动它以进行下一步。

我的问题是,这种无限运行的应用程序的最佳方法是什么,处理批处理或生成的文件组。我应该使用无限循环,还是应该在cron作业中运行我的代码,或者甚至调度气流等框架?

1 个答案:

答案 0 :(得分:2)

解决此问题的最佳方法是使用" Spark Streaming"。 Spark流媒体使您能够处理实时数据流.Spark流媒体目前适用于Kafka,Flume,HDFS,S3,Amazon Kinesis和Twitter。因此,您应该首先将这些日志插入Kafka然后编写一个Spark流程序来处理实时流logs.This是一个更干净的解决方案,而不是使用无限循环,多次启动和停止SparkContext。