-
Notifications
You must be signed in to change notification settings - Fork 3
spark example
qifeng dai edited this page Nov 1, 2017
·
12 revisions
说明:使用 Spark 流任务, 从 Socket 端口读取消息并写到控制台
- 编译spark stream源码
在项目根目录下,执行,如下命令
mvn clean package -pl examples -am
在{udp_demo_home}/examples/target目录下,会有examples-{version}.jar文件,该jar内的com.baifendian.udp.example.spark.JavaCustomReceiver
为spark streaming类。
- UDP上传资源
在UDP系统的数据开发->资源管理
将examples-{version}.jar文件上传到UDP系统内。资源名称为: spark_demo
- 新建UDP spark流任务
在UDP系统的数据开发->流任务开发
页面,新建SPARK任务
固定参数:
参数说明:
- 流任务类型:选spark
- 主jar:选择
spark_demo.jar
- 运行主class: com.baifendian.udp.example.spark.JavaCustomReceiver
参数设置:
参数说明:
在参数设置:
添加两个参数,分布为nc程序执行主机名和端口。
- 配置HDFS权限
由于spark yarn模式需要HDFS权限,在UDP系统 数据管理->权限管理->策略管理
里添加HDFS策略。
将hdfs的/user/u_bloxy/
路径权限分配给u_bloxy用户
- 启动socket服务
使用linux自带程序nc,作为socket服务端。端口为19999,命令如下:
nc -lk 19999
- 启动UDP spark流任务
在UDP系统的数据开发->流任务开发
页面,在流任务操作里,启动流任务。
- 输入数据
在nc窗口输入数据,如下:
$ nc -lk 9999
This is a spark test.
This is a spark test2.
This is a spark test3.
- 输出数据
在 spark history 界面,可以看到 driver 上面的输出:
-------------------------------------------
Time: 1504248782000 ms
-------------------------------------------
This is a spark test.
This is a spark test2.
This is a spark test3.
本实例参考,官方例子