Chapter8-厦门大学-林子雨-大数据技术原理与应用-第八章-流计算
Chapter1-林子雨-大数据技术原理与应用-大数据概述(2016年2月17日版本)

典型的大数据应用实例
Kevin Spacey
大数据分析 David Fincher 风靡全球的美剧《纸牌屋》 英国同名小说《纸牌屋》
《大数据技术原理与应用》 厦门大学计算机科学系 林子雨 ziyulin@
典型的大数据应用实例
从谷歌流感趋势看大数据的 应用价值
“谷歌流感趋势”,通过跟踪 搜索词相关数据来判断全美地区 的流感情况
《大数据技术原理与应用》
厦门大学计算机科学系
林子雨
ziyulin@
1.4大数据的应用
• 大数据无处不在,包括金融、汽车、零售、餐饮、电信、能源、政务、 医疗、体育、娱乐等在内的社会各行各业都已经融入了大数据的印迹
《大数据技术原理与应用》
厦门大学计算机科学系
林子雨
ziyulin@
《大数据技术原理与应用》
厦门大学计算机科学系
林子雨
ziyulin@
1.2.3处理速度快
从数据的生成到消耗,时间窗口非常小,可用于生成决策的时间非常少 1秒定律:这一点也是和传统的数据挖掘技术有着本质的不同
《大数据技术原理与应用》
厦门大学计算机科学系
林子雨
ziyulin@
流计算
图计算 查询分析计算
《大数据技术原理与应用》
厦门大学计算机科学系
林子雨
ziyulin@
1.7大数据产业
• 大数据产业是指一切与支撑大数据组织管理和价值发现相关的企业经 济活动的集合
产业链环节 IT基础设施层 包含内容 包括提供硬件、软件、网络等基础设施以及提供咨询、规划和系统集成服务的企业,比如,提供数 据中心解决方案的IBM、惠普和戴尔等,提供存储解决方案的EMC,提供虚拟化管理软件的微软、 思杰、SUN、Redhat等 大数据生态圈里的数据提供者,是生物大数据(生物信息学领域的各类研究机构)、交通大数据( 交通主管部门)、医疗大数据(各大医院、体检机构)、政务大数据(政府部门)、电商大数据( 淘宝、天猫、苏宁云商、京东等电商)、社交网络大数据(微、转换、存储和管理等服务的各类企业或产品,比如分布式文件系统(如Hadoop的 HDFS和谷歌的GFS)、ETL工具(Informatica、Datastage、Kettle等)、数据库和数据仓库(Oracle 、MySQL、SQL Server、HBase、GreenPlum等) 包括提供分布式计算、数据挖掘、统计分析等服务的各类企业或产品,比如,分布式计算框架 MapReduce、统计分析软件SPSS和SAS、数据挖掘工具Weka、数据可视化工具Tableau、BI工具( MicroStrategy、Cognos、BO)等等 包括提供数据分享平台、数据分析平台、数据租售平台等服务的企业能电网等行业应用的企业、机构或政府部门,比如交通主 管部门、各大医疗机构、菜鸟网络、国家电网等
厦门大学林子雨编著《大数据技术原理与应用》教材配套实验

厦门大学林子雨编著《大数据技术原理与应用》教材配套实验实验一:熟悉常用的Linux操作和Hadoop操作一、实验目的Hadoop运行在Linux系统上,因此,需要学习实践一些常用的Linux命令。
.本实验旨在熟悉常用的Linux操作和Hadoop操作,为顺利开展后续其他实验奠定基础。
.二、实验平台●操作系统:Linux(建议Ubuntu16. 04);●Hadoop版本:2. 7. 1。
.三、实验步骤(一)熟悉常用的Linux操作●cd命令:切换目录(1)切换到目录“/usr/local”(2)切换到当前目录的上一级目录(3)切换到当前登录Linux系统的用户的自己的主文件夹●ls命令:查看文件与目录(4)查看目录“/usr”下的所有文件和目录●mkdir命令:新建目录(5)进入“/tmp”目录,创建一个名为“a”的目录,并查看“/tmp”目录下已经存在哪些目录(6)进入“/tmp”目录,创建目录“a1/a2/a3/a4”●rmdir命令:删除空的目录(7)将上面创建的目录a(在“/tmp”目录下面)删除(8)删除上面创建的目录“a1/a2/a3/a4”(在“/tmp”目录下面),然后查看“/tmp”目录下面存在哪些目录●cp命令:复制文件或目录(9)将当前用户的主文件夹下的文件. bashrc复制到目录“/usr”下,并重命名为bashrc1(10)在目录“/tmp”下新建目录test,再把这个目录复制到“/usr”目录下●mv命令:移动文件与目录,或更名(11)将“/usr”目录下的文件bashrc1移动到“/usr/test”目录下(12)将“/usr”目录下的test目录重命名为test2●rm命令:移除文件或目录(13)将“/usr/test2”目录下的bashrc1文件删除(14)将“/usr”目录下的test2目录删除●cat命令:查看文件内容(15)查看当前用户主文件夹下的. bashrc文件内容●tac命令:反向查看文件内容(16)反向查看当前用户主文件夹下的. bashrc文件的内容●more命令:一页一页翻动查看(17)翻页查看当前用户主文件夹下的. bashrc文件的内容●head命令:取出前面几行(18)查看当前用户主文件夹下. bashrc文件内容前20行(19)查看当前用户主文件夹下. bashrc文件内容,后面50行不显示,只显示前面几行●tail命令:取出后面几行(20)查看当前用户主文件夹下. bashrc文件内容最后20行(21)查看当前用户主文件夹下. bashrc文件内容,并且只列出50行以后的数据●touch命令:修改文件时间或创建新文件(22)在“/tmp”目录下创建一个空文件hello,并查看文件时间(23)修改hello文件,将文件时间整为5天前●chown命令:修改文件所有者权限(24)将hello文件所有者改为root帐号,并查看属性●find命令:文件查找(25)找出主文件夹下文件名为. bashrc的文件●tar命令:压缩命令(26)在根目录“/”下新建文件夹test,然后在根目录“/”下打包成test. tar. gz(27)把上面的test. tar. gz压缩包,解压缩到“/tmp”目录●grep命令:查找字符串(28)从“~/. bashrc”文件中查找字符串'examples'●配置环境变量(29)请在“~/. bashrc”中设置,配置Java环境变量(30)查看JAVA_HOME变量的值(二)熟悉常用的Hadoop操作(31)使用hadoop用户登录Linux系统,启动Hadoop(Hadoop的安装目录为“/usr/local/hadoop”),为hadoop用户在HDFS中创建用户目录“/user/hadoop”(32)接着在HDFS的目录“/user/hadoop”下,创建test文件夹,并查看文件列表(33)将Linux系统本地的“~/. bashrc”文件上传到HDFS的test文件夹中,并查看test (34)将HDFS文件夹test复制到Linux系统本地文件系统的“/usr/local/hadoop”目录下四、实验报告实验二:熟悉常用的HDFS操作一、实验目的●理解HDFS在Hadoop体系结构中的角色;●熟练使用HDFS操作常用的Shell命令;●熟悉HDFS操作常用的Java API。
Chapter0-厦门大学-林子雨-大数据技术原理与应用-课程介绍(2016春季学期授课版本)pp

/post/bigdata-online-course/ 支持手机浏览 随时随地手机看 在线课程视频
扫一扫手机访问在线课程
《大数据技术原理与应用》 厦门大学计算机科学系 林子雨 ziyulin@
附录:主讲教师林子雨简介
主讲教师:林子雨 单位:厦门大学计算机科学系 E-mail: ziyulin@ 个人网页:/linziyu 数据库实验室网站: 扫一扫访问个人主页 林子雨,男,1978年出生,博士(毕业于北京大学),现为厦门大学计算机科学系助理教授(讲师), 曾任厦门大学信息科学与技术学院院长助理、晋江市发展和改革局副局长。中国高校首个“数字教师” 提出者和建设者,厦门大学数据库实验室负责人,厦门大学云计算与大数据研究中心主要建设者和骨干 成员,2013年度厦门大学奖教金获得者。主要研究方向为数据库、数据仓库、数据挖掘、大数据、云计 算和物联网,并以第一作者身份在《软件学报》《计算机学报》和《计算机研究与发展》等国家重点期 刊以及国际学术会议上发表多篇学术论文。作为项目负责人主持的科研项目包括1项国家自然科学青年基 金项目(No.61303004)、1项福建省自然科学青年基金项目(No.2013J05099)和1项中央高校基本科研业务 费项目(No.2011121049),同时,作为课题负责人完成了国家发改委城市信息化重大课题、国家物联网重 大应用示范工程区域试点泉州市工作方案、2015泉州市互联网经济调研等课题。编著出版中国高校第一 本系统介绍大数据知识的专业教材《大数据技术原理与应用》并成为畅销书籍,编著并免费网络发布40 余万字中国高校第一本闪存数据库研究专著《闪存数据库概念与技术》;主讲厦门大学计算机系本科生 课程《数据库系统原理》和研究生课程《分布式数据库》《大数据技术基础》。具有丰富的政府和企业 信息化培训经验,曾先后给中国移动通信集团公司、福州马尾区政府、福建省物联网科学研究院、石狮 市物流协会、厦门市物流协会、福建龙岩卷烟厂等多家单位和企业开展信息化培训,累计培训人数达 2000人以上。
《大数据技术原理与操作应用》最新版精品课件第8章

属性名称
默认值
相关说明
channels type bind port
threads ssl
keystore keystore-password
– – – – – false
– –
组件类型名需必须是avro
要监听的主机名或IP地址 要监听的服务端口 要生成的工作线程的最大数目 将此设置为true以启用SSL加密,则还必须指定 “keystore”和“keystore-password”
Hive Sink Thrift Sink Null Sink MorphlineSolr Sink Kafka Sink
Logger Sink IRC Sink
HBaseSink ElasticSearch Sink
HTTP Sink
8.1 Flume介绍
Flume Sinks
HDFS Sink将event写入Hadoop分布式文件系统 (HDFS),它目前支持创建文本和序列文件,以及两种类型的 压缩文件,下表为HDFS Sink常用配置属性。
8.1 Flume介绍
Flume运行机制
Flume的核心是把数据从数据源(例如Web服务器)通过数 据 采 集器 (Source)收集过来,再将收集的数据通过 缓 冲 通道 (Channel)汇集到指定的接收器(Sink)。
Flume 以 Agent 为最小的独立运行单位。 一个 Agent 就是一 个 JVM。 单 Agent 由 Source、 Sink 和 Channel 三大组件构成,
属性名称
默认值
channels
–
type
–
filegroups
–
filegroups.<filegroupName>
厦门大学计算机科学系《数据库系统原理》.ppt

2019年8月28
感谢你的观看
主变量(续)
C语言中的主变量声明
2019年8月28
感谢你的观看
主变量(续)
– 2) 使用主变量
说明之后的主变量可以在SQL语句中任何一个能够使用表达式 的地方出现
为了与数据库对象名(表名、视图名、列名等)区别,SQL语 句中的主变量名前要加冒号(:)作为标志
• 不用游标的SQL语句的种类
– 说明性语句 – 数据定义语句 – 数据控制语句 – 查询结果为单记录的SELECT语句 – 非CURRENT形式的增删改语句
2019年8月28
感谢你的观看
不用游标的SQL语句(续)
• 一、查询结果为单记录的SELECT语句 • 二、非CURRENT形式的增删改语句
2019年8月28
感谢你的观看
六、编译运行C程序-3.编译、链接与运行
• 在VC++6.0中创建一个“WIN32 Console Application”类型的Project, 然后将预编译生成的c文件加入Project,编译链接即可生成访问SQL Server的可执行程序。Visual C++6.0进行编译连接时需要用到动态链接 库SQLakw32.dll与SQLaiw32.dll;尽管这两个文件已经随同binn.rar被拷 贝到 SQL Server安装目录的MSSQL\Binn文件夹下,但仍然需要把它们 的路径加到系统路径变量中,以使得程序运行时能找到它们,具体添加 方法如下: 方法1:把这两个文件拷贝到操作系统目录下的system32子目录中。 方法2:“我的电脑”->“属性”->“高级”->“环境变量”->“path,编 辑”,在变量值中加入路径值;新路径已有路径间用“;”间隔。
厦门大学林子雨编著《大数据技术原理与应用》教材配套实验

厦门大学林子雨编著《大数据技术原理与应用》教材配套实验实验一:熟悉常用的Linux操作和Hadoop操作一、实验目的Hadoop运行在Linux系统上,因此,需要学习实践一些常用的Linux命令。
.本实验旨在熟悉常用的Linux操作和Hadoop操作,为顺利开展后续其他实验奠定基础。
.二、实验平台●操作系统:Linux(建议Ubuntu16. 04);●Hadoop版本:2. 7. 1。
.三、实验步骤(一)熟悉常用的Linux操作●cd命令:切换目录(1)切换到目录“/usr/local”(2)切换到当前目录的上一级目录(3)切换到当前登录Linux系统的用户的自己的主文件夹●ls命令:查看文件与目录(4)查看目录“/usr”下的所有文件和目录●mkdir命令:新建目录(5)进入“/tmp”目录,创建一个名为“a”的目录,并查看“/tmp”目录下已经存在哪些目录(6)进入“/tmp”目录,创建目录“a1/a2/a3/a4”●rmdir命令:删除空的目录(7)将上面创建的目录a(在“/tmp”目录下面)删除(8)删除上面创建的目录“a1/a2/a3/a4”(在“/tmp”目录下面),然后查看“/tmp”目录下面存在哪些目录●cp命令:复制文件或目录(9)将当前用户的主文件夹下的文件. bashrc复制到目录“/usr”下,并重命名为bashrc1(10)在目录“/tmp”下新建目录test,再把这个目录复制到“/usr”目录下●mv命令:移动文件与目录,或更名(11)将“/usr”目录下的文件bashrc1移动到“/usr/test”目录下(12)将“/usr”目录下的test目录重命名为test2●rm命令:移除文件或目录(13)将“/usr/test2”目录下的bashrc1文件删除(14)将“/usr”目录下的test2目录删除●cat命令:查看文件内容(15)查看当前用户主文件夹下的. bashrc文件内容●tac命令:反向查看文件内容(16)反向查看当前用户主文件夹下的. bashrc文件的内容●more命令:一页一页翻动查看(17)翻页查看当前用户主文件夹下的. bashrc文件的内容●head命令:取出前面几行(18)查看当前用户主文件夹下. bashrc文件内容前20行(19)查看当前用户主文件夹下. bashrc文件内容,后面50行不显示,只显示前面几行●tail命令:取出后面几行(20)查看当前用户主文件夹下. bashrc文件内容最后20行(21)查看当前用户主文件夹下. bashrc文件内容,并且只列出50行以后的数据●touch命令:修改文件时间或创建新文件(22)在“/tmp”目录下创建一个空文件hello,并查看文件时间(23)修改hello文件,将文件时间整为5天前●chown命令:修改文件所有者权限(24)将hello文件所有者改为root帐号,并查看属性●find命令:文件查找(25)找出主文件夹下文件名为. bashrc的文件●tar命令:压缩命令(26)在根目录“/”下新建文件夹test,然后在根目录“/”下打包成test. tar. gz(27)把上面的test. tar. gz压缩包,解压缩到“/tmp”目录●grep命令:查找字符串(28)从“~/. bashrc”文件中查找字符串'examples'●配置环境变量(29)请在“~/. bashrc”中设置,配置Java环境变量(30)查看JAVA_HOME变量的值(二)熟悉常用的Hadoop操作(31)使用hadoop用户登录Linux系统,启动Hadoop(Hadoop的安装目录为“/usr/local/hadoop”),为hadoop用户在HDFS中创建用户目录“/user/hadoop”(32)接着在HDFS的目录“/user/hadoop”下,创建test文件夹,并查看文件列表(33)将Linux系统本地的“~/. bashrc”文件上传到HDFS的test文件夹中,并查看test (34)将HDFS文件夹test复制到Linux系统本地文件系统的“/usr/local/hadoop”目录下四、实验报告实验二:熟悉常用的HDFS操作一、实验目的●理解HDFS在Hadoop体系结构中的角色;●熟练使用HDFS操作常用的Shell命令;●熟悉HDFS操作常用的Java API。
厦门大学-林子雨-数据库系统原理2016版-第8章-数据库编程ppt

2. 主变量
主语言向SQL语句提供参数 将SQL语句查询数据库的结果交主语言进一步处理
3. 游标
解决集合性操作语言与过程性操作语言的不匹配
《数据库系统原理》
厦门大学计算机系
林子雨
ziyulin@
2016版
一、SQL通信区
SQLCA: SQL Communication Area
厦门大学计算机系
林子雨
ziyulin@
2016版
C语言编写嵌入式SQL实例(5)
《数据库系统原理》
厦门大学计算机系
林子雨
ziyulin@
2016版
六、编译运行C程序 嵌入SQL的C应用程序具体到VC++6.0、 SQL Server2000下调试可分为五步: • (1)环境初始化 • (2)预编译 • (3)编译 • (4)链接 • (5)运行
负责控制程序流程
它们之间应该如何通信?
厦门大学计算机系 林子雨 ziyulin@ 2016版
《数据库系统原理》
嵌入式SQL语句与主语言之间的通信(续)
• 数据库工作单元与源程序工作单元之间的通信:
1. SQL通信区
向主语言传递SQL语句的执行状态信息 使主语言能够据此控制程序流程
《数据库系统原理》
厦门大学计算机系
林子雨
ziyulin@
2016版
游标(续)
《数据库系统原理》
厦门大学计算机系
林子雨
ziyulin@
2016版
四、建立和关闭数据库连接
建立数据库连接
EXEC SQL CONNECT TO target [AS connection-name] [USER user-name];
大大数据技术原理与指导应用 林子雨版 课后习题问题详解

第一章1.试述信息技术发展史上的3次信息化浪潮及具体容。
2.试述数据产生方式经历的几个阶段答:运营式系统阶段,用户原创容阶段,感知式系统阶段。
3.试述大数据的4个基本特征答:数据量大、数据类型繁多、处理速度快和价值密度低。
4.试述大数据时代的“数据爆炸”的特性答:大数据时代的“数据爆炸”的特性是,人类社会产生的数据一致都以每年50%的速度增长,也就是说,每两年增加一倍。
5.数据研究经历了哪4个阶段?答:人类自古以来在科学研究上先后历经了实验、理论、计算、和数据四种式。
6.试述大数据对思维方式的重要影响答:大数据时代对思维方式的重要影响是三种思维的转变:全样而非抽样,效率而非精确,相关而非因果。
7.大数据决策与传统的基于数据仓库的决策有什么区别答:数据仓库具备批量和周期性的数据加载以及数据变化的实时探测、传播和加载能力,能结合历史数据和实时数据实现查询分析和自动规则触发,从而提供对战略决策和战术决策。
大数据决策可以面向类型繁多的、非结构化的海量数据进行决策分析。
8.举例说明大数据的基本应用答:9.举例说明大数据的关键技术答:批处理计算,流计算,图计算,查询分析计算10.大数据产业包含哪些关键技术。
答:IT基础设施层、数据源层、数据管理层、数据分析层、数据平台层、数据应用层。
11.定义并解释以下术语:云计算、物联网答:云计算:云计算就是实现了通过网络提供可伸缩的、廉价的分布式计算机能力,用户只需要在具备网络接入条件的地方,就可以随时随地获得所需的各种IT资源。
物联网是物物相连的互联网,是互联网的延伸,它利用局部网络或互联网等通信技术把传感器、控制器、机器、人类和物等通过新的方式连在一起,形成人与物、物与物相连,实现信息化和远程管理控制。
12.详细阐述大数据、云计算和物联网三者之间的区别与联系。
第二章1.试述hadoop和谷歌的mapreduce、gfs等技术之间的关系答:Hadoop的核心是分布式文件系统HDFS和MapReduce,HDFS是谷歌文件系统GFS的开源实现,MapReduces是针对谷歌MapReduce的开源实现。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《大数据技术原理与应用》
厦门大学计算机科学系
林子雨
ziyulin@
8.1.3 流计算概念
• 流计算:实时获取来自不同数据源的海量数据,经过实时 分析处理,获得有价值的信息
数据采集
实时分析处理
结果反馈
《大数据技术原理与应用》
流计算示意图
厦门大学计算机科学系
林子雨
ziyulin@
《大数据技术原理与应用》
厦门大学计算机科学系
林子雨
ziyulin@
8.1.1 静态数据和流数据
• 近年来,在Web应用、网络监控、传感监测等领域,兴起了一种新 的数据密集型应用——流数据,即数据以大量、快速、时变的流形式 持续到达
• 流数据具有如下特征: – 数据快速持续到达,潜在大小也许是无穷无尽的 – 数据来源众多,格式复杂 – 数据量大,但是不十分关注存储,一旦经过处理,要么被丢弃, 要么被归档存储 – 注重数据的整体价值,不过分关注个别数据 – 数据顺序颠倒,或者不完整,系统无法控制将要处理据,包括用户的 搜索内容、用户的浏览记录等数据。采用流计算进行实时数据分析, 可以了解每个时刻的流量变化情况,甚至可以分析用户的实时浏览轨 迹,从而进行实时个性化内容推荐
• 但是,并不是每个应用场景都需要用到流计算的。流计算适合于需要 处理持续到达的流数据、对数据处理有较高实时性要求的场景
传统的数据处理流程示意图
• 传统的数据处理流程隐含了两个前提:
– 存储的数据是旧的。存储的静态数据是过去某一时刻的快照,这 些数据在查询时可能已不具备时效性了
– 需要用户主动发出查询来获取结果
《大数据技术原理与应用》
厦门大学计算机科学系
林子雨
ziyulin@
8.2.1 数据处理流程
– 流处理系统无需用户主动发出查询,实时查询服务可以主动将实 时结果推送给用户
《大数据技术原理与应用》
厦门大学计算机科学系
林子雨
ziyulin@
8.3 流计算的应用
• 流计算是针对流数据的实时计算,可以应用在多种场景中,如Web 服务、机器翻译、广告投放、自然语言处理、气候模拟预测等
• 虽然分布式离线分析带来的小时级的分析延时可以满足大部分商家的 需求,但随着实时性要求越来越高,如何实现秒级别的实时分析响应 成为业务分析的一大挑战
《大数据技术原理与应用》
厦门大学计算机科学系
林子雨
ziyulin@
8.3.1 应用场景1: 实时分析
• 针对流数据,“量子恒道”开发了海量数据实时流计算框架Super Mario。通过该框架,量子恒道可处理每天TB级的实时流数据,并且 从用户发出请求到数据展示,整个延时控制在2-3秒内,达到了实时 性的要求
• 数据实时计算阶段对采集的数据进行实时的分析和计算,并反馈实时 结果
• 经流处理系统处理后的数据,可视情况进行存储,以便之后再进行分 析计算。在时效性要求较高的场景中,处理之后的数据也可以直接丢 弃
数据流入
流处理系统 实时计算
数据流出
计算结果
数据实时计算流程
《大数据技术原理与应用》
厦门大学计算机科学系
的转发
– Store:存储Collector转发过来的数据
Agent Agent Agent
Collector Collector Collector
Store Store Store
《大数据技术原理与应用》
数据采集系统基本架构
厦门大学计算机科学系
林子雨
ziyulin@
8.2.3 数据实时计算
– Yahoo! S4(Simple Scalable Streaming System):开源流计算 平台,是通用的、分布式的、可扩展的、分区容错的、可插拔的 流式系统
《大数据技术原理与应用》
厦门大学计算机科学系
林子雨
ziyulin@
8.2 流计算处理流程
• 8.2.1 • 8.2.2 • 8.2.3 • 8.2.4
8.1.2 批量计算和实时计算
• 批量计算以“静态数据”为对象,可在充裕的时间内对海量数据进行 批量处理,计算得到有价值的信息。Hadoop是典型的批处理模型, 由HDFS和HBase存放大量的静态数据,由MapReduce负责对海量数 据执行批量计算
• 流数据须采用实时计算。实时计算最重要的一个需求是能够实时得到 计算结果,一般要求响应时间为秒级。当只需要处理少量数据时,实 时计算并不是问题;但是,在大数据时代,数据格式复杂、来源众多 、数据量巨大,对实时计算提出了很大的挑战。因此,针对流数据的 实时计算——流计算,应运而生
• 流计算的处理流程一般包含三个阶段:数据实时采集、数据实时计算 、实时查询服务
用户查询
数据实时采集
数据实时计算
实时查询服务
查询结果
流计算处理流程示意图
《大数据技术原理与应用》
厦门大学计算机科学系
林子雨
ziyulin@
8.2.2 数据实时采集
• 数据实时采集阶段通常采集多个数据源的海量数据,需要保证实时性 、低延迟与稳定可靠
《大数据技术原理与应用》
厦门大学计算机科学系
林子雨
ziyulin@
8.2.3 实时查询服务
• 可见,流处理系统与传统的数据处理系统有如下不同:
– 流处理系统处理的是实时的数据,而传统的数据处理系统处理的 是预先存储好的静态数据
– 用户通过流处理系统获取的是实时结果,而通过传统的数据处理 系统,获取的是过去某一时刻的结果
欢迎访问《大数据技术原理与应用》教材官方网站: /post/bigdata
《大数据技术原理与应用》
厦门大学计算机科学系
林子雨
ziyulin@
8.1 流计算概述
• 8.1.1 • 8.1.2 • 8.1.3 • 8.1.4 • 8.1.5
静态数据和流数据 批量计算和实时计算 流计算概念 流计算与Hadoop 流计算框架
• 以日志数据为例,由于分பைடு நூலகம்式集群的广泛应用,数据分散存储在不同 的机器上,因此需要实时汇总来自不同机器上的日志数据
• 目前有许多互联网公司发布的开源分布式日志采集系统均可满足每秒 数百MB的数据采集和传输需求,如: – Facebook的Scribe – LinkedIn的Kafka – 淘宝的Time Tunnel – 基于Hadoop的Chukwa和Flume
8.1.3 流计算概念
• 流计算秉承一个基本理念,即数据的价值随着时间的流逝而降低。 因此,当事件出现时就应该立即进行处理,而不是缓存起来进行批量 处理。为了及时处理流数据,就需要一个低延迟、可扩展、高可靠的 处理引擎
• 对于一个流计算系统来说,它应达到如下需求: – 高性能:处理大数据的基本要求,如每秒处理几十万条数据 – 海量式:支持TB级甚至是PB级的数据规模 – 实时性:保证较低的延迟时间,达到秒级别,甚至是毫秒级别 – 分布式:支持大数据的基本架构,必须能够平滑扩展 – 易用性:能够快速进行开发和部署 – 可靠性:能可靠地处理流数据
• 我们可能会想到一种“变通”的方案来降低批处理的时间延迟——将 基于MapReduce的批量处理转为小批量处理,将输入数据切成小的 片段,每隔一个周期就启动一次MapReduce作业。但这种方式也无 法有效处理流数据
《大数据技术原理与应用》
厦门大学计算机科学系
林子雨
ziyulin@
《大数据技术原理与应用》
厦门大学计算机科学系
林子雨
ziyulin@
8.1.4 流计算与Hadoop
• Hadoop设计的初衷是面向大规模数据的批量处理,每台机器并行运 行MapReduce任务,最后对结果进行汇总输出
• MapReduce是专门面向静态数据的批量处理的,内部各种实现机制 都为批处理做了高度优化,不适合用于处理持续到达的动态数据
《大数据技术原理与应用》
厦门大学计算机科学系
林子雨
ziyulin@
8.1.2 批量计算和实时计算
• 对静态数据和流数据的处理,对应着两种截然不同的计算模式:批量 计算和实时计算
《大数据技术原理与应用》
数据的两种处理模型
厦门大学计算机科学系
林子雨
ziyulin@
《大数据技术原理与应用》
/post/bigdata
温馨提示:编辑幻灯片母版,可以修改每页PPT的厦大校徽和底部文字
第八章 流计算
(PPT版本号:2019年6月第1.0版)
林子雨 厦门大学计算机科学系 E-mail: 主页:/linziyu
Log
Log
Log
Log
Time Tunnel: 日记采集系统
《大数据技术原理与应用》
Super Mario: 流处理系统
HBase: 存储分析结果 Super Mario处理流程
厦门大学计算机科学系
林子雨
ziyulin@
8.2.3 实时查询服务
• 实时查询服务:经由流计算框架得出的结果可供用户进行实时查询、 展示或储存
• 传统的数据处理流程,用户需要主动发出查询才能获得想要的结果。 而在流处理流程中,实时查询服务可以不断更新结果,并将用户所需 的结果实时推送给用户
• 虽然通过对传统的数据处理系统进行定时查询,也可以实现不断地更 新结果和结果推送,但通过这样的方式获取的结果,仍然是根据过去 某一时刻的数据得到的结果,与实时结果有着本质的区别
《大数据技术原理与应用》
厦门大学计算机科学系
林子雨
ziyulin@
8.3.1 应用场景1: 实时分析
• 传统的业务分析一般采用分布式离线计算的方式,即将数据全部保存 起来,然后每隔一定的时间进行离线分析来得到结果。但这样会导致 一定的延时,难以保证结果的实时性