本笔记主要记录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