00 Spark Overview

作者: Whaatfor | 来源:发表于2020-06-20 22:10 被阅读0次

    转载请注明出处,谢谢合作~

    Spark 概述

    Apache Spark 是一个用于大规模数据处理的计算分析引擎,提供了不同语言(Java, Scala, Python, R)的 high-level API 和优化层来支撑通用性的执行流程图,同时提供了丰富的 higher-level 模块来应对不用的场景,包括采用 SQL 结构化数据处理的 Spark SQL 模块,适用于机器学习的 MLlib 模块,适用于图计算的 GraphX 模块,以及适用于增量计算和流式计算的 Structured Streaming 模块。

    安全

    Spark 中的安全机制默认是关闭的,这意味着在默认情况下你的 Spark 系统很容易收到攻击。请在下载和使用之前参考 Spark Security

    下载

    你可以从网站的下载页(downloads page)获取 Spark,该文档适用于 Spark 3.0.0 版本。Spark 采用 Hadoop 的客户端依赖库操作 HDFS 和 YARN,下载包提供了集成主流 Hadoop 版本的下载版本。用户也可以下载没有集成 Hadoop 的版本,通过配置 classpath 的方式(by augmenting Spark’s classpath)集成任意的 Hadoop 版本。Scala 和 Java 用户通过 Maven 将 Spark 融合到自己的项目当中,Python 用户可以通过 PyPI 安装 Spark。

    如果你想通过源码编译 Spark,参见 Building Spark

    Spark 可以运行在 Windows 或者 UNIX-like (e.g. Linux, Mac OS) 系统,前提是提供相应版本的 Java,即可以运行在 x86_64 和 ARM64 平台的 JVM。只要你的环境变量 PATH 中配置有 java 命令所在的路径或者包含指向 Java 安装目录的JAVA_HOME环境变量,就可以让 Spark 运行在任何一台机器上。

    Spark 依赖 Java 8/11,Scala 2.12,Python 2.7+/3.4+ 和 R 3.1+。在 Spark 3.0.0 版本中,Java 8u92 之前的版本被标记为弃用,Python 2 和 低于 3.6 的 Python 被标记为弃用,低于 3.4 版本的 R 被标记为弃用。Spark 3.0 采用的 Scala 版本是 2.12,你需要使用相应版本的 Scala (2.12.x)。

    对于 Java 11,当 Apache Arrow 的运行涉及到 Netty 时需要添加启动参数-Dio.netty.tryReflectionSetAccessible=true,来避免错误:java.lang.UnsupportedOperationException: sun.misc.Unsafe or java.nio.DirectByteBuffer.(long, int) not available

    运行示例和 Shell

    Spark 提供了一些示例程序,不同语言版本(Scala, Java, Python and R )的示例程序存储在目录examples/src/main 当中。你可以在 Spark 的根目录使用命令 bin/run-example <class> [params]运行 Java 或者 Scala 版本的示例程序(该命令会调用 spark-submit script 脚本启动应用程序)。例如:

    ./bin/run-example SparkPi 10
    

    你也可以通过相应版本的 Scala shell 来交互式的运行 Spark,这是学习 Spark 框架的一个很好的途径。

    ./bin/spark-shell --master local[2]
    

    参数 --master 可以指定集群地址(master URL for a distributed cluster), 或者设置为 local 在本地单线程的运行,或者设置为 local[N] 在本地多线程的运行,N 表示线程数量。你应该在 local 模式下进行测试。可以通过 --help 参数获取完整的帮助信息。

    Spark 同时提供了 Python API,可以通过启动 Python 解释器bin/pyspark 交互式的运行 Spark:

    ./bin/pyspark --master local[2]
    

    示例应用程序也提供了 Python 版本,例如:

    ./bin/spark-submit examples/src/main/python/pi.py 10
    

    在 1.4 版本之后 Spark 还提供了 R API (只包括 DataFrames API),可以通过启动 R 解释器`bin/sparkR 交互式的运行 Spark:

    ./bin/sparkR --master local[2]
    

    示例应用程序也提供了 R 版本,例如:

    ./bin/spark-submit examples/src/main/r/dataframe.R
    

    启动集群

    Spark 集群模式概述(cluster mode overview)解释了在集群上运行 Spark 的一些关键概念,Spark 可以自己启动集群或者依赖现有的一些集群资源管理模块。目前提供的部署模式有以下几种:

    接下来干点啥呢

    编程指南:

    API 文档:

    部署指南:

    其他文档:

    外部资源:

    相关文章

      网友评论

        本文标题:00 Spark Overview

        本文链接:https://www.haomeiwen.com/subject/btfnxktx.html