Pyspark讀取csv文件


#_*_coding:utf-8_*_

# spark讀取csv文件

#指定schema:
schema = StructType([
        # true代表不為null
        StructField("column_1", StringType(), True), # nullable=True, this field can not be null
        StructField("column_2", StringType(), True),
        StructField("column_3", StringType(), True),
        ]
    )
#方法一
df = spark.read.csv(r"hdfs://my_master:8020/user/root/data_spark.csv", encoding='gbk', header=True, inferSchema=True) # header表示數據的第一行是否為列名,inferSchema表示自動推斷schema,此時未指定schema
或者:
df = spark.read.csv(r"hdfs://my_master:8020/user/root/data_spark.csv", encoding='gbk', header=True, schema=schema)#使用指定的schema

#方法二
df = spark.read.format("csv").option("header",True).option("encoding", "gbk").load(r"hdfs://my_master:8020/user/root/data_spark.csv")
或者:
df = spark.read.format("csv").option("encoding","gbk").option("header",True).load(r"hdfs://tmaster:8020/user/root/data_spark.csv", schema=schema) 

# 寫csv,例如追加數據格式為:
df.write.mode('append').option().option().format().save() 

#注意:以上數據建立在csv的第一行是列名的情況下,不是列名時,應該去掉header屬性

參考:

https://blog.csdn.net/zpf336/article/details/90760384

https://blog.csdn.net/wc781708249/article/details/78251701


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM