本地local和kafka监听本地文件,进行sparkstreaming实时输出

所用软件版本:

  spark2.3.0

  kafka 1.10

  IDEA2019.1(spark-streaming-kafka-0-8-2.11-2.3.0)

先是用spark sql来监听特定目录下的某一个source文件的变化,进行实时分析,用IDEA进行本地lcoal模式进行实时处理,但问题是文件在本地,没在HDFS上面,将程序运行在spark集群上,出现找不到文件的错误,因此有如下两种解决方法:

一:将source文件上传到HDFS上面

二:spark集群中每一个节点的相同位置都要有该source文件

两种方法都不能满足要求,文件容量大,占硬盘空间,传输速度慢的缺点

综合上述,采用kafka监听本地source文件,kafka和spark集群进行连接,这样就能解决上面所说的问题。

步骤:

先打开zookeeper,kafka

接着进入kafka目录下,使用如下命令开启connect

bin/connect-standalone.sh config/connect-standalone.properties config/connect-file-source.properties
监听的文件位置在  config/connect-file-source.propertie 中配置

打开该文件,内容如下

name=local-file-source
connector.class=FileStreamSource
tasks.max=1
file=/Users/huangxiao/test_streaming/xbk_log.txt#监听的文件位置
topic=kafka_for_example#topic名称(需要与spark中的一致
--------------------- 
作者:DaHuangXiao 
来源:CSDN 
原文:https://blog.csdn.net/m0_37637511/article/details/80330358 
版权声明:本文为博主原创文章,转载请附上博文链接!

 

做好记录,供以后参考!!

你可能感兴趣的:(spark)