Spark组件介绍
来源:互联网 发布:苏州爱知科技福利待遇 编辑:程序博客网 时间:2024/06/06 13:01
Spark简介
Spark可以独立于Hadoop单独运行
Spark的设计理念
- 交互式和迭代式
- 在集群多点内存中运行的分布式计算
- 容错数据集合
同时Spark还支持使用不同的语言编程(Java,Scala,R,Python)
可以从不同的数据源获取数据(HDFS,Cassandra,HBase)
实现不同的功能Spark Core, Spark SQL, Spark Streaming, Spark MLIB和Graph X
运行模式
- 批处理 – 用于大规模的分布式数据处理
spark -submit xxx
- 流方式 – Spark流用来传送和处理实时数据
- 交互方式 – 常用于处理内存中的大块数据.较低的延迟性
spark-shell
pyspark
数据读写 Spark可以从以下系统访问数据
- Hadoop HDFS以及Hive, HBase等
- Amazon S3
- Cassandra, Mongodb
另外Spark还支持以下文件格式
- Text(包括CSV JSON等)
- SequenceFiles
- AVRO
- Parquet
Spark主要部件
- Spark Core: 包含spark的主要基本功能所有和RDD有关的API都出自于Spark Core.
- Spark SQL: Spark中用于结构化数据处理的软件包. 用户可以在Spark环境下用SQL语言处理数据.
- Spark Streaming: Spark中用来处理流数据的部件
- MLlib: Spark 中用来进行机器学习和数学建模的软件包
- GraphX: Spark 中用来进行图计算的函数库
- Cluster Managers: Spark 中用来管理集群或节点的软件平台.包括Hasoop YARN, Apache Mesos 和Standalone Scheduler
Spark各部件介绍
Spark Core
- Spark生态圈的核心:
- 负责从HDFS, Amazon S3和HBase等持久层读取数据
- 在YARN和Standalone为资源管理器调度Job完成分布式计算
包括两个重要部件
有向无环图(DAG)的分布式并行计算框架
反应RDD之间的依赖关系
提供Cache机制来支持多次迭代计算或者数据共享以减少迭代计算之间读取数据局的开销
根据用户端对RDD的指令进行优化以减少系统开销容错分布式数据RDD (Resilient Distributed Dataset)
RDD代表了一系列数据集合分布在机群的内存中。SPARK CORE 的任务是对这些数据进行分布式计算。
也就是说
SPARK CORE 就是 SPARK 功能调度中心,其中包括任务调动,内存管理,容错管理及存储管理。同时也是一些列应用程序的集中地。
这些应用程序用来定义和管理RDD (Resilient Distributed Dataset).
Spark SQL:
Spark 中用于结构化数据处理的软件包。用户用户可以在Spark环境下用SQL语言处理数据。
Spark Streaming:
Spark 中用来处理流数据的部件
MLlib:Spark
中用来进行机器学习和数学建模的软件包
GraphX:Spark
中用来进行图计算(如社交媒体关系) 的库函数
启动方式
Cluster Managers:包括Hadoop YARN方式启动, Apache Mesos, 和 Standalone Scheduler (Spark 自带的用于单机系统)
- Spark组件介绍
- Spark组件库及简要介绍
- spark介绍
- spark介绍
- spark介绍
- Spark 介绍
- spark 介绍
- Spark介绍
- spark入门之一 spark组件
- Spark 容器和组件
- Spark 容器和组件
- Flex4 Spark 组件生命周期
- Spark组件的benchmark
- spark的组件
- spark学习-核心组件
- <转>Spark 生态系统组件
- Spark 生态系统组件
- spark core组件:RDD、DataFrame和DataSet介绍、场景与比较
- Mysql备份和还原数据库
- 排序算法之插入排序以及二分插入排序
- imfilter
- 解决yum [Errno 256] No more mirrors to try
- java 异常
- Spark组件介绍
- 悬镜安全丨企业应急响应浅析,遇到网络攻击怎么办?
- 最短路径
- 20171023memo
- java加载tensorflow训练好的模型部署成service
- C#事件
- imresize
- JAVA面向对象练习02
- Qt的setMouseTracking使用