一、Spark 是什么
spark是一个用来实现快速而通用的集群计算平台。
spark各组件:
1. Spark core实现了spark的基本功能,包括任务调度,内存管理,错误恢复,与存储系统交互等模块。
spark core中还包含了对弹性分布式数据集(resilient distributed dataset,RDD)对API定义。
RDD表示分布在多个计算节点上可以并行操作对原属集合,是spark主要对变成抽象,Spark Core提供创建和操作这些集合的多个API
2. Spark SQL 是Spark用来操作结构化数据的程序包。可以用SQL和Hive版本(HQL)来查询数据。支持多种数据源(Hive表、Parquet、JSON等),支持将SQL和RDD编程的数据操作方式结合。
3. Spark Streaming 是Spark提供的对实时数据进行流式计算的组件。提供用来操作数据流的API,与Spark Core中的RDD API高度对应(数据流:如生产环境中的网页服务器日志,或网络服务中用户提交的状态更新组成的消息队列)
4. MLlib: Spark中提供常见的机器学习(ML)功能的程序库,提供多种机器学习算法,包括分类、回归、聚类、协同过滤、一个通用的梯度下降优化算法等,还提供模型评估,数据导入等额外的支持功能。
5. GraphX 是用来操作图(比如社交网络朋友