概述

    Apache Spark提供了高级的Java、Scala和Python APIs,同时还拥有优化的引擎来支持常用的执行图。Spark还支持多样化的高级工具,其中包括了处理结构化数据和SQL的SparkSQL,处理机器学习的MLlib,图形处理的 GraphX,还有SparkStreaming。

    • 每一个应用有其独立的Executor进程,这些进程将会在应用整个生命周期内为应用服务,并且会在多个线程中执行任务tasks。这种做法能有效的隔离不同的应用,在调度和执行端都能很好的隔离(每个驱动调度自己的任务,不同的任务在不同的JVM中执行)。但是,这也意味着,如果不写入外部的存储设备,那数据就不能在不同的Spark 应用(SparkContext 实例)之中共享。
    • 因为驱动在集群中调度任务,它将在worker nodes(工作节点)附近运行,最好是在相同的局域网当中。如果你不喜欢远程向集群发送请求,那么最好为驱动打开一个RPC然后让其在附近提交操作而不是在远离worker nodes 处运行驱动。

    Spark-SequoiaDB 连接组件

    通过使用Spark-SequoiaDB连接组件,SequoiaDB可以作为Spark的数据源,从而可以通过SparkSQL实例对SequoiaDB数据存储引擎的数据进行查询、统计操作。