方案一: 根据官方实例, 下载预编译好的版本, 执行以下步骤:
nc -lk 9999 作为实时数据源
./bin/run-example org.apache.spark.examples.sql.streaming.StructuredNetworkWordCount localhost 9999
在第一步的 terminal 窗口输入一些句子
第二步的 output 就是实时执行结果
此方案的问题有
探索其中的 api 比较困难, 比如我想试试另外一种写法, 需要改源码, 然后编译, 时间就变长了
如果是一个裸机的话, 需要安装好 java 环境, spark 和 java 版本之间的依赖也要特别小心
方案二 (2 个 docker 命令, 你就可以为所欲为的在浏览器里面运行, 更改 Word counts 这个 hello word 了)
除去下载 docker img 的时间, 5min 没法完成以下步骤, 请立即私信给我, 有奖, 哈哈
docker run -p 8080:8080 --rm fancyisbest/zeppeinsparkstreaming:0.1 (第一次会花很长时间在 pull img)
docker exec -it `docker ps -q` nc -lkp 9999 (注意如果你有多个 container 在运行, 请把 `docker ps -q` 替换成上一个的 container id)
打开浏览器输入 http://localhost:8080/#/, 左下角有 Word counts, 点击进入 notebook, 点击运行所有段落
在第二步 termial 输入些句子, 你就可以在 notebook 里面观察到 streaming 在执行
此方案的优势
除了 docker, 不需要安装任何依赖, 这很 dev ops
可以狠狠地改代码, 改完就可以立即执行, 不用担心会破坏任何环境, 探索你的世界, 你做主
提示:
此方案的技术堆是: docker+zeppelin+spark
docker img 是我在 zeppelin img 上加入了必要的命令和 notebook 打包成的 img, 请放心使用
如果你对 docker,zeppelin 不熟悉, 不要担心, 它们都很简单, 只要稍微花点时间就可以掌握, 请记住我们的目标是学习 spark streaming
参考:
zeppelin 官网 http://zeppelin.apache.org/
来源: https://www.cnblogs.com/dateInsigts/p/8617363.html