下载
从项目网站的下载页面获取 Spark 。
本文档适用于 Spark 3.2.0 版。Spark 将 Hadoop 的客户端库用于 HDFS 和 YARN。下载是为少数流行的 Hadoop 版本预先打包的。用户还可以下载“Hadoop free”二进制文件,并通过增加 Spark 的类路径来使用任何 Hadoop 版本运行 Spark 。Scala 和 Java 用户可以使用其 Maven 坐标将 Spark 包含在他们的项目中,Python 用户可以从 PyPI 安装 Spark。
Spark 可以在 Windows 和类 UNIX 系统(例如 Linux、Mac OS)上运行,并且它应该可以在运行受支持的 Java 版本的任何平台上运行。这应该包括 x86_64 和 ARM64 上的 JVM。在一台机器上本地运行很容易——您所需要的只是java
在您的系统上安装PATH
,或者JAVA_HOME
指向 Java 安装的环境变量。
Spark 在 Java 8/11、Scala 2.12、Python 3.6+ 和 R 3.5+ 上运行。Python 3.6 支持自 Spark 3.2.0 起已弃用。从 Spark 3.2.0 开始,不推荐使用 8u201 版本之前的 Java 8 支持。对于 Scala API,Spark 3.2.0 使用 Scala 2.12。您将需要使用兼容的 Scala 版本 (2.12.x)。
对于 Python 3.9,由于 Apache Arrow 中支持的 Python 版本,Arrow 优化和 Pandas UDF 可能不起作用。对于 Java 11,-Dio.netty.tryReflectionSetAccessible=true
还需要 Apache Arrow 库。这可以防止java.lang.UnsupportedOperationException: sun.misc.Unsafe or java.nio.DirectByteBuffer.(long, int) not available
Apache Arrow 在内部使用 Netty。
运行示例和 Shell
Spark 附带了几个示例程序。Scala、Java、Python 和 R 示例在 examples/src/main
目录中。要运行 Java 或 Scala 示例程序之一,请 bin/run-example <class> [params]
在顶级 Spark 目录中使用。(在幕后,这会调用更通用的 spark-submit
脚本来启动应用程序)。例如:
./bin/run-example SparkPi 10
您还可以通过 Scala shell 的修改版本以交互方式运行 Spark。这是学习框架的好方法。
./bin/spark-shell --master local[2]
该--master
选项指定分布式集群的 主 URL,或者local
用一个线程local[N]
在本地运行,或者用 N 个线程在本地运行。您应该从local
用于测试开始 。如需完整的选项列表,请使用该--help
选项运行 Spark shell 。
Spark 还提供了一个 Python API。要在 Python 解释器中以交互方式运行 Spark,请使用 bin/pyspark
:
./bin/pyspark --master local[2]
还提供了 Python 中的示例应用程序。例如,
./bin/spark-submit examples/src/main/python/pi.py 10
Spark 还提供了自 1.4 起的R API(仅包含 DataFrames API)。要在 R 解释器中以交互方式运行 Spark,请使用bin/sparkR
:
./bin/sparkR --master local[2]
R 中还提供了示例应用程序。例如,
./bin/spark-submit examples/src/main/r/dataframe.R