【pyspark】一 dataframe 读写parquet、json、csv等文件

版权声明:转载请标明出处。 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)

猜你喜欢

转载自blog.csdn.net/u010720408/article/details/89190949