linux同步时间:ntpdate -u -ntp1.aliyun.com
安装插件:yum -y install net-tools,yum -y install nc
开发Streaming:
1.导入包
2.开发Streaming代码(1)local的数量必须设置大于1,
使用spark streaming代码:
def main(args: Array[String]): Unit = {
val conf = new SparkConf().setMaster("local[2]").setAppName("streamFirst")
val sc = new SparkContext(conf)
sc.setLogLevel("WARN")//设置日志等级
val streamingContext = new StreamingContext(sc,Seconds(5))
//设置消息接收和端口
val lines = streamingContext.socketTextStream("192.168.200.10",9999)
lines.flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).print()
streamingContext.start()
streamingContext.awaitTermination()
sc.stop()
}
遇到的问题:
lines.flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).print()
如果这里用lines.map的话会出现:
SparkException: Cannot use map-side combining with array keys.错误。