




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Hadoop生态组件基础1Hive基础目录Hadoop基础2Spark基础3Hadoop是由Apache软件基金会开发的一个可靠的、可扩展的、用于分布式计算的分布式系统基础架构和开源软件。Hadoop软件库是一个框架,允许使用简单的编程模型在计算机集群中对大规模数据集进行分布式处理,它的目的是当单一的服务器扩展到成千上万台机器时,将集群部署在多台机器上,每台机器提供本地计算和存储服务,并将存储的数据备份在多个节点上,由此提升集群的可用性,而不是通过机器的硬件提升集群的可用性。当一个机器宕机时,其他节点依然可以提供备份数据和计算服务。Hadoop概述1.Hadoop的概念Hadoop框架核心的设计是HDFS和MapReduce。HDFS是可扩展的、高容错的、高性能的分布式文件系统,负责数据的分布式存储和备份,文件写入后只能读取不能修改。MapReduce是分布式计算框架,其处理过程包含Map(映射)和Reduce(规约)两个过程。Hadoop概述Hadoop概述2.Hadoop的发展历程高可靠性高扩展性高效性高容错性低成本可构建在廉价机器上Hadoop框架使用Java语言编写Hadoop概述3.Hadoop的优点Hadoop概述4.Hadoop的生态系统HBaseHBase是一个针对非结构化数据的可伸缩、高可靠、高性能、分布式和面向列的动态模式数据库。HBase提供了对大规模数据的随机、实时读写访问,同时,HBase中保存的数据可以使用MapReduce进行处理,MapReduce将数据存储和并行计算完美地结合在一起。HBase适用于大数据量(TB/100s级数据)且有快速随机访问的需求(如淘宝交易记录),能及时响应用户发出的访问请求;业务场景简单,不需要关系数据库中的很多特性(如交叉、连接);需要扩充数据库结构;等等场景。Hadoop概述HiveHive是建立在Hadoop上的数据仓库基础构架,它提供了一系列的工具,用于存储数据、查询和分析存储在Hadoop中的大规模数据。Hive定义了一种类SQL的语言——Hive查询语言(HiveQueryLanguage,HQL),通过简单的HQL可以将数据操作转换为复杂的MapReduce运行在Hadoop大数据平台上。Hive是一款分析历史数据的利器,但是Hive只有在结构化数据的情况下才能大显“神威”。Hive处理有延迟,较为合适的使用场景是大数据集的批处理作业,如网络日志分析。Hadoop概述SqoopSqoop是一款开源的工具,主要用于在Hadoop(如Hive组件)与传统的数据库(如MySQL、PostgreSQL)之间进行数据的传递,Sqoop可以将一个关系数据库中的数据导入HDFS,也可以将HDFS的数据导出到关系数据库中。对于结构化数据库,Sqoop是合适的,它可以将结构化数据库中的数据并行批量存储至HDFS中。Hadoop概述FlumeFlume是Cloudera提供的一个高可用的、高可靠的、分布式的海量日志采集、聚合和传输的系统,用于日志文件的采集。Flume支持在日志系统中定制各类数据发送方,用于收集数据。同时,Flume提供对数据进行简单处理,并写到各种数据接收方(可定制)的功能。如果数据来源很多、数据流向很多,那么使用Flume采集数据是一个很好的选择。Hadoop概述ZooKeeperZooKeeper可以解决分布式环境下的数据管理问题,如统一命名、状态同步、集群管理、配置同步等。ZooKeeper的使用主要是为了保证集群各项功能的正常进行,在集群出现异常时能够及时通知管理员进行处理,保持数据的一致性,ZooKeeper的作用是对整个集群进行监控。Hadoop概述MahoutMahout的主要目标是创建一些可扩展的机器学习领域经典算法,旨在帮助开发人员更加方便、快捷地创建智能应用程序。Mahout现在已经包含了聚类、分类、推荐引擎(协同过滤)和频繁项集挖掘等广泛使用的数据挖掘方法。除了算法,Mahout还包含数据的输入输出工具、与其他存储系统(如数据库、MongoDB或Cassandra)集成等数据挖掘支持架构。Mahout的主要应用是通过提供机器算法包,使得用户在使用的过程中能够通过调用算法包减少编程时间,同时减少用户复杂的算法程序对资源的消耗(用户的特殊需求除外)。Hadoop概述SparkSpark是一个基于内存计算的大数据并行计算框架,可用于构建大型的、低延迟的数据分析。Spark能弥补MapReduce计算模型延迟过高的缺陷,满足实时、快速计算的需求。而且Spark的中间数据计算结果可以保存在内存中,大大减少了对HDFS进行读写操作的次数,因此Spark可以更好地适用于数据挖掘与机器学习中需要迭代的算法。大数据应用场景的普遍特点是数据计算量大、效率高,Spark计算框架刚好可以满足这些计算要求。Hadoop概述Hadoop集群环境可以分为单机版环境、伪分布式环境和完全分布式环境。单机版环境是指在一台计算机上运行Hadoop,没有分布式文件系统,而是直接读取本地操作系统中的文件;伪分布式环境可以看作在一台计算机上模拟组建的多节点集群;而完全分布式环境是在多台计算机上组建的分布式集群。CDH是对Hadoop集成环境的封装,可以使用ClouderaManager进行自动化安装,支持大多数Hadoop组件,简化了大数据平台的安装。Hadoop集群安装与配置建议个人计算机硬件的配置如下:内存容量至少8GB,硬盘可用容量至少100GB,CPU为IntelCorei3以上的处理器。Hadoop相关软件及版本如下表。Hadoop集群安装与配置软件版本安装包备注LinuxOSCentOS6.8CentOS-6.8-x86_64-bin-DVD1.iso64位JDK1.7以上jdk-7u80-linux-x64.rpm64位VMware10vmware-workstation-full-10.0.15255226.zip—Hadoop2.6.4hadoop-2.6.4.tar.gz已编译好的安装包Eclipse4.5.1eclipse-jee-mars-1-win32-x86_64.zip64位EclipseHadoop插件2.6.0hadoop-eclipse-plugin-2.6.0—SSH连接工具5Xme5.exe—Hadoop完全分布式集群是典型的主从架构,一般需要使用多台服务器来组建。集群拓扑结构图Hadoop集群安装与配置Hadoop集群节点IP地址及配置软件Hadoop集群安装与配置1.搭建Hadoop完全分布式集群节点IP地址语言环境配置软件备注master30Javavim、zip、openssh-server、openssh-clients主节点slave131Javavim、zip、openssh-server、openssh-clients从节点slave232Javavim、zip、openssh-server、openssh-clients从节点slave333Javavim、zip、openssh-server、openssh-clients从节点(1)修改配置文件上传Hadoop安装包hadoop-2.6.4.tar.gz上传至虚拟机master的/opt目录下;将Hadoop安装包解压到虚拟机master的/usr/local目录下;进入/usr/local/hadoop-2.6.4/etc/hadoop/目录,并依次修改涉及的配置文件:core-site.xml、hadoop-env.sh、yarn-env.sh、mapred-site.xml、yarn-site.xml、slaves、hdfs-site.xml;修改/etc/hosts文件,配置主机名与IP地址的映射。Hadoop集群安装与配置1.搭建Hadoop完全分布式集群(2)配置SSH协议无密码登录使用ssh-keygen产生公钥与私钥对;Hadoop集群安装与配置1.搭建Hadoop完全分布式集群(2)配置SSH协议无密码登录使用ssh-copy-id将公钥复制到远程虚拟机中;验证SSH协议是否能够无密钥登录。Hadoop集群安装与配置(3)复制Hadoop安装文件到集群的其他节点中在master节点中安装完Hadoop后,通过scp命令将Hadoop安装文件复制到集群的其他节点中。Hadoop集群安装与配置1.搭建Hadoop完全分布式集群(4)配置时间同步服务安装NTP服务;设置master节点为NTP服务主节点;修改从节点的ntp.conf文件;关闭防火墙;启动NTP服务。Hadoop集群安装与配置1.搭建Hadoop完全分布式集群(5)启动/关闭Hadoop集群配置环境变量;格式化NameNode;Hadoop集群安装与配置1.搭建Hadoop完全分布式集群(5)启动/关闭Hadoop集群启动Hadoop集群;查看节点进程;关闭Hadoop集群。Hadoop集群安装与配置Hadoop集群的相关监控服务修改本地计算机host文件。Hadoop集群安装与配置2.监控集群服务Web接口默认端口NameNodehttp://namenode_host:port/50070ResourceManagerhttp://resourcemanager_host:port/8088MapReduceJobHistoryServerhttp://jobhistoryserver_host:port/19888(1)HDFS监控Hadoop集群安装与配置2.监控集群(2)YARN监控Hadoop集群安装与配置2.监控集群(3)日志监控Hadoop集群安装与配置2.监控集群(1)HDFS简介HDFS是以分布式方式进行存储的文件系统,主要负责集群数据的存储与读取。HDFS是一个主从(Master-Slave)结构的分布式文件系统,HDFS支持传统的层次型文件组织结构。HDFS名称空间的层次结构和大多数现有的文件系统类似,可以通过文件路径对文件执行创建、读取、更新和删除操作。Hadoop框架组成1.HDFS(1)HDFS简介HDFS的基本架构Hadoop框架组成(2)HDFS工作原理分布式系统会划分成多个子系统或模块,各自运行在不同的机器上,子系统或模块之间通过网络通信进行协作,最终实现整体功能。利用多个节点协作完成一个或多个具体业务功能的系统就是分布式系统。其中,分布式文件系统是分布式系统的一个子集,分布式文件系统解决的是数据存储问题,换句话说,它是横跨在多台计算机上的存储系统。存储在分布式文件系统中的数据会自动分布在不同的节点中。Hadoop框架组成1.HDFS(2)HDFS工作原理HDFS是分布在多个集群节点中的文件系统。数据存储时被分布在多个节点中。数据从多个节点中读取。读取一个文件时,从多个节点中找到该文件的数据块,分别读取所有数据块直到最后一个数据块读取完毕。Hadoop框架组成(3)HDFS特点优点高容错性。适合大数据的处理。流式数据访问。Hadoop框架组成1.HDFS(3)HDFS特点缺点不适合低延迟数据访问。无法高效存储大量小文件。不支持多用户写入及在文件任意位置修改文件。Hadoop框架组成(1)MapReduce简介MapReduce是Hadoop的核心计算框架,适用于大规模(大于1TB)数据集并行运算的编程模型。主要包括Map(映射)和Reduce(规约)两部分。当启动一个MapReduce任务时,Map端会读取HDFS中的数据,并将数据映射成所需要的键值对类型传到Reduce端。Reduce端接收Map端传送过来的键值对类型的数据,根据不同键进行分组,对每一组键相同的数据进行处理,得到新的键值对并输出到HDFS中,这就是MapReduce的核心思想。Hadoop框架组成2.MapReduce(2)MapReduce工作原理MapReduce作业执行流程Hadoop框架组成2.MapReduce(2)MapReduce工作原理MapReduce的本质Hadoop框架组成(2)MapReduce工作原理MapReduce实例Hadoop框架组成(1)YARN简介HadoopYARN提供了一个更加通用的资源管理和分布式应用框架。用户可以根据自己的需求实现定制化的数据处理框架。HadoopMapReduce也是YARN中的一个框架。YARN的另一个目标是拓展Hadoop,使得Hadoop不仅可以支持MapReduce计算,还能很方便地管理诸如Hive、HBase、Pig、Spark/Shark等应用。YARN的这种新的架构设计能够使得各种类型的应用运行在Hadoop中,并通过YARN从系统层面进行统一管理,也就是说,有了YARN,各种应用可以互不干扰地运行在同一个Hadoop系统中,共享整个集群资源。Hadoop框架组成3.YARN(2)YARN基本架构YARN总体上仍然是主从结构。YARN主要由ResourceManager、NodeManager、ApplicationMaster和ClientApplication等构成。Hadoop框架组成3.YARN(3)YARN工作流程Hadoop框架组成3.YARN使用CentOS6.8的Linux操作系统。使用JDK1.7。使用Hadoop2.6.4的4个节点的集群(其中包含1个主节点和3个从节点)。Hadoop应用实践1.实践环境HDFS中有一个日志文件/user/root/email_log.txt,每一行记录是一个用户名,表示用户登录了一次网站。要求统计每个用户登录的次数,提交MapReduce任务给集群运行,并将统计结果存储到HDFS中。Hadoop应用实践2.实践内容启动Hadoop集群提交MapReduce任务时通常使用hadoopjar命令,其语法格式如下。hadoopjar<jar>[mainClass]args提交MapReduce任务的命令Hadoop应用实践3.实践步骤查看统计结果第1列表示用户名,第2列表示该用户的登录次数。Hadoop应用实践1Hive基础目录Hadoop基础2Spark基础3Hive最初是由Facebook设计的,是基于Hadoop的数据仓库工具,是对大规模数据的抽取、转换、装载方法(ExtractTransformationLoadMethod,ETL),它可以将结构化的数据文件映射为一张数据库表,用来存储、查询和分析存储在Hadoop中的大规模数据。Hive中定义了简单的类SQL查询语言,称为HiveQL,使用HiveQL可将数据操作转换为复杂的MapReduce运行在Hadoop大数据平台上。Hive允许熟悉SQL的用户基于Hadoop框架分析数据,其优点是学习成本低,对于简单的统计分析,不必开发专门的MapReduce程序,直接通过HiveQL即可实现。Hive概述1.Hive的基本概念Hive是一款分析历史数据的利器,但是Hive只有在结构化数据的情况下才能大显“神威”。Hive不支持联机事务处理(OnlineTransactionProcessing,OLTP),也不提供实时查询功能,即Hive处理有延迟性。Hive较为适合的使用场景是大数据集的批处理作业,如网络日志分析或者海量结构化数据离线分析。Hive概述(1)优点可扩展性。延展性。良好的容错性。更友好的接口。更低的学习成本。Hive概述2.Hive的特点(2)缺点Hive的HiveQL表达能力有限。
Hive的效率较低。Hive概述2.Hive的特点Hive目前主要应用在日志分析,以及海量结构化数据离线分析、数据挖掘、数据分析等方面。Hive不适用于复杂的机器学习算法、复杂的科学计算等场景。Hive虽然是针对批量、长时间数据分析设计的,但是它并不能做到交互式地实时查询。Hive概述3.Hive的应用场景Hive与传统数据库的对比Hive概述4.Hive与传统数据库的区别对比项Hive传统数据库查询语言HiveQLSQL数据存储HDFS块设备、本地文件系统数据更新不支持支持处理数据规模大小可扩展性高低执行MapReduce执行引擎执行延时高低模式读模式写模式事务不支持支持(1)在线安装保证Linux操作系统联网,同时保证YUM源可用;使用yum命令在线安装MySQL。Hive安装与配置1.MySQL安装与配置(2)离线安装预先下载必要的安装包,包括MySQL-server-5.6.28-1.el6.x86_64.rpm、MySQL-client-5.6.28-1.el6.x86_64.rpm、MySQL-devel-5.6.28-1.el6.x86_64.rpm。使用rpm命令依次安装MySQL安装包。Hive安装与配置1.MySQL安装与配置(3)MySQL开启远程访问权限针对root用户,设置密码为123456。执行命令“mysql”,进入MySQL终端;在MySQL的终端开启远程访问权限。Hive安装与配置1.MySQL安装与配置(4)启动MySQL服务修改完MySQL的远程访问权限后,使用root用户与密码开启MySQL服务并进入MySQL终端。Hive安装与配置1.MySQL安装与配置将Hive的安装包apache-hive-1.2.1-bin.tar.gz上传到虚拟机master的/opt目录下,并将其解压到/usr/local目录下;将Hive的源码包apache-hive-1.2.1-src.tar.gz上传到虚拟机master的/opt目录下,并将其解压到/usr/local目录下。进入解压后的文件目录/apache-hive-1.2.1-src/hwi/web,生成WAR包,并将生成的WAR包复制到Hive安装包的lib目录下;Hive安装与配置2.Hive安装与配置复制$HIVE_HOME/conf目录下的hive-env.sh.template为hive-env.sh,并修改hive-env.sh文件;编辑/etc/profile文件,文件修改完成后保存并退出,使用source命令使配置生效;复制$HIVE_HOME/conf目录下的hive-default.xml.template为hive-site.xml,配置hive-site.xml文件;配置JAR包;启动Hive。Hive安装与配置Hive的体系架构Hive体系架构(1)Hive的命令行模式通过直接执行命令“hive”可进入Hive。启动之后可通过执行“jp”命令查看RunJar进程。Hive体系架构1.用户接口(2)Hive的Web模式执行HiveWeb界面的启动命令“hive--servicehwi”;通过浏览器访问“http://master:9999/hwi/”,进入HiveWeb界面。Hive体系架构1.用户接口(3)Hive的远程服务模式执行命令“hive--servicehiveserver2&”;执行命令“netstat-ntpl|grep10000”,若可以看到10000端口已绑定IP地址,则表示正常启动。通过Java数据库互连(JavaDatabaseConnectivity,JDBC)访问Hive时使用了这种启动方式,Hive的JDBC连接和MySQL类似。Hive体系架构1.用户接口Hive将元数据存储在数据库中,常用的数据库是MySQL和Derby,其中元数据存储依赖于MetaStoreDB服务。Hive中的元数据包括表名、表的列和分区及其属性、表的属性(是否为外部表)、表的数据所在目录等。Hive默认将元数据存储在内嵌的Derby中。如果使用默认的数据库Derby,那么只能允许一个会话连接,只适合进行简单的测试。使用MySQL作为元数据库可以满足支持多用户会话。同时,Hive内部对MySQL提供了很好的支持。Hive体系架构2.Hive的元数据存储Hive启动之后会在元数据库中创建元数据字典信息表。Hive体系架构表名说明BUCKETING_COLSHive表CLUSTEREDBY字段信息(字段名、字段序号)COLUMNSHive表字段信息(字段注释、字段名、字段类型、字段序号)DBSHive中所有数据库的基本信息NUCLEUS_TABLES元数据表和Hive中类(class)的对应关系PARTITIONSHive表分区信息(创建时间、具体的分区)PARTITION_KEYSHive分区表分区键(名称、类型、字段注释、序号)PARTITION_KEY_VALSHive表分区名(键值、序号)SDS所有Hive表、表分区所对应的HDFS数据目录和数据格式SEQUENCE_TABLEHive对象的下一个可用IDSERDESHive表序列化、反序列化使用的类库信息SERDE_PARAMS序列化、反序列化信息,如行分隔符、列分隔符、NULL的表示字符等SORT_COLSHive表SORTEDBY字段信息(字段名、排序类型、字段序号)TABLE_PARAMS表级属性,如是否是外部表、表注释等TBLS所有Hive表的基本信息Hive创建表的整个过程如下:用户提交HiveQL语句→对其进行解析→分解为表、字段、分区等Hive对象。根据解析到的信息构建对应的表、字段、分区等对象,从SEQUENCE_TABLE中获取对象的最新ID,与构建对象信息(如名称、类型等)一同通过数据访问对象(DataAccessObject,DAO)方法写入元数据表,成功后将SEQUENCE_TABLE中对应的最新ID加5。Hive体系架构Driver组件包括编译器、优化器和执行器。Driver的作用是完成HiveQL查询语句从词法分析、语法分析、编译、优化以及逻辑计划的生成,随后调用底层的MapReduce计算框架执行。Hive体系架构3.Driver组件Hive没有专门的数据存储格式,也没有为数据建立索引。用户可以自由地组织Hive中的表,只需要在创建表时告诉Hive数据中的列分隔符和行分隔符,Hive就可以解析数据。Hive中所有的数据都存储在HDFS中。Hive中的表和数据库中的表在概念上类似,每一个表在HDFS中都有一个相应的目录来存储数据。Hive体系架构4.数据存储外部表和表的主要区别是对数据的管理。外部表数据存储在建表时由关键字location指定的目录下,且当外部表删除时,只删除外部表的结构,而不删除数据。分区对应数据中分区列的密集索引,但是Hive中分区的组织方式和数据库中分区的组织方式不同。在Hive中,表中的一个分区对应表中的一个目录,所有分区的数据都存在对应的目录下。桶对指定列计算Hash(哈希)值,根据Hash值切分数据,其目的是能并行处理,每个桶在HDFS中对应一个文件。Hive体系架构使用CentOS6.8的Linux操作系统。使用JDK1.8。使用Hadoop2.6.4的4个节点的集群(其中包含1个主节点和3个从节点)。使用apache-hive-1.2.1-bin版本的Hive。Hive应用实践1.实践环境航空公司客户价值数据文件air_data_base.txt,一个客户的信息为一行数据。Hive应用实践2.实践内容要求对该数据进行数据探索分析,统计SUM_YR_1(观测窗口的票价收入)、SEG_KM_SUM(观测窗口的总飞行千米数)、AVG_DISCOUNT(平均折扣率)3个字段的空值记录数及最小值。对数据进行数据清洗,对数据中存在的缺失值、票价为0或平均折扣率为0的数据等进行丢弃处理。对数据进行属性规约,根据航空公司客户价值LRFMC模型,选择与LRFMC指标相关的6个字段:FFP_DATE、LOAD_TIME、FLIGHT_COUNT、AVG_DISCOUNT、SEG_KM_SUM、LAST_TO_END。Hive应用实践对数据进行数据转换,构造LRFMC的5个指标,并统计5个指标的取值范围。其中,5个指标分别如下。会员入会时间距离观测窗口结束的月数=观测窗口的结束时间-入会时间[单位:月],即L=LOAD_TIME-FFP_DATE。客户最近一次乘坐公司飞机距观测窗口结束的月数=最后一次乘机时间至观测窗口末端时长[单位:月],即R=LAST_TO_END。客户在观测窗口内乘坐公司飞机的次数=观测窗口的飞行次数[单位:次],即F=FLIGHT_COUNT。客户在观测时间内在公司累计的飞行里程=观测窗口总飞行千米数[单位:千米],即M=SEG_KM_SUM。客户在观测时间内乘坐舱位所对应的折扣率的平均值=平均折扣率,即C=AVG_DISCOUNT。Hive应用实践将文件air_data_base.txt通过Xshell的文件资源管理器上传到master节点的/opt/data目录下,若目录不存在,则执行命令“mkdir-p/opt/data”进行创建目录操作。启动Hive前,先启动Hadoop集群和开启MySQL服务,然后执行命令“hive--servicemetastore&”启动Hive服务,再执行命令“hive”以进入Hive。创建Hive数据表前应通过执行“createdatabase”命令创建数据库,并在数据库中进行表的创建等操作。创建表后,需将数据导入air_data_base表,数据导入完成后可通过执行“select”命令查询air_data_base表的内容。Hive应用实践3.实践步骤统计SUM_YR_1、SEG_KM_SUM、AVG_DISCOUNT这3个字段的空值记录数,并将统计结果保存到null_count表中。统计SUM_YR_1、SEG_KM_SUM、AVG_DISCOUNT这3个字段的最小值并将统计结果保存到min_count表中。Hive应用实践对数据进行数据清洗丢弃票价为空的记录,将结果存储到sum_yr_1_not_null表中。丢弃平均折扣率为0的记录,将结果存储到avg_discount_not_0表中。丢弃票价为0、平均折扣率不为0、总飞行千米数大于0的记录,将结果存储到sum_0_seg_avg_not_0表中。对数据进行属性规约,从数据清洗结果中选择6个属性——FFP_DATE、LOAD_TIME、FLIGHT_COUNT、AVG_DISCOUNT、SEG_KM_SUM、LAST_TO_END,形成数据集,存储到flfasl表中。Hive应用实践根据属性构造,基于属性规约数据结果,对数据进行数据转换,构造LRFMC的5个指标,并将结果存储到lrfmc表中。根据lrfmc表,统计LRFMC的5个指标的取值范围,并将结果存储到max_min表中。Hive应用实践1Hive基础目录Hadoop基础2Spark基础3大数据技术的蓬勃发展,使得基于开源技术的Hadoop在相关行业中的应用越来越广泛。但是Hadoop本身存在着诸多缺陷,其最主要的缺陷是MapReduce计算模型延迟过高,无法满足实时、快速计算的需求。Spark的出现弥补了MapReduce的缺陷。Spark借鉴了MapReduce分布式计算的优点的同时,弥补了MapReduce的明显缺陷。Spark的中间数据计算结果可以保存在内存中,大大减少了对HDFS进行读写操作的次数,因此Spark可以更好地适用于数据挖掘与机器学习中需要迭代的算法。Spark概述基于内存计算的大数据并行计算框架——Spark,于2009年在美国加利福尼亚大学伯克利分校的AMP实验室诞生,它可用于构建大型的、低延迟的数据分析应用程序。2013年,Spark加入Apache孵化器项目后,发展十分迅速。目前,Spark是Apache软件基金会旗下的顶级开源项目之一。Spark最初的设计目标是提高运行速度,使数据分析更快,以及快速简便地编写程序。Spark提供了内存计算和基于DAG的任务调度执行机制,使程序运行更快,同时减少了迭代计算时的I/O开销。Spark使用简练、优雅的Scala语言编写而成,使编写程序更为容易,且Spark基于Scala提供了交互式的编程体验。Spark支持Scala、Java、Python、R等多种编程语言。Spark概述1.Spark的基本概念Spark概述2.Spark的发展历程快速易用通用随处运行代码简洁Spark概述3.Spark的特点Spark概述4.Spark生态系统(1)腾讯广点通是最早使用Spark的应用之一。腾讯大数据精准推荐借助Spark快速迭代的优势,围绕“数据+算法+系统”技术方案,实现了“数据实时采集、算法实时训练、系统实时预测”的全流程实时并行高维算法,最终成功应用于广点通广告投放系统上,支持每天上百亿的请求量。Spark概述5.Spark的应用场景(2)淘宝公司淘宝技术团队使用Spark解决多次迭代的机器学习算法、高计算复杂度的算法等,将Spark运用于淘宝的推荐相关算法上,同时利用GraphX解决了许多生产问题,包括以下计算场景:基于度分布的中枢节点发现、基于最大连通图的社区发现、基于三角形计数的关系衡量和基于随机游走的用户属性传播等。Spark概述5.Spark的应用场景(3)优酷土豆公司目前,Spark已经广泛应用在优酷土豆的视频推荐、广告业务等方面。Spark交互查询响应快,性能是Hadoop的若干倍。使用Spark模拟广告投放不但计算效率高,而且延迟低(同Hadoop相比,延迟至少降低一个数量级)。此外,优酷土豆的视频推荐往往涉及机器学习及图计算,而使用Spark进行机器学习、图计算等迭代计算能够大大减少网络传输、数据落地等的次数,极大地提高计算性能。Spark概述5.Spark的应用场景(4)YahooYahoo将Spark用在AudienceExpansion中。AudienceExpansion是广告者寻找目标用户的一种方法,广告者先提供一些观看了广告并且购买产品的样本客户,据此进行学习,寻找更多可能转化的用户,对这些用户定向投放广告。Yahoo采用的算法是逻辑回归。同时,由于某些SQL负载需要更高的服务质量,Yahoo又增加了专门运行Shark的大内存集群,用于取代商务智能(BusinessIntelligence,BI)/联机分析处理(OnlineAnalyticalProcessing,OLAP)工具,承担报表/仪表盘和交互式/即席查询,并与桌面BI工具对接。Spark概述5.Spark的应用场景Spark集群的拓扑Spark集群安装与配置将Spark安装包解压到/usr/local目录下。切换到Spark安装包的conf目录,复制spark-env.sh.template并将其重命名,得到spark-env.sh文件。打开spark-env.sh文件,并配置内容。复制slaves.template并将其重命名,得到slaves文件。打开slaves文件,配置内容,每行代表一个从节点主机名。复制spark-defaults.conf.template并将其重命名,得到spark-default.conf文件。打开spark-default.conf文件,配置文件内容。在master节点上将配置好的Spark目录复制到slave1、slave2、slave3中。Spark集群安装与配置启动Hadoop集群,创建spark-logs目录。启动Spark集群之前(已启动Hadoop集群),先通过执行命令“jps”查看进程。进入Spark安装目录的sbin目录,启动Spark独立集群。通过执行命令“jps”查看进程。Spark集群安装与配置Spark独立集群启动后,通过“http://master:7077”访问主节点,进入监控界面。Spark集群安装与配置通过浏览器访问“http://master:8020”,即可进入HistoryServer监控界面。Spark集群安装与配置Spark集群架构客户端程序用户提交作业的客户端。Driver运行Application的main函数并创建SparkContext。Application是用户编写的Spark应用程序,包含Driver功能的代码和分布在集群中多个节点上的Executor代码。SparkContext应用上下文,负责控制整个Spark生命周期。Spark集群
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 13《桥》教学设计-2024-2025学年六年级语文上册统编版
- 老年疾病与照护模拟考试题与参考答案
- 建筑工程安全生产技术模拟考试题含参考答案
- 《求一个数是另一个数的几倍》(教学设计 )-2024-2025学年三年级上册数学人教版
- 第1单元第2课《轻松上路-规划网站及创建站点》-教学设计2023-2024学年清华大学版(2012)初中信息技术八年级下册
- 七年级下册语文第十八课测试卷部编版及答案
- 实 践 调研我国造船与航海方面的成就(教学设计)-2024-2025学年沪科版物理八年级下册
- 人教版七年级历史与社会上册 3.3.3水上都市教学设计
- 第二单元课题3制取氧气第二课时教学设计-2024-2025学年九年级化学人教版(2024)上册
- 2025至2030年中国油压装置数据监测研究报告
- 人教版PEP三年级到六年级单词以及重点句型
- 中建总承包项目高支模专项施工方案含计算书
- 酒店住宿服务合同三篇
- 学校疫情防控学校传染病疫情及突发公共卫生事件报告制度
- 神经重症患者镇痛镇静中国共识(2023版)
- 卫生监督协管员培训课件
- 四川省绵阳市(2024年-2025年小学五年级语文)统编版期末考试(上学期)试卷及答案
- 《超级操盘手训练营》课件
- 《传感器技术与应用》课程教学大纲
- 新能源汽车驱动电机及控制系统检修课件 学习情境3:驱动电机的检修
- DB43T 744-2012 锰水质在线自动分析仪
评论
0/150
提交评论