工业大数据导论(中篇共上中下3篇)_第1页
工业大数据导论(中篇共上中下3篇)_第2页
工业大数据导论(中篇共上中下3篇)_第3页
工业大数据导论(中篇共上中下3篇)_第4页
工业大数据导论(中篇共上中下3篇)_第5页
已阅读5页,还剩171页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

工业大数据采集技术基础目录一、工业大数据来源二、工业大数据的数据项三、工业大数据单点采集技术四、工业大数据组合采集技术五、课后习题目录一、工业大数据来源二、工业大数据的数据项三、工业大数据单点采集技术四、工业大数据组合采集技术五、课后习题工业大数据来源工业互联网产业联盟在2017年7月发布的《工业大数据技术与应用白皮书》中提出,“工业大数据即工业数据的总和,我们把它分成三类,即企业信息化数据、工业物联网数据,以及外部跨界数据”。工业大数据的定义什么是企业信息化?

企业信息化(Enterprisesinformatization)是将企业的日常的运营过程,包括产品生产、货料物流、现金流动、业务办理、客户交互、售后服务等进行数字化,并通过信息网络进行融合处理,使企业能够快速掌握全部业务信息,实现业务管理的科学决策,提高企业在全球化市场经济中的竞争力。工业大数据来源企业信息化数据ERP系统数据不仅包括生产资源、制造流程、财务信息、设备原料等信息,还将包括产品质量、产品研发、业务流程、产品测试、产品存货、产品分销、物流运输、人力资源等各项数据。MES系统覆盖制造数据、计划排产数据、生产调度数据、库存数据、产品质量数据、人力资源、设备工具、原料设备采购、产品成本、产线看板、生产过程控制等。工业大数据来源外部跨界数据来源

外部跨界数据来源于企业、产业链之外,诸如气候变化、生态约束、政治事件、自然灾害、市场变化、政策法规等,却影响者企业的生产运营。气象观察自然灾害气象播报电视媒体新闻、网络媒体新闻播报工业大数据来源外部跨界数据实现避免损失加工制造企业通过收集气象数据、订单数据、原材料数据、设备数据等,及时的调整产品的生产计划、物流运输以及相关安全措施,能够避免天气因数影响企业订单交付和企业的财产财产损失。订单数据原材料数据设备数据调整生产计划物流运输安全措施订单及时交付避免财产损失气象数据工业大数据来源外部跨界数据提高销售业绩利润市场销量制定销售策略获取相关数据企业的销售部门通过收集各地方的收入情况、各地的传统习俗、宏观的经济数据等,有效的针对不同地区进行本地化的宣传和销售策略,提高产品的销售量,为企业创造更多的利润。收入情况风俗习惯市场环境工业大数据来源什么是工业互联网?工业物联网是将具有感知、监控能力的各类采集、控制传感器或控制器,以及移动通信、智能分析等技术不断融入到工业生产过程各个环节,从而大幅提高制造效率,改善产品质量,降低产品成本和资源消耗,最终实现将传统工业提升到智能化的新阶段。万物互联智能工厂工业大数据来源工业物联网数据工业物联网数据可来自数控机床、RFID、传感器、条码、测量仪器、机器人、AGV小车、自动化货仓、PLC设备等。机器人数控机床RFID测量仪器AGV小车自动化货仓工业大数据来源数控机床数据

数控机床是机械制造业的“工作母机”,是制造企业最基本、最重要的制造设备。以数控机床为例,基于数据实时性可将其分为两类:机床运行状态数据和机床执行过程数据。工业大数据来源目录一、工业大数据来源二、工业大数据的数据项三、工业大数据单点采集技术四、工业大数据组合采集技术五、课后习题数据项概念数据项(DataItem)是数据组成的基本元素,是数据记录中最基本的、不可分的有名数据单位,是具有独立含义的最小标识单位,用来描述实体的某种属性。数据数据对像数据元素数据项数据项(DataItem)—有独立含义的数据最小单位,也称域(field)数据(Data)—所有能输入到计算机中去的描述客观事物的符号数据对象(DataObject)—相同特性数据元素的集合,是数据的一个子集数据元素(DataElement)—数据的基本单位,也称结点(node)或记录(record)工业大数据的数据项定义数据项的意义对于一台机床来说,至少有数十种数据项,如何去识别这些数据便成为了一个问题。通过定义数据项,赋予数据项一个id,这个id是具有唯一性的,就如同现实生活中的门牌号一样,我们能够通过这个id去识别和获取这个数据项所代表的物理属性。对于同一类设备来说,所有的数据是种类相同的,但是如何能够很方便的采集和存储这一类设备的数据,通过定义数据项,将标准与格式统一,那么在采集和存储时,便只需要一种标准即可,极大程度上减少了开发人员的工作量,和后期对数据维护的成本。(1)用于识别(2)统一标准工业大数据的数据项NC-Link中定义数据项以NC-Link协议中定义数控系统中的X轴实际位置这一数据项为例,介绍在NC-Link中如何进行数据项的定义:{"id":"model.device.0.axis.1.act_position",(用户可自行设置id,用于标识此数据项,具有唯一性,用于识别)"type":"POSITION",(数据对象类型之一,例如CURRENT,VERSION,POSITION等。)"source":"MOTOR",(描述数据来源于哪个组件,为了方面用户在不用全部详细描述所有组件的情况下,根据已列出和未列出组件的类型描述数据的位置。)"name":"轴的实际位置",(数据项名称,用户可自行定义。)

}{

"id":"model.device.0.axis.1.act_position",

"type":"POSITION",

"source":"MOTOR",

"name":"X轴的实际位置",

}

实例化模板实例工业大数据的数据项目录一、工业大数据来源二、工业大数据的数据项三、工业大数据单点采集技术四、工业大数据组合采集技术五、课后习题工业大数据单点采集技术传感器的作用光敏传感器——视觉声敏传感器——听觉气敏传感器——嗅觉化学传感器——味觉压敏、温敏、流体传感器——触觉新技术革命的到来,世界开始进入信息时代。在利用信息的过程中,首先要解决的就是要获取准确可靠的信息,而传感器是获取自然和生产领域中信息的主要途径与手段。在现代工业生产尤其是自动化生产过程中,要用各种传感器来监视和控制生产过程中的各个参数,使设备工作在正常状态或最佳状态,并使产品达到最好的质量。因此可以说,没有众多的优良的传感器,现代化生产也就失去了基础。传感器又被称为“电五官”传感器工作原理

传感器就是一种能够将外界的物理量信息检测出来,并将其转换为模拟量或者数字量等电讯号,然后通过网络进行传输和存储的一种器件或装置。输入量输出量A/D或D/A物理量、化学量、生物量等电信号(模拟量、数字量等)传感器对于机器就与感觉器官对于人类一样,用来感觉外界的信息。使得安装了传感器的设备能够感知其自生和周围,使其有了类似于人的触觉、味觉和嗅觉等感官,从而有了实现自动检测和自动控制的可能。工业大数据单点采集技术传感器采集的物理量有位移、速度、加速度、力、时间、频率、温度、光等等,以及这些物理量所派生出的物理量。采集量举例工业大数据单点采集技术传感器一般由敏感元件、转换元件、调理电路三部分组成,敏感元件直接感受被测量,并输出与被测量有确定关系的物理量信号;转换元件将敏感元件输出的物理量、化学量及生物量信号转换为电信号;调理电路负责对转换元件输出的电信号进行放大调制。敏感元件被测量直接感应被测量将被测量转换为电信号将微电信号进行转换和放大传感器的组成调理电路转换元件模拟量数字量工业大数据单点采集技术传感器的发展历程第一阶段(1950~1969)结构型传感器出现第二阶段(1970~80年代)固体传感器逐渐发展第三阶段(80年代~至今)智能传感器出现传感器的发展历程大体可以分为以下三个阶段:结构型传感器固体传感器智能传感器工业大数据单点采集技术压力传感器温度传感器位移传感器霍尔传感器加速度传感器工业中常用传感器工业大数据单点采集技术单点采集架构工业大数据的单点采集技术架构可分为四个层次,分别为感应层、采集层、存储层、应用层,每一层分工明确,互不干扰,保障数据采集与汇聚的稳定和高效。工业大数据单点采集技术单点采集实现流程第一步,用户通过采集配置模块实现对数据采集项和采集频率的配置。

第二步,数据采集模块按照设定的数据采集项和采样周期对感应设备进行持续性的数据采集。第三步,存储层将采集上来的数据进行缓存,保障数据传输和使用的效率。第四步,存储层将数据进行持久化操作和分发到对应的应用程序。工业大数据单点采集技术单点采集实际应用在三爪卡盘底部加装测力仪或力传感器等测力设备,并通过连接法兰将其与卡盘进行连接紧固,利用受力后测力平台内部的压敏电阻值变化测得相应电压值来实现铣削力的获取。目标:采集加工时切削力数据方案:工业大数据单点采集技术单点采集局限性数据无关联性数据的采样周期长单点采集技术在采集多个通道的数据时,是以轮询的方式进行采集,使得总体的采样周期较长,从而造成数据密度低,对于一些高密度采集场合难以适应。单点采集技术主要强调和凸显的是对单个数据项的采集,难以在数据之间建立起关联关系。工业大数据单点采集技术目录一、工业大数据来源二、工业大数据的数据项三、工业大数据单点采集技术四、工业大数据组合采集技术五、课后习题工业大数据组合采集技术工业大数据之间的关联在产品全生命周期的整个阶段会涉及不同学科不同领域的数据关联,在数控系统的研发过程中会涉及总体设计方案、总体需求设计、系统结构设计、电子电路编程、动力学建模分析、零部件及组装体强度分析数据、系统及零部件可靠性分析数据等等的数据关联。产品各零部件之间的关联关系,如零部件的组成关系、零件间嵌套关系、软硬件版本兼容等关系。生产加工过程内的数据关联,跨工序大量工艺参数关联关系、生产过程与产品质量的关系、运行环境与设备状态的关系等。产品全生命周期从开发、设计、制造、使用到维护与服务等各个环节中数据的相互关联,如仿真过程与产品实际加工状况的关联。人百米短跑心电图从起跑随着速度逐渐升高,体温、心率、血清ALT活性也相应升高,当速度稳定到一定范围内,体温、心率、血清ALT活性也逐渐趋于平缓。冲刺时,这些特征值又相应改变。人体百米短跑的心电图横轴为百米短跑的状态阶段,分为起跑、加速、途中跑、冲刺。纵轴为人体在奔跑中典型的变化特征值,如体温,心率,血清ALT活性,速度等。工业大数据组合采集技术机床数据指令域心电图横轴为数控加工指令,横轴为数控机床切削力、振动、进给速度、主轴功率等特征值。数控加工心电图随着加工指令的执行过程,数控机床的特征值都会相应变化。这些特征的变化直接对刀具路径乃至于产品质量表面粗糙度、精度产生重要影响。工业大数据组合采集技术基于指令域电控数据分析的数控机床工作过程CPS建模在特定制造资源MR(包括主轴、丝杠、轴承、电机、刀具等工艺系统数据和环境温度等外部环境数据)下,采集工作任务WT(包括指令行号、指令段、刀具)和运行数据Y(包括主轴功率、扭矩、振动、轮廓误差等电控数据),并在信息空间的认知层中建立制造资源数据、状态数据与运行数据的映射关系Y=f(WT,MR)。工业大数据组合采集技术基于指令域电控数据分析应用在数控车床上车削包含三个台阶的零件,加工该零件时,指令域中指令序列号和对应的粗加工G指令等工艺信息构成加工工作任务WT

,采集的主轴电流为加工运行状态Y。利用指令域波形图,可以清晰地显示零件车削加工过程中的WT与Y的映射关系。指令域电控数据分析应用在指令域中显示的数控加工主轴电流波形图台阶轴零件及其尺寸工业大数据组合采集技术组合采集建构

工业大数据的组合采集技术中包括以下四大模块;采集参数配置模块、数据采集模块、数据库、云端存储系统。采集参数配置模块:实现对数据项的采集配置。数据采集模块:根据采集配置从工业设备中采集配置数据并进行组合。数据库:对组合后的数据进行缓存操作。云端存储系统:对数据库中的组合数据进行持久化存储。工业大数据组合采集技术组合采集实现流程第一步,用户利用采集参数配置接口设置配置采集参数。第二步,数据采集模块对工业设备进行连续性地周期采集。第三步,数据采集模块采集完整的数据,缓存到本地。第四步,对于本地缓存数据进行组合操作,形成一组或多组组合数据。第五步,组合数据缓存到数据库,并在云端进行持久化存储。工业大数据组合采集技术组合采集的应用案例主轴振动信号及转速结合分析机床实际运行情况,对主轴振动信号和主轴转速进行组合采集,根据振动和转速的关系图,可对应分析出哪些转速是主轴的共振转速。在实际的加工过程中跳过位于共振点的转速值,能够在很大的程度提高零件的加工精度。工业大数据组合采集技术基于NC-Link的组合采集的方案基于NC-Link的组合采集的实现主要是通过Sample采样来实现多个数据项进行组合。

以一台三轴数控铣床为例,定义一项采样通道,组合采集X轴实际位置、X轴指令位置、X轴实际速度、X轴指令速度、Y轴实际位置、Y轴指令位置、Y轴实际位置、Y轴指令速度这八个数据项。数据采样间隙为1ms,采样数据上传间隙为100ms。{"id"--标识"type"--类型"name"--名称"sampleInterval"--采样周期参数设置如"sampleInterval":1,(该节点sampleInterval值为1,代表每1ms采集一次ids字段内的id所指代的数据项的数据)"uploadInterval"--采样数据上传周期参数设置如"uploadInterval":100,(该节点uploadInterval值为100,代表每100ms上传一次采样数据)"ids"--数据项集合例如[id--X轴实际位置id--X轴指令位置id--X轴实际速度id--X轴指令速度id--Y轴实际位置id--Y轴指令位置id--Y轴实际速度id--Y轴指令速度

]}工业大数据组合采集技术基于NC-Link的组合采集的方案{"id":"myChannel","type":"SAMPLE_CHANNEL","name":"采样通道","sampleInterval":1,"uploadInterval":100,"ids":[ {"id":"model.device.0.axis.0.act_position"}, {"id":"model.device.0.axis.0.cmd_position"}, {"id":"model.device.0.axis.0.act_speed"}, {"id":"model.device.0.axis.0.cmd_speed"}, {"id":"model.device.0.axis.1.act_position"}, {"id":"model.device.0.axis.1.cmd_position"}, {"id":"model.device.0.axis.1.act_speed"}, {"id":"model.device.0.axis.1.cmd_speed"}, ]}{ "id":"myChannel", "beginTime":"1823011815", "data":[ [119.312000,119.312000,0.000000,0.000000, 134.971510,134.971000,0.000000,0.000000]

[119.312000,119.312000,0.000000,0.000000, 134.971510,134.971000,0.000000,0.000000] … ]}一组组合数据采样通道设置工业大数据组合采集技术目录一、工业大数据来源二、工业大数据的数据项三、工业大数据单点采集技术四、工业大数据组合采集技术五、课后习题课后习题1.工业大数据的来源有哪些?2.如何理解数据项?3.请简述传感器的发展历程?并写出三种工业中常用的传感器。4.霍尔传感器是如何进行测量的?5.单点采集技术局限性有哪些?6.工业大数据间的关联性体现在哪几个方面?跟一般大数据的关联性有什么区别?7.传统的数据分析的角度有哪几种,什么是指令域?8.指令域技术与传统采集分析方案的优势在哪里?9.简述工业大数据组合采集流程。10.按照NC-LINK数据传输协议,以一台三轴数控铣床为例,(1)机床数据项Z轴指令位置、指令速度、主轴电流、报警信息这四项数据项该如何定义?(2)并且定义一向采样通道,组合采集上述数据项,数据采样间隙为50ms,采样数据上传间隙为1000ms。工业大数据存储与安全基础目录5.1工业大数据存储技术5.2工业大数据存储安全基础5.3工业大数据存储系统设计基础知识1:数据库管理系统的分类数据库类别优点缺点应用场景关系型数据库管理系统(RelationalDatabaseManagementSystem,

RDBMS)1.易于维护:都是使用表结构,格式一致;2.使用方便:SQL语言通用,可用于复杂查询;3.复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。1.读写性能比较差,尤其是海量数据的高效率读写;2.固定的表结构,灵活度稍欠;3.高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈。OracleMySQLSQLServerDB2非关系型数据库管理系统(NOSQL=NOTONLYSQL)1.格式灵活:存储数据的格式可以是key,value形式、文档形式、图片形式等等,文档形式、图片形式等等,使用灵活,应用场景广泛。

2.速度快:NOSQL可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘;3.高扩展性;4.成本低:NOSQL数据库部署简单,基本都是开源软件。缺点:1.不提供sql支持,学习和使用成本较高;2.无事务处理;3.数据结构相对复杂,复杂查询方面稍欠。RedisMongdbHBase基础知识2:根据存储形式对数据进行分类数据类型主要特点应用场景结构化数据数据结构字段含义确定,清晰,典型的如数据库中的表结构MySQL等半结构化数据具有一定结构,但语义不够确定,典型的如

HTML网页,有些字段是确定的(title),有些不确定(table)XML、JSON、HTML等非结构化数据杂乱无章的数据,很难按照一个概念去进行抽取,无规律性文档、图片、视频等基础知识3:根据数据温度对数据进行分类数据类型定义例热数据即时的位置状态、加工状态等实时的加工信息温数据非即时的状态和行为数据。简单理解为把热数据和冷数据混在一起就成了温数据如用户近期对某一设备的加工状态特别感兴趣(热数据),与以往的关注点如统计数据(冷数据)形成鲜明对比,这说明该用户正处于新用户的成长期(温数据)冷数据较长时间之前的状态数据即设备历史状态,设备档案、设备管理资料、设备参数等。采集数据:数控系统内部信息;主轴和伺服轴的功率指令信息;位置、状态…机床外加传感器信息振动(加速度);力传`感器;声发射传感器;…以上信息通过NC-Link协议统一传输到云平台上分布式存储!机床加工大数据采集数控系统大数据采集类型数控系统大数据存储难点通常情况下,数控系统每天的数据量可达10GB数控系统网络化,及移动互联网的发展,导致数据以非结构、半结构化为主为用户提供自助的即席、迭代分析能力还有一类就是对非结构化数据的特征提取,以及半结构化数据的内容检索、理解传统数据库对这类需求和应用无论在技术上还是功能上都几乎束手无策….位置、速度、电流、扭矩、温度、压力、状态…DATABASE物联网技术当前主流工业大数据处理瓶颈设备本地软硬件计算能力不足,无法实现大数据分析和高复杂度计算的处理要求用户的经验和知识无法与系统深度集成,大数据的分析结果和知识无法反馈给系统各专业领域软件无法在设备上运行分布式存储平台为工业大数据提供分布式并行计算支持,以及第三方软件服务中心,有效解决上述问题。基于虚拟化技术存储优势可以将多个异构存储单元纳入统一的大数据存储资源池,灵活地按照应用需求选择更适宜厂家的存储设备提供统一存储资源管理,提高资源利用率,同时简化了存储管理工作,大大降低管理的复杂性,降低管理成本通过虚拟化技术降低大数据分析与存储平台的建设成本基于分布式存储优势分布式存储技术可为车间大数据提供一个高性能、大容量、安全可靠的存储解决方案扩展性一定的负载均衡性能,优化大数据处理系统为分布式并行计算提供支持,实现大数据的并行处理….位置、速度、电流、扭矩、温度、压力、状态…DATABASE5.1.1工业大数据存储模型定义序号数据类别数据项描述1静态数据系统参数2热数据轴数据3热数据通道数据4热数据采样数据5热数据事件数据6热数据寄存器数据7热数据报警数据8冷数据文件12冷数据参数13冷数据变量14冷数据刀具15冷数据日志………以三轴机床为例。静态数据即机床启动后不再变动的数据,所以只读取一次;热数据为实时数据,更新频率为100ms左右;冷数据即短时间内不会更新,更新频率为30分钟左右。5.1.1工业大数据存储模型定义5.1.2工业大数据数据缓存机制分布式缓存机制性能内存空间和数据量大小操作便利可靠性应用场景Redis只使用单核,平均每一个核上Redis在存储小数据时比Memcached性能更高增加了VM的特性,突破了物理内存的限制支持更加丰富的数据类型,也可以在服务器端直接对数据进行丰富的操作支持数据持久化和数据恢复,允许单点故障,但是同时也会付出性能的代价。适用于对读写效率要求都很高,数据处理业务复杂和对安全性要求较高的系统Memcached可以使用多核。可以修改最大内存,采用LRU算法数据结构单一,仅用来缓存数据不支持数据持久化,断电或重启后数据消失,但其稳定性是有保证的。动态系统中减轻数据库负载,提升性能;做缓存,适合多读少写,大数据量的情况MongoDB较差于前两者适合大数据存储,依赖操作系统

VM做内存管理,吃内存也比较厉害支持丰富的数据表达,索引,最类似关系型数据库,支持的查询语言非常丰富。从

1.8版本开始采用

binlog方式支持持久化的可靠性。主要解决海量数据的访问效率问题5.1.2工业大数据数据缓存机制1.Memcached单个key-value大小有限,一个value最大只支持1MB,而Redis最大支持512MB;2.Memcached只是个内存缓存,对可靠性无要求;而Redis更倾向于内存数据库,因此对可靠性方面要求比较高;3.从本质上讲,Memcached只是一个单一key-value内存Cache;而Redis则是一个数据结构内存数据库,支持五种数据类型,因此Redis除单纯缓存作用外,还可以处理一些简单的逻辑运算,Redis不仅可以缓存,而且还可以作为数据库用;4.Redis版本(3.0)以后指集群分布式,也就是说集群本身均衡客户端请求,各个节点可以交流,可拓展行、可维护性更强大;5.Redis支持master-slave(主-从)模式应用,高可用的cache系统,支持集群服务器之间数据同步;6.Redis支持数据持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用;7.MongoDB不支持事务。由此得出,Redis作为工业大数据的海量数据缓存机制要优于Memchched和MnogoDB。5.1.2工业大数据数据缓存机制1.单线程的redis为什么快?(1)纯内存操作。(2)单线程操作,避免了频繁的上下文切换。(3)采用了非阻塞I/O多路复用机制。5.1.2工业大数据数据缓存机制2.redis线程模型?3.Redis存储的数据类型String:最常规的set/get操作,value可以是String也可以是数字。一般做一些复杂的计数功能的缓存。Hash:value存放的是结构化的对象,比较方便的就是操作其中的某个字段。List:使用List的数据结构,可以做简单的消息队列的功能。Set:set堆放的是一堆不重复值的集合。所以可以做全局去重的功能。sortedset:sortedset多了一个权重参数score,集合中的元素能够按score进行排列。5.1.2工业大数据数据缓存机制5.1.2工业大数据数据缓存机制4.Redis缓存机制与MySQL数据库结合MySQL做为主存储Redis用于缓存,加快访问速度。5.1.2工业大数据数据缓存机制常用命令简介PublishPublishchannelmsg发送一个消息到频道SubscribeSubscribechannel订阅一个消息PsubscribePsubscribepattern发布一个或多个消息在架构中,Redis又被作为消息中间件来使用,用于处理来自应用层的请求。5.1.3分布式存储技术基于WebService和Hadoop的大数据存储选择开源的可扩展分布式Hadoop系统优点:Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件上的分布式文件系统HDFS是一个高度容错性的系统,适合部署在廉价的机器上HDFS能提供高吞吐量的数据访问,适合大规模数据集上应用HDFS放宽部分POSIX约束,来实现流式读取文件系统数据目的Hadoop组件及其功能HadoopCommon:支撑Hadoop其它组件HadoopDistributedFileSystem:提供应用数据高吞吐量访问HadoopYARN:任务调度和集群资源调度架构HadoopMapReduce:基于YARN的大数据并行处理系统对客户Hadoop调用复杂,需为用户提供简单易用的接口5.1.3分布式存储技术

Hadoop技术概述Hadoop包含了很多功能强大的子项目,包括:1.HDFS:Hadoop的分布式文件存储系统,能够对海量数据进行冗余存储。2.MapReduce:对海量数据进行大规模并行运算的计算框架模型。3.Hive:Hadoop文件系统上的数据仓库工具,由FaceBook研发,用于直接对存储在HDFS中的数据进行分析和管理。4.HBase:Hadoop上的分布式数据库管理工具,支持结构化数据存储和用户的实时访问。5.ZooKeeper:保持分布式系统中节点的一致性,包括节点失效后新节点的选取和数据迁移工作。6.Sqoop:用于HDFS分布式文件系统与关系型数据库的数据交换。HDFS分布式文件系统和MapReduce分布式并行计算处理模型是Hadoop中最重要的两个项目,其中HDFS分布式文件系统提供底层数据的存储,Map/Reduce实现数据的并行处理。5.1.3分布式存储技术HDFS分布式文件系统概述(1)Client:客户端。负责对文件进行切分,当文件上传HDFS的时候,Client将文件切分成一个一个的block,然后进行存储。与NameNode交互,获取文件的位置信息。与DataNode交互,读取或者写入数据。Client提供一些命令来管理或者访问HDFS,比如启动或者关闭HDFS。(2)NameNode:master,它是一个管理者。管理HDFS的名称空间、管理数据块(block)映射信息、配置副本策略、处理客户端读写请求。(3)DataNode:Slave,是数据真正的存储节点。(4)SecondaryNameNode:它是辅助NameNode,分担其工作量。定期合并fsimage镜像文件和edits日志,并推送给NameNode。在紧急情况下,可辅助恢复NameNode。HDFS特点5.1.3分布式存储技术(1)处理超大文件。(2)良好的容错机制。(3)数据的流式访问。(4)数据的一致性。(5)成本低廉。HDFS读取文件5.1.3分布式存储技术HDFS写入文件5.1.3分布式存储技术HBase概述----HBase系统架构5.1.3分布式存储技术HBase概述----HBase特点5.1.3分布式存储技术(1)海量存储:一个表可以有上十亿行,上百万列。(2)列式存储:面向列(簇)的存储和权限控制,列(簇)独立检索。(3)稀疏:对于为空(null)的列,并不占用存储空间,因此,表可以设计的非常稀疏。(4)无模式:每行都有一个可排序的主键和任意多的列,列可以根据需要动态的增加,同一张表中不同的行可以有截然不同的列。(5)极易扩展:HBase由自底向上地进行构建,能够简单地通过增加节点来达到线性扩展。如表5-6所示HBase和RDBMS传统数据库的区别。HBase概述----HBase与传统关系数据库的区别5.1.3分布式存储技术特性HBaseRDBMS硬件架构类似于

Hadoop的分布式集群,硬件成本低廉传统的多核系统,硬件成本昂贵存储模式稀疏的、分布的多维的

Map行模式的表格存储结构可伸缩性具有高伸缩性,可以方便的在增减集群节点的同事保证高容错性提高伸缩性比较困难事务不具有事务特性具有事务特性数据量PBGB、TB查询语言只支持

JavaAPI(除非与其他框架一起使用,如

Phoenix、Hive)SQL语句数据类型Bytes丰富的数据类型多版本机制存储的数据可以有多个版本没有数据维护无更新操作,由于可以维护多个版本的机制,更新操作实质就是插入新数据修改操作是直接修改了数据本身吞吐量百万查询/每秒数千查询/每秒HBase概述----HBase的工作原理5.1.3分布式存储技术对外接口iNCCloudInterface目的:实现Hadoop功能的远程调用架构:封装Hadoop的HDFS接口,以Webservice形式对外发布接口5.1.3分布式存储技术对外接口iNCCloudInterface客户通过浏览器访问WebService的服务描述文件WSDL调用mssoapinit方法,传入参数WSDL解析WSDL文件,并在内部生成所有WebService的方法和参数信息客户端调用WebService方法(已封装Hadoop

API)5.1.3分布式存储技术5.1.4数据完整性校验技术LocalFileSystem的完整性校验在Hadoop中,LocalFileSystem完成的客户端的数据校验,重点是在存储和读取文件时进行校验和处理。具体做法是:每当Hadoop创建文件a时,Hadoop会同时在同一文件夹下创建隐藏文件a.crc,这个文件记录了文件a的校验和,每512个字节就会产生32位的校验和。可以在$HADOOP_HOME/src/core/core-default.xml中设置io.bytes.per.checksum来修改每多少个字节产生一个校验和。HDFS的数据完整性检查(1)DataNode接受数据后,存储数据前在客户端写数据时,Hadoop会形成一个数据管道(2)客户端读取DataNode上的数据时当客户端从DataNode读取数据时,客户端需要检查校验和(缺省配置是需要检查)。(3)DataNode后台守护进程的定期检测每个DataNode会周期性地在后台运行DataBlockScanner,检查所有数据块的校验和。5.1.4数据完整性校验技术5.2工业大数据存储安全基础工业大数据的存储安全问题(1)缺乏安全认证机制的问题(2)用户权限控制可能存在的问题(3)应用系统可能存在的问题(4)网络传输安全问题(5)数据服务中的数据安全问题工业大数据安全基础技术1.加密:加密是一种限制对网络上传输数据的访问权的技术。

加密算法:通常分为对称性加密算法和非对称性加密算法。2.数据加密方式:①链路加密②节点加密③端对端加密3.典型的加密算法

(1)对称性加密算法:如AES、DES、3DES

(2)非对称性加密算法:如RSA、DSA、ECC

(3)线性散列算法(签名算法):如MD5、SHA1、HMAC4.加密算法的选用

一般来说,密钥越长,运行的速度就越慢,应该根据的我们实际需要的安全级别来选择,RSA建议采用1024位的数字,ECC建议采用160位,AES采用128为即可。

5.2工业大数据存储安全基础数据加密技术(1)客户端加密(2)云服务端加密(3)密匙管理服务(4)硬件加密

5.2工业大数据存储安全基础数据脱敏技术

5.2工业大数据存储安全基础工业大数据背景下的数据脱敏可借助

Hadoop平台和

Spark平台实现对海量数据的高效处理。数据脱敏处理平台架构主要由数据采集系统、数据存储平台、数据处理平台和密钥授权服务器等部分组成。5.3工业大数据数据存储系统设计在充分利用物理计算存储资源的基础上,减轻了云端数据传输网络压力,实现了任务并行化执行。

第一级缓存位于独立的数据缓存服务器,缓存从数控机床端推送上来的数据。该级缓存Redis中DataBase的数量等于需要数据汇聚的数控机床的数量,保证不同机床数据相互隔离;

第二级缓存分布于计算存储集群的各个节点中,缓存从一级缓存刷写出的数据。二级缓存每个节点Redis的DataBase数量与需要汇聚的数控机床数量相同,刷写至二级缓存各台机床的数据通过DataBase相互隔离。5.3工业大数据数据存储系统设计数据存储于数据节点默认存储单位是64M数据块HDFS中,如果一个文件小于一个数据块的大小,并不占用整个数据块存储空间为保证数据安全,一个数据块会有三份备份分布式数据存储5.3工业大数据数据存储系统设计数据缓存系统模型一级缓存所需的内存量由所汇聚的数控机床数量与一级缓存单个DataBase的刷写阈值确定。

Memory一级=n*HDFSblock

单个计算节点二级缓存所需的内存量由单个节点驱动程序并行执行的数量和一级缓存单个DataBase的刷写阈值确定

Memory二级单台=m*HDFSblock

二级缓存所需的内存总量为各个计算节所需内存量的和。

Memory二级=s*Memory二级单台缓存系统的内存需求5.3工业大数据数据存储系统设计数据流动模型在对汇聚系统架构充分测试的基础上,提出了针对汇聚数据量的计算集群规模的设计方法。5.3工业大数据数据存储系统设计计算存储集群设计1.HDFS的I/O计算5.3工业大数据数据存储系统设计计算存储集群设计2.CPU核心数量需求计算CPU核心数=(r+1)*43.内存量的推导

大数据汇聚服务驱动程序所需内存约为一个Executor为1G,在计算存储集群中每个节点配备8G的内存即可满足数控机床工业大数据汇聚系统的需求。5.3工业大数据数据存储系统设计实验当实验环境处于百兆带宽的情况下,由计算存储集群的节点数为HDFS的数据备份数加1,在r=3倍备份的情况下,实际计算存储集群的节点数目可以设置为4,每个节点配置4核心的CPU。即配置的CPU核心总数为(r+1)*4=16。同时,每个节点配置8GB内存,即配置的内存总数为24GB。5.3工业大数据数据存储系统设计DCAgent5.3工业大数据数据存储系统设计Redis缓存采集数据类型5.3工业大数据数据存储系统设计基于工业大数据存储的可视化工具实例历史数据分析基于工业大数据存储的可视化工具实例基于工业大数据存储的可视化工具实例历史数据分析——指令域直方图小结工业大数据分析对于工业生产过程优化、工业智能化应用研发、促进制造业转型升级有重要意义。数据高效汇聚及存储是分析的基础。针对工业大数据产生频率高、单条数据量小、有严格的时序性、数据总量极大等显著特点,设计一套工业大数据汇聚系统。提出了汇聚及存储系统硬件配置策略,硬件配置策略根据需要数据汇聚服务的数控机床数量,计算所需要的最低硬件需求,旨在得出能够满足工业大数据汇聚需求的最低硬件配置,以充分利用硬件资源。工业大数据分析方法概述2019年11月21日目录一、大数据分析技术需求二、分布式并行计算思想三、MapReduce理论基础四、Spark理论基础五、编程示例目录一、大数据分析技术需求二、分布式并行计算思想三、MapReduce理论基础四、Spark理论基础五、编程示例本章问题*Q1:数据挖掘在数据生命周期中处于什么地位?Q2:什么叫做真正意义上的大数据?Q3:大数据挖掘中的关键技术有哪些?大数据分析技术需求马航MH370失联飞机发动机卫星监控数据服务,成为全球寻找飞机最关键的线索。*大数据分析技术需求GE的商业模式转型远程采集航空发动机的运行数据(转速、温度、油耗、推力、振动………)*大数据地面发动机大数据挖掘与分析中心*飞机发动机汽车曲轴电子产品船用螺旋桨数控机床是制造业的“工作母机”,机床运行状态决定了制造加工质量、精度和效率。大数据分析技术需求大数据分析技术需求智能制造-数据驱动下的制造业德国提出了实施“工业4.0”国家战略,引领第三次工业革命。中国制造2025——数据推动传统制造业转型升级。*大数据分析技术需求什么是数据挖掘从大量的、不完全的、有噪声的、随机的数据中提取含在其中的、预先不被人知的、有用的信息和知识的过程。从功能上来看:从存放在数据库、数据仓库或其它信息库中的大量数据中发现知识的过程。***大数据分析技术需求数据挖掘的流程信息收集数据集成数据约规数据清理数据变换数据挖掘过程结果评估知识表示预处理大数据分析技术需求大数据有多大?*一天之中,互联网产生的全部内容可以刻满1.68亿张DVD;一天之中,发出的邮件有2940亿封之多(相当于美国两年纸质信件数量);一天之中,发出的社区帖子达200万个(相当于《时代》杂志770年的文字量);互联网数据告诉你大数据有多大。大数据分析任务需求大数据有多大?*2016年,据IBM研究称,“整个人类文明所获得的全部数据中,有90%是过去两年内产生的”。而到了2020年,全世界所产生的数据规模将达到2016年的44倍,每一天,全世界会上传超过5亿张图片,每分钟就有20小时时长的视频被分享。大数据分析技术需求大数据有多大?*假设一种数据4个字节,1ms采集一次,一共32种数据。一台机床,4*1000*32*60*60*24=11059200000B/天≈10GB/天;假设一条产线12台机床,一天的数据量大约就是120GB,一个月的数据量可达3.6T;在劲胜的一个智能生产车间,数控机床达180台以上,一个月的数据量就达54T。大数据分析技术需求大数据时代下的数据挖掘*大数据时代对人类的数据驾驭能力提出了新的挑战,在数控、航空、商业、经济及其他领域中,决策将日益基于数据和分析而做出,而并非基于经验和直觉,因此应对大数据的技术则紧随到来。

海量

复杂

强实时*大数据分析技术需求数据挖掘以多学科关键技术作为支撑数据挖掘BECDA分布式并行计算数据库技术物联网其他学科人工智能目录一、大数据分析技术需求二、分布式并行计算思想三、MapReduce理论基础四、Spark理论基础五、编程示例本章问题*Q1:为什么大数据需要分布式并行计算?Q2:分布式并行计算的设计思想?“古代,人们用牛来拉重物。当一头牛拉不动一根圆木时,他们不曾想过培育更大更壮的牛。同样,我们也不需要尝试开发超级计算机,而应试着结合使用更多的计算机系统。”——GraceHopper分布式并行计算思想分布式并行计算思想超级计算机横向扩展纵向扩展受到计算设备本身架构局限所需的升级成本会快速上升如何调度整个系统、多个计算节点间的资源整个任务及各个子任务如何监控各个计算节点的计算结果如何合理调度系统如何容错如何保证可靠性分布式并行计算思想分布式并行计算=分布式计算+并行计算分布式计算,和集中式计算相对,体现的是“分而治之”,强调的是任务的分布执行。并行计算,是相对于串行计算而言,体现是单个任务的执行粒度,强调的是单个任务的并发执行。分布式并行计算思想什么是分布式并行计算分布式并行计算:把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果负载均衡系统容错数据备份*分布式并行计算思想大数据为什么需要分布式并行计算*ANVFJVFCNDHNFAACNHFNDBUYHNXGB行结果行结果行结果行结果合并=结果串行分布式并行单个计算节点计算节点2计算节点3计算节点4计算节点1行结果+行结果+行结果+行结果=结果分布式并行计算思想分布式并行计算体现的优势高可伸缩性和按需服务高可靠性、高容错性整合多个计算节点的计算能力,具备更高的计算速度和计算效率系统具备高度开放性,本地或远程都可以使用分布式计算服务成本可控分布式并行计算思想常见分布式并行计算框架框架类别MapReduceSparkStorm开发者GoogleUCBerkeleyAMPLabTwitter开发语言JavaScalaJava、Clojure框架性质批处理第二代批处理流式数据实时处理延时性能较高秒级实时存储系统HDFS,磁盘内存内存数据吞吐量一般好较好集群支持数千个点超过1000节点超过1000节点应用平台Facebook、Google、IBM、雅虎等Intel、腾讯、淘宝、中国移动、Google等淘宝、百度、Twittle、Groupon、雅虎等适用场景低时效性(离线式)大批量计算较数据块、高时效性的小批量计算小数据块的实时分析计算目录一、大数据分析技术需求二、分布式并行计算思想三、MapReduce理论基础四、Spark理论基础五、编程示例本章问题*Q1:简述MapReduce的编程原理?Q2:MapReduce是怎样的体系架构?Q3:MapReduce的数据模型是什么?MapReduce理论基础分布式并行计算原始模型谷歌设计一个新的抽象模型,使用这个抽象模型,普通程序员只要表述他们想要执行的简单运算即可,而不必关心并行计算、容错、数据分布、负载均衡等复杂的细节,这些问题都被封装了,由后台程序来处理。这个模型就是MapReduce。谷歌2004年公布的MapReduce编程模型,在工业界、学术界产生巨大影响,以至于谈大数据必谈MapReduce。*MapReduce理论基础Mapreduce-分布式计算框架*MapReduce是一个编程模型,一个处理和生成超大数据集的算法模型的相关实现。简单的一句话解释MapReduce就是“任务的分解与结果的汇总”。MapReduce理论基础MapReduce数据模型——实现MapReduce架构的基础

主结节得到所有子节点的处理结果,然后把所有结果组合并且返回到输出。主节点读入输入数据,把它分成可以用相同方法解决的小数据块(分而治之),然后把这些小数据块分发到不同的工作节点上,并行处理。

Map映射

Reduce规约MapReduce理论基础Mapreduce编程模型原理*抽象模型是运转在<key,value>键值对上;Map和Reduce的输入是一组<key,value>键值对,同样输出的也是一组或多组<key,value>键值对;历经Partition(分片)、Map、Shuffle(洗牌)、Reduce等四个主要阶段。map:(key1,value1)---->list(key2,value2)

map:(key1,value3)---->list(key2,value4)reduce:(key2,list(value2,value4))---->(key3,value5)MapReduce理论基础MapReduce编程原理——Partition(分片)block1block2blockNfilesplit1split2split3split4split5…HDFS分布式文件系统只是在逻辑上对数据分片,与数据在HDFS系统中的真实存储没有实质性的映射关系。每个Split是一个Map任务的输入;Map计算就近拉取数据;split大小尽量不大于一个block块的大小,降低跨节点拉取数据的概率,降低数据在网络传输上的耗时,提高计算速度;split大小会有一个默认规则,将即为block的1/N(N为整数)。MapReduce理论基础MapReduce编程原理——MapMapReduce理论基础MapReduce编程原理——ReduceMapReduce理论基础MapReduce函数定义Mapper类定义如下:Mapper<LongWritable,Text,Text,IntWritable>Reducer类的模板定义如下:

LetterCountReducer<Text,

IntWritable,

Text,

IntWritable>Mapper的输出是reducer的输入mapper函数:在Map节点执行Map任务reducer函数:在Reduce节点执行Reduce任务MapReduce理论基础Mapreduce编程示例*统计单词所有出现单词的数量。Hello

World

Hello

my

love

Hello

World

,

i

love

youMapReduce理论基础Mapreduce编程示例-Map实现*public

class

WordCountMapper

extends

Mapper<LongWritable,

Text,

Text,

IntWritable>{

/*

*

map方法是提供给map

task进程来调用的,map

task进程是每读取一行文本来调用一次我们自定义的map方法

*/

@Override

protected

void

map(LongWritable

key,

Text

value,Context

context)

throws

IOException,

InterruptedException

{

String

line

=

value.toString();

String[]

words=line.split("

");

//输出<单词,1>

for(String

word:words){

context.write(new

Text(word),

new

IntWritable(1));

}

}

}

MapReduce理论基础Mapreduce编程示例*统计单词所有出现单词的数量。Hello

World

Hello

my

love

Hello

World

,

i

love

you

Hello

1World

1Hello

1my

1love1Hello

1World

1

i

1love

1you

1MapReduce理论基础Mapreduce编程示例-Reduce实现*public

public

class

WordCountReducer

extends

Reducer<Text,

IntWritable,

Text,

IntWritable>{

@Override

protected

void

reduce(Text

key,

Iterable<IntWritable>

values,Context

context)

throws

IOException,

InterruptedException

{

//定义一个计数器

int

count

=

0;

//通过value这个迭代器,遍历这一组kv中所有的value,进行累加

for(IntWritable

value:values){

count+=value.get();

}

//输出这个单词的统计结果

context.write(key,

new

IntWritable(count));

}

}

MapReduce理论基础Mapreduce编程示例*统计单词所有出现单词的数量。Hello

3World

2my

1love

2i

1

you1Hello

1World

1Hello

1my

1love1Hello

1World

1

i

1love

1you

1MapReduce理论基础MapReduce资源调度Client向NameNode节点提交计算任务,NameNode将任务分配给多个DataNode节点进行实际计算(Map计算和Reduce计算),最后将结果反馈给Client。一个MapReduce作业称为一个Job;一个Job会被拆分为很多个子任务,即Task集,分为多个MapTask和多个ReduceTask;一个Job的生命周期可分为4个阶段:Job提交、Task调度与监控、Task执行和Task输出。在Hadoop1.x版本中,MapReduce任务调度系统主要包括三个关键组件:JobTracker、TaskTracker和TaskSchedulerMapReduce理论基础MapReduce资源调度——JobTrackerJobTracker运行在NameNode节点上,在系统中是唯一的,主要任务是将一个Job拆分的多个Task分配给TaskTracker;Job拆分后,得到Map和Reduce的数量,并统计哪些DataNode节点可以处理哪些SplitJobClient向JobTracker传输数据在HDFS系统的存储路径以及JobID;MapReduce理论基础MapReduce资源调度——TaskTrackerJobTracker只是将Task拆分信息缓存在NameNode节点,并不进行实时性分配,也不通知计算节点,而是等待TaskTracker来主动读取;TaskTracker是任务的真正执行者,运行在每一个DataNode节点,并在每一个节点保持唯一;TaskTracker将任务可执行力度设置为“槽(slot)”,通过配置文件设置当前节点可同时执行的最大Map和Reduce任务数量。MapReduce理论基础MapReduce资源调度——心跳机制Client周期性发送一个固定信息给Server,Server收到信息后,回复一个固定信息给Client,如果Server在指定时间内没有收到Client的固定信息,则视Client已断开连接。TaskTracker可告知JobTracker其所在节点是否健康;TaskTracker通过心跳信息将当前节点可用的Map和Reduce任务数目、占用的数目以及所承担Task的详细信息发送给JobTracker,然后JobTracker根据这些信息为TaskTracker提供新的Task信息。MapReduce理论基础MapReduce资源调度——TaskSchedulerTaskScheduler是MapReduce的任务调度器。当一个TaskTracker通过心跳告知JobTracker自己还有空闲的任务Slot时,JobTracker就会向其分派任务,而具体应该分派一些什么样的任务给这台TaskTracker。目录一、大数据分析技术需求二、分布式并行计算思想三、MapReduce理论基础四、Spark理论基础五、编程示例本章问题*Q1:Spark较MapReuce的优势体现在哪里?Q1:简述Spark的编程原理?Q2:Spark是怎样的体系架构?Q3:Spark的数据模型是什么?Q3:Spark的资源调度是如何实现的?Spark理论基础Mapreduce局限性仅支持Map和Reduce两种操作Map中间结果需要写磁盘任务调度和启动开销大无法充分利用内存只能处理离线数据不适合迭代计算*快速支持复杂查询通用多种运行模式Spark理论基础Spark-高效的分布式计算框架Spark是专为大规模数据处理而设计的快速通用的计算引擎。Spark是基于内存计算的大数据并行计算框架。Spark的内存计算提高大数据环境下的数据处理的实时性,同时保证高容错性和高可伸缩性,允许用户将Spark部署在大量廉价硬件之上,形成集群。*Spark理论基础Spark发展史*2009诞生于伯克利大学2010正式开源2013成为Apache基金项目2016发布2.0版本/matei/《大型集群上的快速和通用数据处理架构》Mataizaharia2019发布3.0版本Spark理论基础Spark版本发展*截止2019年11月:Spark的developers比2014年涨了4倍,达到1200多人,来自超过300家公司;Spark的committers来自超过25个组织;在开源社区的贡献下,Spark版本更新速度很快,平均1-2个月推出一个新版本;Spark用户达到1000多个,正不断深入到传统工业界和互联网/传统行业交叉的应用领域。Spark代码贡献者每年的增长曲线Spark理论基础Spark的快速性基于内存计算,执行效率实时数据处理能力。擅长迭代计算,支持机器学习。*实验表明,在处理迭代式应用上Spark比MapReduce快20多倍;计算数据分析类报表的性能提高了40多倍;Spark能够在5-7秒的延时内交互式扫描1TB数据集。Spark理论基础Spark的易用性易用性:Spark通过提供丰富的Scala,Java,PythonAPI及交互式Shell来提高可用性。Scala是Spark框架的开发语言,所以使用Scala语言可以和Spark的源代码进行更好的无缝结合,更方便调用其相关功能。*编程语言运行平台腾讯广点通是最早使用Spark的应用之一。腾讯大数据借助Spark快速迭代的优势,最终成功应用于广点通pCTR投放系统上,支持每天上百亿的请求量。使用SparkSQL,利用其快速查询以及内存表等优势,承担了日志数据的即席查询工作。在性能方面,普遍比Hive高2-10倍,如果使用内存表的功能,性能将会比Hive快百倍。YahooYahoo将Spark用在AudienceExpansion中的应用AudienceExpansion是广告中寻找目标用户的一种方法:首先广告者提供一些观看了广告并且购买产品的样本客户,据此进行学习,寻找更多可能转化的用户,对他们定向广告。淘宝淘宝技术团队使用了Spark来解决多次迭代的机器学习算法、高计算复杂度的算法等。将Spark运用于淘宝的推荐相关算法上。同时还利用Graphx解决了许多生产问题,包括以下计算场景:基于度分布的中枢节点发现、基于最大连通图的社区发现、基于三角形计数的关系衡量、基于随机游走的用户属性传播等。优酷土豆目前Spark已经广泛使用在优酷土豆的视频推荐(图计算)、广告业务等。通过实践发现Spark性能比MapReduce提升很多。首先,交互查询响应快,性能比Hadoop提高若干倍;模拟广告投放计算效率高、延迟小(同hadoop比延迟至少降低一个数量级);机器学习、图计算等迭代计算,大大减少了网络传输、数据落地等,极大的提高的计算性能。Spark理论基础Spark在互联网中的典型应用案例*Spark之上提供四种应用库:SparkSQL

:为处理结构化数据而设计的模块。SparkStreaming:很容易地创建可扩展和容错性的流式应用。Mllib:可扩展机器学习库。GraphX:并行图计算API。Spark理论基础Spark生态圈*Spark理论基础Spark整体体系架构*SparkSQLSparkStreamingGraphX(graph)MLlib(machinelearning)MesosYARNS3SparkStandalone存储层资源调度层计算层工具层CassandraHbase…TachyonHDFSSpark理论基础Spark核心概念-SparkCoreSparkCore提供Spark最基础与最核心的功能。SparkContext在Spark应用程序的执行过程中起着主导作用,它负责与程序和spark集群进行交互,包括申请集群资源、创建RDD及广播变量等。*Spark理论基础Spark运行架构模型*采用分布式计算中的Master-Slave模型:Master负责整个集群的正常运行,Slave通常被称为Worker,负责接受Master命令执行计算操作。ClusterManager(Master)负责整个系统的计算资源的分配与管理;集群资源管理器:为上层应用提供统一的资源管理和调度;Worker接受主节点命令以及进行状态汇报Executor可以看做是一个计算任务(Task)的监控和执行容器;DriverApp:负责运行程序的main()方法,将上述任务定义转换为RDD和DGA。Spark理论基础Spark核心概念*Spark任务提供多层分解的概念,Spark组件将用户的应用程序分解为内部执行任务并提供执行容器,资源管理为spark组件提供资源调度。HDFSInput1Input2stage2stage3TaskJobstage1Client:负责提交应用;Driver:是应用的逻辑执行起点;Job:可以认为是SparkRDD里面的操作,每个操作的计算会生成一个Job,Job最终会被分为多个Stage和Task;Task:每一个Job被拆分多个Task;Executor:负责Task的调度和执行;Stage:每个Job包含多个Stage,每个Stage包含多个Task。Driver包含用户的应用程序;Driver完成task的解析和生成;Driver向ClusterManager申请运行task需要的资源;集群资源管理器为task分配满足要求的节点,并在节点按照要求创建Executor;创建的Executor向Driver注册;Driver将Spark应用程序的代码和文件传送给分配的Executor;Executor运

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论