### RDD实现详解
RDD时Spark最基本的数据抽象
- 具备像MapReduce等数据流模型的容错性
- 并且允许开发人员在大型集群上执行基于内存的计算。
现有的数据流系统对两种应用的处理并不高效
- 迭代式算法(图应用和机器学习领域)
- 交互式数据挖掘工具
这两种情况下,将数据保存在内存中能够极大的提高性能。
为了有效的实现容错,RDD提供了一种高度受限的共享内存,即RDD是只读的,并且只能通过其他RDD上的批量操作来创建。
> 上面说的有些抽象哦,下面再详细介绍吧
Spark的目标是为了基于工作集的应用(即多个并行操作重用中间结果的应用)提供抽象。
#### 1. 什么是RDD
制度的、分区记录的集合。RDD只能基于在稳定物理存储中的数据集和其他已有的RDD上执行确定性操作来创建。
> RDD的创建
- 由一个已经存在的Scala集合创建
- 由外部存储系统的数据集创建,包括本地的文件系统,还有所有Hadoop支持的数据集,比如HDFS、HBase
RDD创建后,就可以在RDD上进行数据处理。
RDD支持两种操作:
- 转换(trans-formation):即从现有的数据集创建一个新的数据集
- 动作(action):即在数据集上进行计算后,返回一个值给Driver程序。
> RDD支持的转换: map、filter、flatMap、mapParttions、sample
#### 2. RDD的转换和DAG的生成
[Spark 在反作弊聚类场景的实践](https://blog.csdn.net/huangshulang1234/article/details/78828499)
[利用spark做文本聚类分析](https://blog.csdn.net/qq_30843221/article/details/54909788)
ifast
[知乎-该如何做大中型 UGC 平台(如新浪微博)的反垃圾(anti-spam)工作?](https://www.zhihu.com/question/20103086)
[Facebook 是怎么做反垃圾信息的 (antispam)? 都有哪些可取之处?](https://www.zhihu.com/question/29814056)
[知乎-反垃圾(Anti-Spam)](https://www.zhihu.com/topic/19570555/hot)
[反垃圾中的文本相似度对比是怎么做的?](https://www.zhihu.com/question/23945183)
- 在看的书和文章
- Java程序员手册
- 思维方式
- 面向服务
- Dubbo
- StringBoot
- 001.应用部署
- 002.注解学习
- SpringCloud
- SpringCloud入门
- Dbs
- 分布式
- Ffp
- 多线程
- 多线程小知识
- Java锁认识
- Netty
- Netty学习目录
- 读写事件流程分析与相关API
- 数据
- 大数据学习
- 学习目录
- Hadoop学习
- Hadoop组建安装
- ssh配置免密登陆
- Hadoop伪集群模式
- HBase伪集群模式
- Hive安装
- 常用操作命令
- 问题记录
- DOLIST
- 学习资料
- Spark
- 一些概念介绍
- 数据库
- Oracle相关
- 批量测试数据生成
- MySQL相关
- Redis
- 常用操作
- 机器学习
- 认识
- Kafka
- 监控
- 分布式相关
- RPC
- 中间件
- ElasticSearch
- ES环境搭建
- Python客户端创建索引
- Es的api常用操作
- SQL查询引擎
- Es数DB的数据同步
- ActiveMQ
- ActiveMQ介绍
- 分享
- Skyeye
- 组件安装配置
- Dubbo服务Demo应用部署
- Kafka安装配置
- RabbitMq配置
- Docker
- Docker学习文章
- Docker的大数据平台之路
- Docker环境搭建
- ubuntu16安装docker
- Docker镜像加速
- 使用Docker快速搭建中间件
- Docker环境使用mysql
- Docker环境的中间件搭建汇总
- Docker镜像容器管理
- Docker镜像创建
- Docker创建可用的系统容器
- Kubernetes
- etcd安装
- flanneld安装
- kubernetes环境安装
- kubernetes源码编译
- Linux相关
- Linux操作系统
- Deepin操作系统
- 新系统环境准备
- Linux系统小工具
- Linxu配置时间服务器同步
- DNS服务器dnsmasq
- Linux命令
- 常用命令
- 计算机基础
- README
- 数据结构
- 面试题总结
- 计算机组层原理
- 计算机组层原理
- 其它语言
- Python
- Python环境搭建
- Python学习总结
- Python语法学习
- Python模块学习
- MySQLdb
- scrapy
- Python的exception
- PythonNLP入门
- Go
- 工具组件
- Jenkins
- Jenkins认识
- Jenkins安装配置
- Jenkins插件使用
- Jenkins项目常用配置
- Git
- Git使用说明
- NLP
- 入门级别
- 一些概念
- faiss介绍
- WMD介绍