解释spark库之间的联系,例如SparkSQL,MLib,GraphX和Spark Streaming

时间:2018-05-07 16:03:02

标签: apache-spark apache-spark-sql spark-dataframe spark-streaming spark-graphx

解释库之间的连接,例如SparkSQL,MLib,GraphX和Spark Streaming,以及核心Spark平台

1 个答案:

答案 0 :(得分:1)

基本上,Spark是基础,是一种允许高性能大规模数据处理的引擎。它提供了一个用于使用隐式数据并行和容错进行编程的接口。

GraphX,MLlib,Spark Streaming和Spark SQL是构建在此引擎之上的模块,每个模块都有一个不同的目标。这些库中的每一个都有新的对象和函数,为某些类型的结构或特性提供支持。

例如:

  • GraphX是一个分布式图形处理模块,它允许表示图形并应用专门用于此类结构的高效转换,分区和算法。
  • MLlib是一个基于Spark的分布式机器学习模块,它实现了分类,回归,聚类等特定算法......
  • Spark SQL引入了 DataFrames 的概念,这是该模块中最重要的结构,允许应用SQL操作(例如选择其中 groupBy ,...)
  • Spark Streaming是核心Spark的扩展,它在迷你批次中提取数据并对这些迷你批次数据执行转换。 Spark Streaming内置支持来自Kafka,Flume和其他平台的消费

Spark ecosystem

您可以根据需要组合这些模块。例如,如果要处理大图以应用聚类算法,则可以使用 GraphX 提供的表示,并使用 MLlib 在此处应用K-means表示。

Doc