【慕课网实战】Spark Streaming实时流处理项目实战笔记八之铭文升级版

铭文一级:

Spark Streaming is an extension of the core Spark API that enables scalable,
high-throughput,
fault-tolerant
stream processing of live data streams.

Spark Streaming个人的定义:
将不同的数据源的数据经过Spark Streaming处理之后将结果输出到外部文件系统

特点
低延时
能从错误中高效的恢复:fault-tolerant
能够运行在成百上千的节点
能够将批处理、机器学习、图计算等子框架和Spark Streaming综合起来使用

Spark Streaming是否需要独立安装?

One stack to rule them all : 一栈式

GitHub
https://github.com/apache/spark

spark-submit的使用

使用spark-submit来提交我们的spark应用程序运行的脚本(生产)
./spark-submit --master local[2] \
--class org.apache.spark.examples.streaming.NetworkWordCount \
--name NetworkWordCount \
/home/hadoop/app/spark-2.2.0-bin-2.6.0-cdh5.7.0/examples/jars/spark-examples_2.11-2.2.0.jar hadoop000 9999

如何使用spark-shell来提交(测试)
./spark-shell --master local[2]

import org.apache.spark.streaming.{Seconds, StreamingContext}

val ssc = new StreamingContext(sc, Seconds(1))
val lines = ssc.socketTextStream("hadoop000", 9999)
val words = lines.flatMap(_.split(" "))
val wordCounts = words.map(x => (x, 1)).reduceByKey(_ + _)
wordCounts.print()
ssc.start()
ssc.awaitTermination()

工作原理:粗粒度
Spark Streaming接收到实时数据流,把数据按照指定的时间段切成一片片小的数据块,
然后把小的数据块传给Spark Engine处理。

铭文二级:

Spark Streaming功能特点:可扩展、高吞吐、容错性

与Spark生态的其他环境的整合:

1、file与RDD   2、与MLib   3、RDD->SQL

有些时候要了解一下发展史,面试可能会问

比如说DataSet、DataFrame是哪个版本提出来的

词频统计实例=>

从github上(https://github.com/apache/spark/blob/master/examples/)可以看源码:

注意两个参数:hostname、port

用spark-submit方式运行(主要用于生产)

进入Spark Streaming的bin目录下:

[运行rm *.cmd删除window上才能运行的脚本使更简洁咯]

步骤一=>

启动终端二运行:nc -lk 9999

步骤二=>

终端一运行指令为:./spark-submit --master local[2] \

--class org.apache.spark.examples.streaming.NetworkWordCount \

在examples/jars里面的jar包 hadoop000 9999

复制指令去bin目录下执行

步骤三=>

去终端二输入测试数据:

a a a c c d e

在终端一可以观察到统计结果

用spark-shell方式运行(主要用于测试)

1、执行 ./spark-shell --master local[2]

2、修改官网的代码

A.删去SparkConf申明语句,因为spark-shell运行时已自动创建

B.StreamingContext的第一个参数sparkConf改为sc

C.修改socketTextStream第一第二个参数为实际情况,删除第三参数

D.添加类的导入语句

import org.apache.spark.streaming.{Seconds, StreamingContext}

3、拷贝本段代码,粘贴去终端运行,方法同spark-submit

粗粒度:按时间段切成小段

细粒度:

原文地址:https://www.cnblogs.com/kkxwz/p/8367701.html

时间: 2024-10-07 06:55:24

【慕课网实战】Spark Streaming实时流处理项目实战笔记八之铭文升级版的相关文章

【慕课网实战】Spark Streaming实时流处理项目实战笔记十之铭文升级版

铭文一级: 第八章:Spark Streaming进阶与案例实战 updateStateByKey算子需求:统计到目前为止累积出现的单词的个数(需要保持住以前的状态) java.lang.IllegalArgumentException: requirement failed: The checkpoint directory has not been set. Please set it by StreamingContext.checkpoint(). 需求:将统计结果写入到MySQLcre

【慕课网实战】Spark Streaming实时流处理项目实战笔记七之铭文升级版

铭文一级: 第五章:实战环境搭建 Spark源码编译命令:./dev/make-distribution.sh \--name 2.6.0-cdh5.7.0 \--tgz \-Pyarn -Phadoop-2.6 \-Phive -Phive-thriftserver \-Dhadoop.version=2.6.0-cdh5.7.0 铭文二级: 第五章:实战环境搭建(所有都配置到环境变量) 1.Scala的安装:Download->previous releases  //课程使用2.11.8

【慕课网实战】Spark Streaming实时流处理项目实战笔记十五之铭文升级版

铭文一级:[木有笔记] 铭文二级: 第12章 Spark Streaming项目实战 行为日志分析: 1.访问量的统计 2.网站黏性 3.推荐 Python实时产生数据 访问URL->IP信息->referer和状态码->日志访问时间->写入到文件中 本地与虚拟机都要装了python才能运行 重要代码: #coding=UTF-8 #数组最后一个没有"," url_paths = [ "class/128.html", "class

【慕课网实战】Spark Streaming实时流处理项目实战笔记二十之铭文升级版

铭文一级: Spring Boot整合Echarts动态获取HBase的数据1) 动态的传递进去当天的时间 a) 在代码中写死 b) 让你查询昨天的.前天的咋办? 在页面中放一个时间插件(jQuery插件),默认只取当天的数据2) 自动刷新展示图 每隔多久发送一个请求去刷新当前的数据供展示 统计慕课网当天实战课程从搜索引擎过来的点击量 数据已经在HBase中有的 自己通过Echarts整合Spring Boot方式自己来实现 铭文二级: 在Spring Boot项目pom.xml下引入<repo

【慕课网实战】Spark Streaming实时流处理项目实战笔记十六之铭文升级版

铭文一级: linux crontab 网站:http://tool.lu/crontab 每一分钟执行一次的crontab表达式: */1 * * * * crontab -e */1 * * * * /home/hadoop/data/project/log_generator.sh 对接python日志产生器输出的日志到Flumestreaming_project.conf 选型:access.log ==> 控制台输出 exec memory logger exec-memory-log

【慕课网实战】Spark Streaming实时流处理项目实战笔记十八之铭文升级版

铭文一级: 功能二:功能一+从搜索引擎引流过来的 HBase表设计create 'imooc_course_search_clickcount','info'rowkey设计:也是根据我们的业务需求来的 20171111 +search+ 1 项目打包:mvn clean package -DskipTests 报错:[ERROR] /Users/rocky/source/work/sparktrain/src/main/scala/com/imooc/spark/project/dao/Cou

Spark Streaming实时流处理项目实战

第1章 课程介绍   1-1 -导学-   1-2 -授课习惯和学习建议   1-3 -OOTB环境使用演示   1-4 -Linux环境及软件版本介绍   1-5 -Spark版本升级第2章 初识实时流处理   2-1 -课程目录   2-2 -业务现状分析   2-3 -实时流处理产生背景   2-4 -实时流处理概述   2-5 -离线计算和实时计算对比   2-6 -实时流处理框架对比   2-7 -实时流处理架构及技术选型   2-8 -实时流处理在企业中的应用第3章 分布式日志收集框

【慕课网实战】Spark Streaming实时流处理项目实战笔记三之铭文升级版

铭文一级: Flume概述Flume is a distributed, reliable, and available service for efficiently collecting(收集), aggregating(聚合), and moving(移动) large amounts of log data webserver(源端) ===> flume ===> hdfs(目的地) 设计目标: 可靠性 扩展性 管理性 业界同类产品的对比 (***)Flume: Cloudera/A

【慕课网实战】Spark Streaming实时流处理项目实战笔记十九之铭文升级版

铭文一级:(没有内容) 铭文二级: 创建Spring boot项目: 看官网,Quick Start下面有两个依赖,必须得使用 但是如果用IDEA构建Spring boot,则会自动添加 New Project->Spring Initializr->Next 任意确定: com.imooc.spark web 选版本.点击左边的web->勾上web project name:imooc_web Reference里修改成本地的maven版本 删除多余的文件:mvn.mvnw.mvnw.