统一的大数据分析引擎:Spark

Spark是一款Apache下的大数据处理分析引擎,提供Java、Scala、Python和R的高级API,支持SQL、机器学习、图形处理等功能。它能在Hadoop、Apache Mesos、Kubernetes等环境下运行,适用于批处理和流数据。
摘要由CSDN通过智能技术生成

统一的大数据分析引擎:Spark

spark概述

spark是apache下的大数据处理分析引擎。它提供了 Java、Scala、Python 和 R 中的高级 API,以及支持通用执行图的优化引擎。它还支持丰富的高级工具集

  • SQL 和结构化数据处理的 Spark SQL
  • 用于机器学习的 MLlib
  • 用于图形处理的 GraphX
  • 用于增量计算和流处理的结构化流

spark优点

  • 快速:Apache Spark 使用最先进的 DAG 调度器、查询优化器和物理执行引擎,为批处理和流数据实现了高性能
  • 易用:超过80种的高级操作,使得spark很容易创建并行应用;可以很好的与python、java、R、SQL交互。
  • 结合SQL、流、以及复杂的分析
  • Spark 支持一系列库,包括 SQL 和 DataFrames、用于机器学习的 MLlib、GraphX 和 Spark Streaming。 您可以在同一个应用程序中无缝组合这些库
  • Spark 可以在 Hadoop、Apache Mesos、Kubernetes、独立或云端运行它可以访问不同的数据源

安全

默认情况下,spark种的安全性是关闭的。这意味着很容易受到攻击;有关安全一节的讲解

下载

下载链接

Spark 将 Hadoop 的客户端库用于 HDFS 和 YARN,为少数流行的 Hadoop 版本预先打包了下载。用户还可以下载“Hadoop free”二进制文件,并通过增加 Spark 的类路径来使用任何 Hadoop 版本运行 Spark。Scala 和 Java 用户可以使用其 Maven 将 Spark 包含在他们的项目中,Python 用户可以从 PyPI 安装 Spark。

如果你想要编译spark的源码,请参见building spark

spark可以在windows以及类unix系统上运行,它应该在运行受支持的 Java 版本的任何平台上运行。你只需要做的就是在你的系统上设置好java环境。

在安装spark时需要注意对应的编程语言以及所需环境的兼容性(省略了一部分关于兼容性方面的概述)。

  • 对于 Python 3.9,由于 Apache Arrow 中支持的 Python 版本,Arrow 优化和 Pandas UDF 可能不起作用。请参考最新的python兼容性页面
  • 对于 Java 11,Apache Arrow 库还需要 -Dio.netty.tryReflectionSetAccessible=true (这可以防止 java.lang.UnsupportedOperationException: sun.misc.Unsafe 或 java.nio.DirectByteBuffer.(long, int) not available 当 Apache Arrow 在内部使用 Netty 时)

Spark示例

spark提供了多种开发环境下的示例,在examples/src/main目录下。使用bin/run-example <class> [params]命令来运行示例,在这个命令执行之后会调用更通用的spark-submit脚本来启动应用程序。

./bin/run-example SparkPi 10

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

# 指定在本地使用2个线程运行
./bin/spark-shell --master local[2]

--master选项指定了分布式集群的masterurl、或指定本地使用一个线程在本地运行、或 指定local[N] 使用 N个线程在本地运行;

使用--help帮助了解更多spark的选项意义

spark也提供了一个python的API,在python 解释器中以交互方式运行 Spark:

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

spark还提供了python的示例应用:

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

spark从1.4版本提供了R的API(只包括DataFrames APIs),在 R 解释器中以交互方式运行 Spark:

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

spark还提供了R的示例应用:

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

在集群上启动spark

spark 集群模式

在spark集群模式页面,解释了有关spark运行在集群上的重要概念。Spark 可以单独运行,也可以在多个现有的集群管理器上运行,目前提供了以下多种部署选项:


接下来要看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值