Apache spark 单日志文件的Spark累积处理
对于使用Apache spark 单日志文件的Spark累积处理,apache-spark,spark-streaming,Apache Spark,Spark Streaming,对于使用spark streaming的日志处理,我使用了socketStream和textFileStreamapi。通过socketStream,在特定端口上使用nc-lk,我们可以读取附加的日志文件,通过textFileStream,可以读取目录中添加的任何新文件并进行累积处理 我要找的是一个单个日志文件,它会随着时间的推移而增长,我如何将同一个日志文件读入到say:DStream或任何Spark RDD句柄中,然后进行累积处理。我不打算使用nc-lk,因为它可能不是一种通用方法。Spar
spark streaming
的日志处理,我使用了socketStream
和textFileStream
api。通过socketStream,在特定端口上使用nc-lk
,我们可以读取附加的日志文件,通过textFileStream,可以读取目录中添加的任何新文件并进行累积处理
我要找的是一个单个日志文件,它会随着时间的推移而增长,我如何将同一个日志文件读入到say:DStream或任何
Spark RDD
句柄中,然后进行累积处理。我不打算使用nc-lk
,因为它可能不是一种通用方法。Spark中是否有任何方法或API,我们可以在其中侦听日志文件,并将其任何添加内容读取并处理为RDD
格式?我认为Spark中没有本地API来监控单个
日志文件并获得连续增量日志内容(1.6版本之前)但netcat模式(接收连续增量日志的tail和netnet管道)似乎在socket流和Kafka流中都很流行。
使用火花插座流连接到管道化netcat
tail -f xxx.log | nc -lk 9999
或者使用spark Kafka流连接到流水线kafkacat
kafkacat是ApacheKafka的通用非JVM生产者和消费者
0.8,将其视为卡夫卡的网络猫
注意:阅读stdin中的消息,使用快速压缩生成“syslog”主题。您可能想查看卡夫卡。使用
nc
是一种聪明的方法。。。但是,我想我在2.0中看到了一些地方,您实际上可以监视一个文件。但我对此并不乐观。需要更多的研究。:)
tail -f /var/log/syslog | kafkacat -b mybroker -t syslog -z snappy