使用spark-streaming 和kafka集成进行wordcount,spark和kafka版本分别为:spark-1.6.0和kafka_2.10-0.8.2.2,开发时只需要spark-assembly-1.6.0-hadoop2.6.0.jar包和spark-streaming-kafka_2.10-1.6.0.jar包就够了,但是当将最终代码打成jar包提交spark集群运行时,会报各种各样的错误,经过反复试验,原来是缺少了以下jar包:
kafka_2.10-0.8.2.2.jar,metrics-core-2.2.0.jar,zkclient-0.3.jar;这几个jar包在kafka安装包的lib下都有。
最终将代码打成Runnable jar包,提交集群运行正常。
sparkstreaming wordcount 代码如下:
此处要牢记一定要import kafka.serializer.StringDecoder;否则编译通过,但运行会报错
package streaming; import java.util.Arrays; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Map; import