PySpark的存储不同格式文件

PySpark的存储不同格式文件,如:存储为csv格式、json格式、parquet格式、compression格式、table

from __future__ import print_function, division
from pyspark import SparkConf, SparkContext
from pyspark.sql import SparkSession

## 启动 Spark (如果你已经启动就不需要)
spark = SparkSession.builder.master("local[2]").appName("test").enableHiveSupport().getOrCreate()
sc = spark.sparkContext

## 存储为csv格式
df_csv = spark.read.csv("../data/ratings.csv", header=True)
df_csv.show()
df_csv.write.csv('../output/rating.csv', header = True, mode = 'error') #保存数据

## 将文档保存在一个文件夹中
!ls -lh ../output/rating.csv   #根据数量保存多个文件
!head ../output/rating.csv/part-00001-aece805c-20a7-4225-b152-40316bc8fc5e-c000.csv   
df_csv.coalesce(1).write.csv('../output/rating2.csv', header = True)
!ls -lh ../output/rating.csv  

## 存储为json格式
df_csv.write.json('../output/rating.json',mode = 'overwrite')
!ls -lh ../output/rating.json   #根据数量保存多个文件
##注意:其中json的内存要比csv大(存储空间)

## 存储为parquet格式
df_csv.write.parquet('../output/rating.parquet',mode = 'overwrite')
!ls -lh ../output/rating.parquet  #根据数量保存多个文件

## 存储为compression格式---压缩
df_csv.write.csv('../output/rating_gzip.csv', header = True, compression = 'gzip')
!ls -lh ../output/rating_gzip.csv  #根据数量保存多个文件

## 存储为table
spark.sql('show tables').show()
df_csv.write.saveAsTable('rating_csv')
spark.sql("select * from ratings_csv").show()

PySpark的存储不同格式文件,如:存储为csv格式、json格式、parquet格式、compression格式、table

猜你喜欢

转载自blog.csdn.net/zhonglongshen/article/details/88849788