当前位置: 首页 > 工具软件 > spark-pac4j > 使用案例 >

Apache Spark - Overview(Spark 概览)

郭知
2023-12-01

Apache Spark 概览

Apache Spark是一个快速、通用的集群运算系统. 它提供了高等级的API( ScalaJava,  Python )使并行运算Job易于编写, 同时为通用图计算提供了一个优化的引擎. 同时提供了一系列的高级工具集包括 Shark (Hive on Spark), MLlib (用于机器学习), GraphX (用于图处理), and Spark Streaming.

下载

Spark在Apache Spark网站的 downloads page 有下. 这个文档用于 Spark 版本0.9.0-incubating.

Spark 在Windows 和UNIX-like 系统(例如. Linux, Mac OS)下均可运行. 确保 java 在你的 PATH下, 或者 JAVA_HOME 环境变量指向java安装路径.

构建

Spark 内部绑定了Simple Build Tool. 为了编译源码, 到顶级Spark目录运行:

sbt/sbt assembly

就Scala API而言, Spark 0.9.0-incubating 依赖于Scala 2.10. 如果你使用Scala编写程序, 你需要使用兼容的Scala版本 (例如. 2.10.X) – 新的主要版本是不行的. 可以从 scala-lang.org 获得Scala的正确版本.

运行样例和Shell脚本

Spark 自带n多样例程序于 examples 文件夹下. 想要运行样例, 在顶级Spark目录下使用 ./bin/run-example <class> <params>  ( bin/run-example 脚本设置了路径和入口). 例如, 使用 ./bin/run-example org.apache.spark.examples.SparkPi local. 每个样例在没有设置参数时都会打印出使用帮助.

注意:某些带 <master> 参数的样例说明连接的是cluster URL. 可以是 URL for a distributed cluster, 或者 local 在本地单线程运行, 或者local[N] 在本地多线程运行. 你可以使用 local开始测试.

最后, 你可以交互使用Spark,通过Scala shell的改良版 (./bin/spark-shell) 或者Python 解释器 (./bin/pyspark). 这是学习框架的好方法.

建设集群

Spark的 cluster mode overview 介绍了集群的核心概念. Spark可以独立运行, 也支持一些已有的 cluster managers. 现在提供了如下部署选项:

关于Hadoop版本的小贴士

Spark 使用 Hadoop-client 库以便于同 HDFS 和其他基于 Hadoop的存储系统. 由于HDFS 协议随Hadoop的版本有所不同, 你必须根据使用的集群版本构建对应的 Spark. Spark 默认连接到 Hadoop 1.0.4.你可以在编译时设置 SPARK_HADOOP_VERSION 变量以适应自有版本:

SPARK_HADOOP_VERSION=2.2.0 sbt/sbt assembly

更进一步, 如果搭建 Spark on YARN, 设置 SPARK_YARN 为 true:

SPARK_HADOOP_VERSION=2.0.5-alpha SPARK_YARN=true sbt/sbt assembly

注意:在Windows下, 只能在单独行设置环境变量, 例如, 设置 SPARK_HADOOP_VERSION=1.2.1.

Spark (0.8.1) Hadoop 2.2.x (或者更新) 用户可以在本地构建和发布. 参见 Launching Spark on YARN. 由于Hadoop的API并没有向后兼容,所以这是很有必要的.

下一步

编程指引:

API文档:

部署指引:

其它文档:

扩展资源:

社区

想获得关于Spark的帮助或者想跟上Spark开发,请注册 user mailing list.

如果你在 San Francisco Bay 地区, 可以定期参加 Spark meetup ,这是与开发者们和使用者们会面的好机会.

最后, 如果你想对Spark贡献代码, 请阅读how to contribute.

 类似资料: