4.2 专用保存

  1. .csv():将DataFrame 保存为csv 文件

    1. .csv(path, mode=None, compression=None, sep=None, quote=None, escape=None, header=None, nullValue=None, escapeQuotes=None, quoteAll=None, dateFormat=None, timestampFormat=None, ignoreLeadingWhiteSpace=None, ignoreTrailingWhiteSpace=None)

    示例:

    1. df.write.csv('./data.csv')
  2. .insertInto():将DataFrame 保存在table

    1. .insertInto(tableName, overwrite=False)

    它要求当前的DataFrame 与指定的table 具有同样的schema。其中overwrite 参数指定是否覆盖table 现有的数据。

  3. .jdbc():将DataFrame 保存在数据库中

    1. .jdbc(url, table, mode=None, properties=None)
    • 参数:

      • url:一个JDBC URL,格式为:jdbc:subprotocol:subname

      • table:表名

      • mode:指定当数据表中已经有数据时,如何保存。可以为:

        • 'append':追加写入
        • 'overwrite':覆写已有数据
        • 'ignore':忽略本次保存操作(不保存)
        • 'error':抛出异常(默认行为)
      • properties:一个字典,用于定义JDBC 连接参数。通常至少为:{ 'user' : 'SYSTEM', 'password' : 'mypassword'}
  4. .json():将DataFrame 保存为json 文件

    1. .json(path, mode=None, compression=None, dateFormat=None, timestampFormat=None)

    示例:

    1. df.write.json('./data.json')
  5. .orc():将DataFrame 保存为ORC 文件

    1. .orc(path, mode=None, partitionBy=None, compression=None)
  6. .pqrquet():将DataFrame 保存为Pqrquet 格式的文件

    1. .parquet(path, mode=None, partitionBy=None, compression=None)
  7. .saveAsTable():将DataFrame 保存为table

    1. .saveAsTable(name, format=None, mode=None, partitionBy=None, **options)
  8. .text():将DataFrame 保存为文本文件

    1. .text(path, compression=None)

    DataFrame 必须只有一列,切该列必须为字符串。每一行数据将作为文本的一行。