Spark PairRDDFunctions(reduceByKey、combineByKey、aggregateByKey、groupBykey之间的区别和联系) spark 键值对RDD算子简介 :reduceByKey、combineByKey、aggregateByKey、groupBykey之间的区别和联系
flink多流结合的方式 flink多流结合的方式1. join:可以连接两个不同类型的数据流;将两个流相同key的数据分配到同一个窗口的篮子中;窗口结束时,两个篮子的数据会做笛卡尔积计算,形成一个pair,然后对pair数据进行joinFunction的操作;因为window的数据都是在内存中,所以,当某个key对应的数据很大的时候可能造成OOM。// Join 操作侧重于对数据对的处理 val joined: JoinedStreams[(String, Int), (String, String)] = stre
Spark ML 学习:Pipline PiplinePiplines:就是一个工作流程,其中包含要按特定顺序运行的一系列PiplineStages(Transformer和Estimators);一个Pipline在结构上包含一个或多个Stage,每个Stage都会完成一个任务(数据处理、数据装换、模型训练、参数设置等)Transformers:将一个DataFrame转换成另一个DataFrameEstimators:主要做模型拟合,用来生成一个transformer。其他相关概念:DataFrameParame
CH9_高斯混合型(GMM)及其Spark实现 Spark自编程实现高斯混合型(GMM)1. EM算法简介EM算法是一种迭代算法,用于含有隐含变量的概率模型参数的极大似然估计,或极大后验概率估计,EM算法由两步组成:E步,求期望;M步,求极大。2. EM 算法步骤输入:观测变量数据Y,隐变量数据Z,联合分布P(Y,Z|θ),条件分布P(Z|Y,θ)输出:模型参数θ$1. 选择参数的初始值 \theta^{(0)},开始迭代$$2.E步:记\theta^{(i)} 为第i次迭代参数 \theta 的估计值,在第i+1次迭代E步,计算: $Q
CH6_逻辑回归(LR)及其Spark实现 1. 逻辑斯谛分布设X是连续随机变量,X服从逻辑斯谛分布是指X具有下列分布函数和密度函数:F(x)=P(X⩽x)=11+e(x−u)/γf(x)=F′(x)=e−(x−u)/γγ(1+e(x−u)/γ)2其中,u为位置参数,γ为形状参数F(x) = P(X \leqslant x) = \frac{1}{1+e^{(x-u)/\gamma}} \\f(x) = F^{'}(x) = \frac{e^{-(x-u)/\gamma}}{\gamma(1+e^{(x-u)/\gamma})^2} \\
大数据时代的“小数据 系列3 --Shapiro-Wilk检验 什么是Shapiro-Wilk检验Shapiro-Wilk检验用来检验小样本数据是否数据符合正态分布。类似于回归的方法一样,计算一个相关系数,它越接近1就越表明数据和正态分布拟合得越好。构建检验统计量W建立原假设与备择假设原假设为H0:数据集符合正态分布;备择假设H1:数据集不符合正态分布。计算p值非正态分布的小样本数据在检验时也可能出现较大的W值。因此需要通过模拟或者查表来估计其概率。由于原假设是其符合正态分布,如果p值小于所选择的α水平,则拒绝零假设,如果p值大于所选择的α水平
CH5_决策树(ID3)及其spark实现 class DecisionTreeModel(data: DataFrame, labelColName: String, threshold: Double = 1e-2) { private val spark = data.sparkSession import spark.impli...
Scala实现:KD-Tree(k-dimensional tree) Scala实现:KD-Tree(k-dimensional tree)kd-tree是一种分割k维数据空间的数据结构。主要应用于多维空间数据的搜索,经常使用在SIFT、KNN等多维数据搜索的场景中,以KNN(K近邻)为例,使用线性搜索的方式效率低下,k-d树本质是对多维空间的划分,其每个节点都为k维点的二叉树kd-tree,因此可以大大提高搜索效率。KD-Tree的构建步骤:上述文字引自李...
Spark 本地连接OSS Spark 本地连接OSS1. 对象存储 OSS阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。在使用Hadoop和Spark及其周边系统来处理和分析自己的数据时,则需要创建阿里云的E-MapReduce集群进行处理。但是有时候,我们需要在本地环境下对程序进行调试,所以 本地的Spark环境能连接OSS...
已知一点经纬度及与另一点距离和航向,求另一点经纬度 已知一点经纬度及与另一点距离和航向,求另一点经纬度 /** * 已知一点经纬度及与另一点距离和航向,求另一点经纬度 * * @param lon 已知一点的经度 * @param lat 已知一点的纬度 * @param brng 已知一点与另一点的方向 (角度) * @param dist 已知一点与另一点的距离 :...
Scala实现DP(道格拉斯-普克)算法 Scala实现DP(道格拉斯-普克)算法DP算法介绍算法实现scala实现// 创建一个Point类case class Point(x: Double, y: Double)// 方法实现 def dp(pts: Seq[Point], tolerance: Double): Seq[Point] = { if (pts.size < 3) return p...
Flink实践: 异步IO 1.为什么需要异步IOflink在做实时处理时,有时候需要和外部数据交互,但是通常情况下这个交互过程是同步的,这样就会产生大量的等待时间;而异步操作可以在单个函数实例中同时处理多个请求,并且同时接收相应。这样等待时间就平均分摊到了多个请求上,大大减少了请求的等待时长,可以提高实时处理的吞吐量。2.使用flink异步IO的先决条件需要所连接的数据库支持异步客户端在没有异步客户端的情况下,...
大数据之统计学基础(二):随机变量及其概率分布 随机变量及其概率分布随机变量(r.v)是研究随机试验中的一串事件:比如掷一颗骰子,用X表示骰子的点数,由于X的取值我们无法确定,所以称X是一个随机变量,随机变量的取值随机会而定。1.随机变量的类型:1.1离散型:1.1.1 离散型r.v.X :离散型 r.v.X取有限或可数多个值:离散型随机变量的分布 (1)P(X=xk)=Pk k=1,2,3...nP(X...
Spark DataFrame中rollup和cube使用 Spark DataFrame中rollup和cube使用我们平时在做报表的时候,经常会有各种分维度的汇总计算,在spark中我们最常用的就是groupBy操作,groupBy就是按照给定的字段名分组,后面接sum、count、avg等聚合操作;在spark中也提供了rollup、cube这样的分组函数,接下来本文就以一个实例展示一下这两个函数的作用。我们先来看个需求:下面的表是某公司最近两年...