Spark学习记录

本笔记主要记录Spark在Hadoop环境中使用python语言进行算法开发过程中遇到的问题

Spark的启动

在Spark的安装路径中的bin路径中有pyspark,这是一种交互式的调用方法,还可以编写好python脚本之后通过

spark-submit xxx.py

的方式来调用。

sc is not defined

任何Spark程序都需要一个SparkContext来开始,其包含了Spark集群配置的各种参数,如果代码报错sc is not defined,需要添加如下代码进行初始化:

from pyspark import SparkContext
sc = SparkContext('local[2]', 'First Spark App')

常用HDFS Shell命令

大多数FS Shell命令和对应的Unix Shell命令类似,格式为hadoop fs ,如下:

hadoop fs -cat URI [URI …]
hadoop fs -chmod [-R] <MODE[,MODE]... | OCTALMODE> URI [URI …]
hadoop fs -cp URI [URI …] <dest>
hadoop fs -du URI [URI …]
hadoop fs -mkdir <paths>
hadoop fs -ls <args>
hadoop fs -rmr URI [URI …]    # rm -rf

在HDFS和本地之间复制文件的命令如下:

hadoop fs -get [-ignorecrc] [-crc] <src> <localdst>    # 复制文件到本地文件系统
hadoop fs -put <localsrc> <dst>    # 本地文件复制到HDFS