Apache Spark - 用于大规模数据分析的统一引擎


Apache Spark 是用于大规模数据处理的统一分析引擎。 它提供 Java、Scala、Python 和 R 的高级 API, 以及支持常规执行图的优化引擎。 它还支持一组丰富的高级工具,包括用于 SQL 和结构化数据处理的 Spark SQL、用于 pandas 工作负载 的 Spark 上的 pandas API、用于机器学习的 MLlib、用于图形处理的 GraphX、 以及 Structured Streaming,用于增量计算和流处理。

下载

从项目网站的下载页面获取 Spark。本文档适用于 Spark 版本 3.5.5。Spark 将 Hadoop 的客户端库用于 HDFS 和 YARN。下载内容已针对少数流行的 Hadoop 版本进行了预打包。 用户还可以下载“Hadoop 免费”二进制文件,并通过扩充 Spark 的类路径,使用任何 Hadoop 版本运行 Spark。 Scala 和 Java 用户可以使用其 Maven 坐标将 Spark 包含在其项目中,Python 用户可以从 PyPI 安装 Spark。

如果您想从 source,请访问 Building Spark

Spark 可以在 Windows 和类 UNIX 系统(例如 Linux、Mac OS)上运行,并且它应该可以在运行受支持的 Java 版本的任何平台上运行。这应包括 x86_64 和 ARM64 上的 JVM。在一台机器上本地运行很容易 - 您只需在 system 上安装,或者使用指向 Java 安装的环境变量。java``PATH``JAVA_HOME

Spark 可在 Java 8/11/17、Scala 2.12/2.13、Python 3.8+ 和 R 3.5+ 上运行。 版本 8u371 之前的 Java 8 支持从 Spark 3.5.0 开始弃用。 使用 Scala API 时,应用程序必须使用编译 Spark 的相同 Scala 版本。 例如,使用 Scala 2.13 时,使用为 2.13 编译的 Spark,并编译为 Scala 2.13 的代码/应用程序。

对于 Java 11,需要对 Apache Arrow 库进行设置。这可以防止 Apache Arrow 在内部使用 Netty 时出现错误。-Dio.netty.tryReflectionSetAccessible=true``java.lang.UnsupportedOperationException: sun.misc.Unsafe or java.nio.DirectByteBuffer.(long, int) not available

运行示例和 Shell

Spark 附带了几个示例程序。Python、Scala、Java 和 R 示例位于目录中。examples/src/main

要在 Python 解释器中以交互方式运行 Spark,请使用:bin/pyspark

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

以 Python 提供示例应用程序。例如:

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

要运行 Scala 或 Java 示例程序之一,请在顶级 Spark 目录中使用。(在幕后,这个 调用更通用的 spark-submit 脚本 启动应用程序)。例如bin/run-example <class> [params]

./bin/run-example SparkPi 10

您还可以通过 Scala shell 的修改版本以交互方式运行 Spark。这是一个 学习框架的好方法。

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

该选项指定分布式集群的主 URL,或运行 本地使用 1 个线程,或者使用 N 个线程在本地运行。您应该从 using for testing 开始。有关选项的完整列表,请使用选项运行 Spark shell。--master``local``local[N]``local``--help

从版本 1.4 开始,Spark 提供了一个 R API(仅包含数据帧 API)。 要在 R 解释器中以交互方式运行 Spark,请使用:bin/sparkR

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

R 中还提供了示例应用程序。例如:

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

使用 Spark Connect 在 Anywhere 上运行 Spark 客户端应用程序

Spark Connect 是 Spark 3.4 中引入的一种新的客户端-服务器体系结构,用于分离 Spark 客户端应用程序,并允许远程连接到 Spark 集群。两者之间的分离 客户端和服务器允许从任何地方利用 Spark 及其开放式生态系统,嵌入式 在任何应用程序中。在 Spark 3.4 中,Spark Connect 为 PySpark 和 Scala 中的数据帧/数据集 API 支持。

要了解有关 Spark Connect 及其使用方法的更多信息,请参阅 Spark Connect 概述

在集群上启动

Spark 集群模式概述介绍了在集群上运行的关键概念。 Spark 既可以单独运行,也可以在多个现有集群管理器上运行。它目前提供了几个 部署选项:

从这里去哪里

编程指南:

API 文档:

部署指南:

其他文件:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值