5分钟学习spark streaming之 轻松在浏览器运行和修改Word Counts

方案一:根据官方实例,下载预编译好的版本,执行以下步骤:

  1. nc -lk 9999 作为实时数据源
  2. ./bin/run-example org.apache.spark.examples.sql.streaming.StructuredNetworkWordCount localhost 9999
  3. 在第一步的terminal 窗口输入一些句子
  4. 第二步的output 就是实时执行结果

 此方案的问题有

  • 探索其中的api 比较困难,比如我想试试另外一种写法,需要改源码,然后编译,时间就变长了
  • 如果是一个裸机的话,需要安装好java 环境,spark和java版本之间的依赖也要特别小心

 

方案二(2个docker 命令,你就可以为所欲为的在浏览器里面运行,更改Word counts这个hello word了)

          除去下载docker img的时间,5min没法完成以下步骤,请立即私信给我,有奖,哈哈

 

  1. docker run    -p 8080:8080 --rm fancyisbest/zeppeinsparkstreaming:0.1 (第一次会花很长时间在pull img)
  2.       docker exec   -it `docker ps -q`  nc -lkp 9999 (注意如果你有多个container在运行,请把`docker ps -q` 替换成上一个的container id)
  3.       打开浏览器输入http://localhost:8080/#/, 左下角有Word counts,点击进入notebook,点击运行所有段落。
  4.      在第二步termial输入些句子,你就可以在notebook里面观察到streaming 在执行。

 

此方案的优势

  • 除了docker,不需要安装任何依赖,这很dev ops
  • 可以狠狠地改代码,改完就可以立即执行,不用担心会破坏任何环境,探索你的世界,你做主。

提示:

  •     此方案的技术堆是:docker+zeppelin+spark
  •     docker img是我在zeppelin img上加入了必要的命令和notebook 打包成的img,请放心使用。
  •     如果你对docker,zeppelin不熟悉,不要担心,它们都很简单,只要稍微花点时间就可以掌握,请记住我们的目标是学习spark streaming

参考:

     zeppelin 官网http://zeppelin.apache.org/

     

 

posted @ 2018-03-21 16:05  大达大  阅读(327)  评论(0编辑  收藏  举报