赞
踩
名称节点:NameNode
数据节点:DataNode
Hadoop与Spark
对比优点:
对比缺点:
spark与hadoop的统一部署:可以在YARN上统一部署各个计算框架。
Spark最初由美国加州大学伯克利分校的AMP实验室于2009年开发,是基于内存计算的大数据并行计算框架,可用于构建大型的、低延迟的数据分析应用程序。
特点:
spark的生态系统:
Spark采用Executor的优点:
spark的任务调度流程分为RDDObject、Stage、Task、Worker四个部分。
四种不通类型的部署方式:
StandAlone模式:使用Spark自带的集群资源管理器来管理整个CPU、内存资源调度。效率不高
Mesos模式:使用Mesos作为集群资源管理器。性能匹配好
Spark on Yarn:用的最多
Hadoop(伪分布式)+Spark(Local),Hadoop和Spark可以相互协作,由Hadoop的HDFS、HBase等组件负责数据的存储和管理,由Spark进行计算。
①准备资源
②创建Driver和Executor节点
②然后将应用程序的数据处理逻辑分解成一个一个的计算任务task。
③然后将任务task发到【已经分配资源】的计算节点executor上, 按照指定的计算模型进行数据计算。最后得到计算结果
增加并行度、减少通信开
shark提供了类似于关系型SQL的查询语言-----HiveQL,用户可以通过HiveQL语句快速实现简单的MapReduce统计,Hive自身可以自动将HiveQL语句快速转换成MapReduce任务进行运行。
用户需要从不通数据源执行各种操作,包括结构化喝非结构化数据;其次用户需要执行高级分析,如机器学习和图处理,在实际大数据中,经常需要融合关系查询和复杂分析算法,但是,一直以来都缺少这样的系统。
from pyspark import SparkContext,SparkConf
from pyspark.sql import SparkSession
spark = SparkSession.builder.config(conf = SparkConf()).getOrCreate()
利用反射机制推断RDD模式:利用反射机制来推断包含特定类型对象的RDD的模式,适用于数据结构已知的RDD转换
使用编程方式定义RDD模式:使用编程接口构造一个模式,并将其应用在已知的RDD上,适用于数据结构未知的RDD转换
流计算需求:
Spark Streaming和Storm最大的区别在于,Spark Streaming无法实现毫秒级的流计算,而storm可以实现毫秒级的流计算
Spark Streaming难以满足实时性要求非常高的场景,但足以胜任其他实时计算场景,相比之下,Storm处理数据单元为元组,只会产生极小的延迟。
Spark Streaming构建在Spark Core上,因为spark低延迟执行引擎可以用于实时计算,相比于Strom,RDD数据集更易于进行高效的容错处理。
Spark Streaming采用小批量处理的方式,使得它可以同事兼容批量和实时数据处理的逻辑和算法,便于在一些需要历史数据和实时数据联合分析的特定应用场景使用。
1.通过创建输入DStream来定义输入源
2.通过对DStream应用转换操作和输出操作来定义流计算
3.通过StreamingContext对象的start()方法来开始接收数据和处理流程
4.通过调用StreamContext对象的awaitTermination()方法来等待流计算经常结束,或者也可以通过调用StreamingContext对象的stop()对象来手动结束流计算流程
Kafka及相关概念
Dstream转换包含无状态转换操作和有状态转换操作
Structured Streaming的关键思想是将实时数据流视为一张正在不断添加数据的表,这种新的流处理模型与批处理模型十分类似。
1.微批处理模型
Structured Streaming默认使用微批处理模型,这意味着Spark流计算引擎会定期检查流数据源,并对自上一批次结束后到达的新数据执行批量查询。
2.持续处理模型
微批处理的数据延迟对于大多数实际的流式工作负载已经足够了,但一些场景确实需要更低的延迟
(1)导入pyspark模块
(2)创建SparkSession对象
(3)创建输入数据源
(4)定义流计算过程
(5)启动流计算并输出结果
Structured sreaming处理的数据与Spark Streaming一样,也是源源不断的数据流,它们之间的区别在于,Spark Streaming采用的数据抽象是DStream(本质上就是一系列RDD),而Structured Streaming采用的数据抽象是DataFrame。Structured Streaming可以使用Spark SQL的DataFrame/Dataset来处理数据流。虽然Spark SQL也是采用DataFrame作为数据抽象,但是,SparkSOL只能处理静态的数据,而Structured Steaming可以处理结构化的数据流。这样一来,Struetured Streaming就将Spark SQL和SparkStreaming二者的特性结合起来。Structured Streaming可以对DataFrame/Dataset应用前面章节提到的名种操作,包括select、where、groupBy、map、filter、fatMap等。此外,Spark Streaming只能实现秒级的实时响应,而Stuctured Streaming由于采用了全新的设计方式,采用微批处理模型时可以实现 100毫秒级别的实时响应,采用持续处理模型时可以支持毫秒级的实时响应。
File源
算法工具:常用的学习算法,如分类、回归、聚类和协同过滤;
特征化工具:特征提取、转化、降维和选择工具;
流水线(Pipeline):用于构建、评估和调整机器学习工作流的工具;
持久性:保存和加载算法、模型和管道;
实用工具:线性代数、统计、数据处理等工具。
本地向量分为稠密向量(DenseVector)和稀疏向量(SparseVector)
标注点是一种带有标签的本地向量,可以是稠密向量也可以是稀疏向量
本地矩阵具有整型的行、列索引值和双精度浮点型的元素值,并存储在单机上
1.DataFrame
2.转换器(Transformer)
3.评估器(Estimator)
4.流水线(Pipeline)
5.参数(Parameter)
1.特征提取:从原始数据中抽取特征
2.特征转换:缩放、转换和修改特征
3.特征选择:从较大特征集中选取特征子集
分类
逻辑斯蒂回归分类器
P(Y = 1|x)= exp(w * x+b)/1+exp(wx+b)
P(Y = 0|x)= 1/1+exp(wx+b)
决策树分类器
1.信息增益:
G(D,A)=H(D)-H(D|A)
2.信息增益比
Gr(D,A)=G(D,A)/HA(d)
3.基尼指数:
Gini§=k=1,pk(1-pk)=1-k=1,pk2
聚类
1.每个蔟至少包含一个数据对象
2.每个数据对象仅属于一个蔟
K-Means聚类算法
1.根据给定的k值,选取k个样本点作为初始划分中心。
2.计算所有样本店到每一个划分中心的距离,并将所有样本店划分到距离最近的划分中心
3.计算每个划分样本店的平均值,并将其作为新的中心
4.循环进行步骤(2)和(3)至最大迭代次数,或划分中心的变化小于某一预定义阈值
高斯混合模型(GMM)
P(x)=i=1,k++,wi*p(x|μi,累加i)
1.待调优的算法或流水线
2.一系列参数表,是可选参数
3.评估模型拟合程度的准则和方法
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。