大数据挖掘笔记

1、度量给定词语在少数文档中的重要性:TF.IDF得分

其中:tfij指词项i在文档j的词项频率,idfi指词项i在文档集中出现的逆文档频率。

词项频率:     逆文档频率:

例如:文档集有2^20篇文档,w在其中2^10篇中出现,在文档k中,只出现1次,该文档任一赐予做多出现20次。

于是有:tf(w,k) = 1/20, idf(w) = log(2^20/2^10) = 10, 则词项w在文档k中的TF.IDF得分为1/20 * 10 = 1/2。


2、哈希函数

哈希函数 h(键值) = 桶编号,桶的个数为整数B(通常为素数), 桶编号0~B-1。函数h会将数目近似相等的哈希键值分配到每个桶中。这里的桶是内存中的一个记录表。

简单的实现函数h(x) = x mod B


3.索引

支持对象高效查找的数据结构。例如三元组<姓名,地址,电话号码>,给定电话号码,基于索引快速找到该号码的记录。

索引基于电话号码字段构建,桶头构成的数组,每个桶采用链表结构。


4.二级存储器

磁盘组织成块结构,每个块是操作系统用于内存和磁盘传输数据的最小单元,Windows中块为64KB。磁盘访问时间10ms,比内存访问延迟5个数量级。(内存快多了)

磁盘到内存传送速度不超过100MB/s。


5.MapReduce系统

基于大规模数据的计算实现,支持计算过程硬件容错性。最大的开销来源于通信(折中并行度)。


6.集群计算

节点存放在机架,每个机架8-64个节点,单个机架网络互连(千兆以太网),机架之间带宽略高以机架以太网。

故障模式:单节点故障(硬盘崩溃)+单机架故障(机架内节点互连及机架间网络故障)

解决方式:多副本存储+多任务执行


7.分布式文件系统DFS

文件非常大+文件极少更新

文件块(chunk)64MB,多副本(三份)。主节点块(名字节点)有多个副本,文件系统总目录寻找主节点副本。总目录也有多个副本。


8.MapReduce计算过程

(1)多Map任务:输入多个文件块,Map任务将文件转化为一个key-value对序列。

(2)主控制器:从每个Map收集key-value对,按照键值大小排序,相同key-value分发到一个Reduce任务。

(3)reduce任务:每次作用于一个键,组合。


9.Map任务

输入文件由多个元素组成,元素为任意类型(元组或文档)。文档文件块为一系列元素集合,同一元素不能跨文件块存储。

例如:统计每个词语在整个文档集中出现的次数。

输入文件:文档集,每篇文档为一个元素。    Map读入一篇文档切分词语序列,输出key-value对。


10.按键分组

分组由系统完成,合并文件产生key-value对关联值表传给Reduce。


11.Reduce任务

输入文件:key-value对(键相同)。    输出:key-value对序列。


12.MR执行细节

用户程序fork一个主控程序创建一定数目的Map任务和Reduce任务,分配给不同的工作进程。记录每个Map和Reduce的运行状态,给工作进程分配新的任务。

每个Map任务分配到一个或多个文件块,给每个Reduce任务创建一个文件并分配。尽量创建更少的Reduce任务。这些文件的位置和大小都被通知给主控进程。


13.节点失效

主控进程崩溃:任务终止,作业重启。  Map节点崩溃:“闲置”,重启,通知Reduce位置。  Reduce节点崩溃:“闲置”。


14.MapReduce场景与通信开销的关系

Reduce规模(单键元素数目上限)选择:设置足够小,避免主存和磁盘反复移动数据。

复制率:从Map任务到Reduce任务每个输入的平均通信开销。


15.Jaccard相似度

计算交集的相对大小来获得集合之间的相似度。


应用:(1)大语料库(Web或新闻资料)中寻找文本内容相似的文档。

(2)协同过滤:在线购物、电影评级


16.文档shingling

k-shingle:一片文档(长字符串),可以看作是任意长度为k的子串组成的集合。

shingle大小的选择:依赖于文档的典型长度以及字符表大小。邮件k=5,大文档k=9.

shingle哈希:通过haxi函数将长度为k的字符串映射为桶编号。压缩。


17.最小哈希

特征矩阵的最小哈希:任意一列的最小哈希值是在排列转换后的行排列次序下第一个列值为1的行的行号。

与Jaccard相似度关系:两个集合随机排列转换之后得到的两个最小哈希值相等的概率等于这两个集合的Jaccard相似度。

最小哈希签名:对特征矩阵M随机选择n个排列,调用最小哈希函数h构成最小哈希签名(列向量)。

随机哈希函数:模拟随机排列,将行号映射到与行数目相同的桶中。


18.局部敏感哈希LSH

只关注那些可能相似的文档,从而减少计算量。

对目标项进行多次哈希处理,使得相似项更可能哈希到同一桶中,将其看作候选对。

应用:实体关联、指纹匹配、新闻报道匹配


19.距离测度

欧式距离


Jaccard距离


余弦距离


曼哈顿距离

汉明距离:两个等长字符串s1与s2之间的汉明距离定义为将其中一个变为另外一个所需要作的最小替换次数。

相关系数


编辑距离:两个字符串x与y之间的编辑距离定义为将x转换为y单字节插入及删除操作的最小数目。等于x与y的长度之和减去它们LCS长度的两倍。


20.面向高相似度的方法:相等项发现、字符串表示、基于长度过滤、前缀索引、位置信息


21.数据流挖掘

流抽样:对任一到达流元素的键值哈希处理,不大于阈值的键值会加入样本。

布隆过滤:允许特定集合的元素通过,多个哈希函数构成的集合,只有所有哈希结果对应位置为1是接受该元素。


22.衰减窗口

为了不偏向早期出现的元素,数据流中元素设置权重,权重大小取决于其离当前元素时间的远近,流中越早出现的元素的权重越小。

应用:最流行元素的发现,电影票销售数据流中最热门电影的发现问题,每部电影都有独立的位流表示购票记录,位置对应当前电影,相应位置为0,否则为0.




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第一部分 Spark学习 6 第1章 Spark介绍 7 1.1 Spark简介与发展 7 1.2 Spark特点 7 1.3 Spark与Hadoop集成 7 1.4 Spark组件 8 第2章 Spark弹性分布数据集 9 2.1 弹性分布式数据集 9 2.2 MapReduce数据分享效率低 9 2.3 MapReduce进行迭代操作 9 2.4 MapReduce进行交互操作 10 2.5 Spark RDD数据分享 10 2.6 Spark RDD 迭代操作 10 2.7 Spark RDD交互操作 10 第3章 Spark安装 11 第4章 Spark CORE编程 13 4.1 Spark Shell 13 4.2 RDD Transformations 13 4.3 Actions 16 4.4 用RDD编程 17 4.5 UN-Persist存储 18 第5章 Spark调度与高级编程 20 5.1 Spark应用程序例子 20 5.2 Spark-submit语法 22 5.3 Spark变量 23 5.4 数字类型 RDD操作 23 第二部分 ZOOKEEPER学习 24 第6章 zookeeper介绍 25 6.1 zookeeper简介 25 6.2 分布式应用程序 25 6.3 Apache Zookeeper意味着什么? 26 第7章 zookeeper基本组成与工作程 27 第8章 zookeeper的leader节点选择 31 第9章 zookeeper安装 33 第10章 zookeeper 命令行接口 35 第11章 zookeeper应用程序接口 39 第12章 zookeeper应用 40 第三部分 KAFKA学习 48 第12章 KAFKA介绍 49 12.1 KAFKA简介 49 12.2信息系统 49 12.3 KAFKA是什么? 50 第13章 KAFKA基本组成与集群架构 51 13.1 KAFKA的基本组成 51 13.2 KAFKA集群架构 52 第14章 KAFKA工作程 53 14.1 PUB-SUB信息工作 53 14.2 队列信息工作/消费者组 53 14.3 Zookeeper在KAFKA中扮演的角色 54 第15章 KAFKA安装 55 第16章 KAFKA基本操作 56 16.1 启动zookeeper服务 56 16.2 单个单节点中间件配置 56 16.3 Topics列表 56 16.4 启动生产者发送信息 57 16.5 启动消费者接收信息 57 16.6 单个多节点中间件配置 57 16.7 创建一个topic 58 16.8 启动生产者发送信息 59 16.9 启动消费者接收信息 59 16.10 基本Topic操作 59 16.11 删除Topic 59 第17章 KAFKA 生产者与消费者群实例 60 17.1 生产者实例 60 17.2 简单消费者实例 63 17.3 消费者群例子 65 第18章 KAFKA与SPARK集成 67 18.1 Kafka与spark集成 67 18.2 SparkConf API 67 18.3 StreamingContext API 67 18.4 KafkaUtils API 67 18.5 建立脚本 69 18.6 编译/打包 69 18.7 提交到Spark 69 第四部分HIVE学习 70 第19章 HIVE介绍 71 19.1 HIVE是什么? 71 19.2 HIVE特点 71 19.3 HIVE架构 71 19.5 HIVE工作 72 第20章 HIVE 安装 74 20.1 Hadoop安装 74 20.2 HIVE安装 77 20.3 Derby安装与设置 78 第21章 HIVE 数据类型 80 21.1列类型(Column Type) 80 21.2文本类型(Literals) 81 21.3 Null 值 81 21.4 复杂类型 81 第22章 数据库操作 82 22.1 创建数据库 82 22.2 删除数据库 82 第23章 数据表操作 83 23.1 创建数据表 83 23.2 load数据(插入数据) 85 23.3 修改数据表(Alter table) 86 23.4 删除表(Drop table) 90 第24章 分区 92 24.1 添加分区(Adding a Partition) 93 24.2 重命名分区(Renaming a Partition) 93 24.3 删除分区(Droping a Partition) 93 第25章 内置运算符 94 25.1 关系运算符 94 25.2 算术运算符 96 25.3 逻辑运算符 97 25.4 复杂运算符(Complex Operators) 97 第26章 内置函数 98 26.1 内置函数 98 26.2 聚合函数(Aggregate Functions) 99 第27章 视图与索引 100 27.1 创建视图(Creating a View) 100 27.2 删除视图(Dropping a View) 100 27.3 创建索引(Creating an Index) 101 27.4 删除索引(Dropping an Index) 101 第28章 HIVEQL 102 28.1 查询语句(SELECT ...WHERE) 102 28.1.1 查询语句实例 102 28.1.2 JDBC查询语句实例 102 28.2 查询语句(SELECT...ORDER BY) 103 28.2.1 ORDER BY查询语句实例 103 28.2.2 JDBC ORDER BY 查询语句实例 104 28.3 查询语句(GROUP BY) 104 28.3.1 GROUP BY查询语句实例 104 28.3.2 JDBC GROUP BY查询语句实例 105 28.4 查询语句(JOIN) 106 28.4.1 JOIN查询语句实例 106
目录 第一部分 Spark学习 ....................................................................................................................... 6 第1章 Spark介绍 ................................................................................................................... 7 1.1 Spark简介与发展 ...................................................................................................... 7 1.2 Spark特点 .................................................................................................................. 7 1.3 Spark与Hadoop集成 ................................................................................................ 7 1.4 Spark组件 .................................................................................................................. 8 第2章 Spark弹性分布数据集 ............................................................................................... 9 2.1 弹性分布式数据集 .................................................................................................... 9 2.2 MapReduce数据分享效率低..................................................................................... 9 2.3 MapReduce进行迭代操作 ........................................................................................ 9 2.4 MapReduce进行交互操作 ...................................................................................... 10 2.5 Spark RDD数据分享 ............................................................................................... 10 2.6 Spark RDD 迭代操作 .............................................................................................. 10 2.7 Spark RDD交互操作 ............................................................................................... 10 第3章 Spark安装 ................................................................................................................. 11 第4章 Spark CORE编程 ....................................................................................................... 13 4.1 Spark Shell ........................................................
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值