十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
Spark Streaming初步使用以及工作原理是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
创新互联建站于2013年创立,先为商河等服务建站,商河等地企业,进行企业商务咨询服务。为商河企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
1.什么是流?
Streaming:是一种数据传送技术,它把客户机收到的数据变成一个稳定连续的
流,源源不断地送出,使用户听到的声音或看到的图象十分平稳,而且用户在
整个文件送完之前就可以开始在屏幕上浏览文件。
2.常见的流式计算框架
Apache Storm
Spark Streaming
Apache Samza
上述三种实时计算系统都是开源的分布式系统,具有低延迟、可扩展和容错性
诸多优点,它们的共同特色在于:允许你在运行数据流代码时,将任务分配到
一系列具有容错能力的计算机上并行运行。此外,它们都提供了简单的API来
简化底层实现的复杂程度。
对于上面的三种流使计算框架的比较可以参考这篇文章流式大数据处理的三种框架:Storm,Spark和Samza
1.Spark Streaming介绍
Spark Streaming是Spark生态系统当中一个重要的框架,它建立在Spark Core之上,下面这幅图也可以看出Sparking Streaming在Spark生态系统中地位。
通常对于一个Spark Streaming的应用程序的编写分下面几步:
定义一个输入流源,比如获取socket端的数据,HDFS,kafka中数据等等
定义一系列的处理转换操作,比如上面的map,reduce操作等等,Spark Streaming也有类似于SparkCore的transformation操作
启动程序收集数据(start())
等待程序停止(遇到错误终止或者手动停止awaitTermination())
手动终止应用程序(stop())
可以使用saveAsTextFiles()方法将结果输出到HDFS文件系统上,读者可以自行试验将结果存入HDFS文件系统中。
最后,介绍一下Spark Streaming应用程序开发的几种常见方式:
Spark Shell Code:开发、测试(上面提到过,将代码一条条粘贴到命令行执行,这种方式只适用于测试)
Spark Shell Load Scripts:开发、测试(编写scala脚本到spark-shell中执行)
IDE Develop App:开发、测试、打包JAR(生产环境),spark-submit提交应用程序
看完上述内容,你们掌握Spark Streaming初步使用以及工作原理是什么的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!