使用Spark SQL 构建流式处理程序
原创
©著作权归作者所有:来自51CTO博客作者wb5aaf1ddd20e7f的原创作品,请联系作者获取转载授权,否则将追究法律责任
StreamingPro目前已经涵盖流式/批处理,以及交互查询三个领域,实现配置和SQL化
前言
今天介绍利用 StreamingPro 构建流式(Spark Streaming)计算程序
准备工作
README中有下载地址
我们假设您将文件放在了/tmp目录下。
填写配置文件
gist
假设你下载后重新命名为test.json,并且放在了/tmp目录下。
ps: 这个例子里,我们模拟了一个流式数据源(一般而言是Kafka),然后将该数据源映射成一张表test。 另外我们知道,在一般流式计算中,我们经常需要一些映射数据,比如ip->地理位置 的映射关系。所以我们定义了一张testJoinTable表,然后该表可以直接可以被流式数据中使用(使用Join)。最后打印出结果。
启动StreamingPro
Local模式:
cd $SPARK_HOME
./bin/spark-submit --class streaming.core.StreamingApp \
--master local[2] \
--name test \
/tmp/streamingpro-0.4.1-SNAPSHOT-online-1.6.1.jar \
-streaming.name test \
-streaming.job.file.path file:///tmp/test.json
访问
可进入Spark UI
集群模式:
cd $SPARK_HOME
./bin/spark-submit --class streaming.core.StreamingApp \
--master yarn-cluster \
--name test \
/tmp/streamingpro-0.4.1-SNAPSHOT-online-1.6.1.jar \
-streaming.name test \
-streaming.job.file.path hdfs://cluster/tmp/test.json
这里需要注意的是,配置文件如果放到HDFS上,则需要带上hdfs前缀。这是一个标准的Spark 流式处理程序