Skip to content

spark example

qifeng dai edited this page Nov 1, 2017 · 12 revisions

说明:使用 Spark 流任务, 从 Socket 端口读取消息并写到控制台

具体步骤

  1. 编译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类。

  1. UDP上传资源

在UDP系统的数据开发->资源管理将examples-{version}.jar文件上传到UDP系统内。资源名称为: spark_demo

  1. 新建UDP spark流任务

在UDP系统的数据开发->流任务开发页面,新建SPARK任务

固定参数: 参数说明:

  1. 流任务类型:选spark
  2. 主jar:选择spark_demo.jar
  3. 运行主class: com.baifendian.udp.example.spark.JavaCustomReceiver

参数设置: 参数说明:

参数设置:添加两个参数,分布为nc程序执行主机名和端口。

pic

  1. 配置HDFS权限

由于spark yarn模式需要HDFS权限,在UDP系统 数据管理->权限管理->策略管理 里添加HDFS策略。

将hdfs的/user/u_bloxy/ 路径权限分配给u_bloxy用户

  1. 启动socket服务

使用linux自带程序nc,作为socket服务端。端口为19999,命令如下:

nc -lk 19999
  1. 启动UDP spark流任务

在UDP系统的数据开发->流任务开发页面,在流任务操作里,启动流任务。

  1. 输入数据

在nc窗口输入数据,如下:

$ nc -lk 9999
This is a spark test.
This is a spark test2.
This is a spark test3.
  1. 输出数据

在 spark history 界面,可以看到 driver 上面的输出:

-------------------------------------------
Time: 1504248782000 ms
-------------------------------------------
This is a spark test.
This is a spark test2.
This is a spark test3.

pic

本实例参考,官方例子

Clone this wiki locally