Spark编程指南、API文档: https://spark.apache.org/docs/latest/#spark-overview
文件读写
Spark支持的文件读写来源有:文件系统(本地文件系统、HDFS、远程Amazon S3)、数据库(MySQL、HBase、Hive)
SPark支持支持很多其他常见的文件格式:文本文件、JSON、CSV、SequenceFile,以及protocol buffer
读取本地文件系统
要加载本地文件,必须采用file:///
开头的这种格式;
Spark 将传入的路径作为目录对待,会在那个目录下输出多个文件
如果路径简写为path/to/somewhere
,sc.textFile()
将默认认为其为HDFS路径
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| myRdd = sc.textFile("file:///home/holden/repos/spark/README.md")
outputFile = "file:///home/holden/repos/spark/result.txt" myRdd.saveAsTextFile(outputFile)
myRdd = sc.textFile("hdfs://master:9000/user/root/people.txt")
myRdd = sc.textFile("s3://your_bucket/") myRDD.saveAsTextFile("s3://your_bucket/test/")
jsonRdd = sc.textFile("file:///usr/local/people.json")
myRdd = sc.read.format('csv') .options(header='true', inferSchema='true') .load('/diamonds.csv')
df.write.parquet("output/proto.parquet")
from pyspark.sql import SQLContext sqlContext = SQLContext(sc)
df = sqlContext.read.parquet("output/proto.parquet")
|
File System Shell Guide