写点什么

数据应用总结二

用户头像
Mars
关注
发布于: 2021 年 01 月 17 日

大数据计算引擎 Spark

Spark VS Hadoop

Spark runtime time(s) :0.9

Hadoop runtime time(s) :110

Spark 特点:

l  DAG 切分的多阶段计算过程更快速。

l  使用内存存储中间计算结果更高效。

l  RDD(弹性分布式数据集)的编程模型更简单。

Spark wordCount 编程示例



1.       根据 HDFS 路径生成一个输入数据 RDD。

2.       在输入数据 RDD 上执行 3 个操作,得到一个新的 RDD。

       将输入的数据每一行进行分词。

       将每个单词进行转换,word -> (word,1)结构。

       将相同的 key 进行统计,对 value 求和。

3.       将 RDD 保存到 HDFS。

RDD 编程模型

RDD 是 spark 核心概念,是 spark 面向开发者的编程模型,又是 spark 自身架构的核心元素。

大数据计算就是在大规模数据集上进行一系列数据计算处理。MapReduce 针对输入数据,将计算数据分为两个阶段,一个是 map 阶段,一个是 reduce 阶段,可以理解为面向过程的大数据计算。MapReduce 编程是面向过程,需思考如何将计算逻辑用 map 和 reduce 两个阶段实现,map 和 reduce 的输入和输出是什么。

Spark 是直接针对数据编程,将大规模数据集抽象成一个 RDD 对象,然后在这个 RDD 上进行各种计算处理,得到一个新的 RDD,继续计算处理直到得到最后结果数据。所以 RDD 编程理解为是面向对象的大数据计算。

Spark 作业管理

Spark 中 RDD 函数分两种:

1.转换函数,调用后还是一个 RDD 函数。

2.action 函数:比如 count()函数,返回 RDD 中数据的元素个数。

Spark 执行过程

Spark 支持 standalone、yarn、Mesos、kubernetes 等多种部署方案,几种部署方案原理一样,只是不同组件角色命名不同,但核心功能和运行流程相似。



Spark 生态体系



流处理计算:Flink、Storm、Spark Streaming

Storm 实时的 Hadoop

实时计算系统

l  低延迟

l  高性能

l  分布式

l  可伸缩

l  高可用

Storm 基本概念



Nimbus:负责资源分配和任务调度。

Supervisor:负责接受 nimbus 分配的任务,启动和管理属于 supervisor 的 worker 进程。

Worker:运行具体处理组件逻辑的进程。

Task:Worker 中每一个 Spout/Bolt 的线程称为一个 Task。

Topology:storm 中运行的一个实时的应用程序,因为各个组件间的消息流动形成逻辑上的一个拓扑结构。

Spout:在一个 Topology 产生源数据流的组件,spout 从外部数据源读取数据,然后转换为 Topology 内部的源数据。Spout 是一个主动的角色,其接口有一个 nextTuple()函数,Storm 框架会不停调用此函数,用户只要在其中生成源数据即可。

Bolt:在一个 Topology 接收数据然后执行处理的组件,Bolt 可执行过滤、函数操作、合并、写库等任何操作,Bolt 是一个被动的角色,其接口中有一个 execute(Tuple input)函数,在接收到消息后调用此函数,用户可以在其中执行自己想要的操作。

Tuple:一次消息传递的基本单元。本应该是一个 key-value 的 map 结构,但由于各组件间传递的 Tuple 的字段名称已经定义好,所以 Tuple 中只要按序填入各个 value 就行,组成一个 value list。

Stream:源源不断传递的 tuple 就组成了 stream。

Spark streaming






大数据基准测试工具 HiBench

Hibench 主页

https://github.com/intel-hadoop/hibench

大数据分析与可视化

网站运营常用指标

新增用户数

用户留存率

用户流失率

活跃用户数

PV

GMV(成交总金额)

转换率

数据可视化图表与数据监控

折线图

散点图

热力图

漏斗图

 

分类和聚类算法

KNN 分类算法

KNN 算法,又叫 K 近邻(K Nearest Neighbour)

对于需要分类的数据,将其已和一组分类标注好的样本集合进行比较,得出距离最近的 K 个样本,K 个样本最多归属的类别,就是这个需要分类数据的类别。

数据的距离计算

欧式距离计算

余弦相似度计算

提取文本特征值 TF-IDF 算法

TF 是词频(Term Frequency)表示某个单词在文档中出现的频率。



IDF 是逆文档频率(Inverse Document Frequency),表示这个词在所有文档的稀缺程度。



贝叶斯分类算法



K-means 聚类算法

网页排名算法 PageRank

PageRank 让链接来投票

PageRank 通过网络的超链接来确定一个页面的等级。

一个页面的得票数由所有链向它页面的重要性决定。

推荐引擎算法

基于人口统计的推荐

基于商品属性的推荐

基于商品的协同过滤推荐

机器学习与神经网络算法

机器学习系统架构



样本

样本就是训练数据,包括输入和结果两部分。

模型

模型就是映射样本输入和样本结果的函数,可能是一个条件概率分布,也可能是一个决策函数。具体的机器学习系统所有可能的函数构成了模型的假设空间,数学表示是:


算法

算法就是从模型的假设空间中寻找一个最优的函数,使得样本空间的输入 X 经过该函数的映射得到 f(X) 和真实 Y 值之间的距离最小。这个最优函数没法直接得到,而是通过数值计算的方法不断迭代求解。

神经网络

l  神经网络在手写数字识别中的应用

l  神经网络与围棋 AI


发布于: 2021 年 01 月 17 日阅读数: 23
用户头像

Mars

关注

还未添加个人签名 2018.06.12 加入

还未添加个人简介

评论

发布
暂无评论
数据应用总结二