Spark、YARN 和 HDFS 概述¶
Spark是一种分析引擎和框架,其查询运行速度比用 Hadoop 编写的传统 MapReduce 作业快 100 倍。除了性能提升之外,开发人员还可以根据需要使用 Scala、Python 和 Java 编写 Spark 作业。Spark 可以直接从磁盘、内存和其他数据存储技术(如 Amazon S3、Hadoop 分布式文件系统(HDFS)、HBase、Cassandra 等)加载数据。
您可以使用企业 Hadoop 发行版(例如Cloudera CDH 或Hortonworks HDP)安装 Spark 。
提交 Spark 作业¶
Spark 脚本通常以交互方式开发,可以编写为脚本文件或 Jupyter 笔记本文件。
可以使用多种方法将 Spark 脚本提交到 Spark 集群:
- 直接在头节点上运行脚本。
- 在独立模式或 YARN 资源管理器中使用spark-submit脚本
- 在集群上的 IPython shell 或 Jupyter Notebook 中交互
要在头节点上运行脚本,只需在集群上执行即可。python example.py
注意:为了在集群上启动 Jupyter Notebook,插件必须已经安装。有关更多信息,请参阅插件文档。
在 HDFS 中处理数据¶
在 HDFS 内外移动数据可能很困难。如果您需要将数据从本地机器移动到 HDFS、从 Amazon S3 到 HDFS、从 Amazon S3 到 Redshift、从 HDFS 到 Hive 等等,我们建议使用
odo,它是Blaze 生态系统的一部分
。Odo
通过转换网络有效地将数据从源迁移到目标。
如果您不熟悉 Spark 和/或 SQL,我们建议您使用 Blaze以类似数据框的样式表达选择、聚合、分组等。Blaze 为 Python 用户提供了一个熟悉的界面来查询存在于不同数据存储系统中的数据。