版权声明:转载请标明出处。 https://blog.csdn.net/u010720408/article/details/89190949
pyspark 读写文件
环境:zeppelin中的spark 2.1 的notebook提交的代码
pyspark 读 json
dataframe = spark.read.format(“json”).load("/tmp/testhdfsfile") #路径是hdfs上的
注意json文件中,一条记录是一条json,不能换行,格式如下:
{“row”:“1”,“field1”:“value1”}
{“row”:“1”,“field2”:“value2”}
读取csv 等其他文件一样,但是csv有注意带不带header(就是列名信息),分隔符的注意事项;
pyspark 读parquet
dataframe=spark.read.parquet("/temp/testhdfsfile.parquet").select([‘field1’,‘field2’,‘field3’,‘field’])
注意:可以读一个parquet文件,也可以读多个parquet文件,select可以用于节约载入内存消耗,也可以让后续dataframe.unionAll()执行减少问题(字段名与个数都要相同)
pyspark 写文件到hdfs (一般都存为parquet读写都比json、csv快,还节约约75%存储空间)
dataframe.write.format(“parquet”).mode(“overwrite”).save(/temp/temphdfs.parquet)