CSV文件

文章提供实例读写CSV文件并用Databricks使用Python、Scala、R和SQL

注解

sql直接读CSV数据或使用临时视图读CSV数据Databricks推荐使用临时视图直接读CSV文件有下列缺陷:

看吧实例.

选项

CSV文件源数选项配置Apachespark引用文章支持读写选项

工作错误CSV记录

读CSV文件时,可能文件内数据与 schema不匹配举例说,内含城市名称的字段不以整数剖析后果取决于解析器运行模式

  • 感知性空格插入无法正确解析字段

  • dropalde:下行包含无法解析字段

  • 费拉斯特:发现错误数据时中止读取

设置模式使用模式化选项 。

方块_df=高山市点火.读取.格式化高山市Csv).选项高山市模式化,感知性).负载高山市"/databricks-datasets/Rdatasets/data-001/csv/ggplot2/diamonds.csv"))

感知性模式可用下列方法之一检查无法正确解析行

  • 可提供自定义路径选项错误记录栏记录损耗记录文件

  • 可添加列破译记录向DataFrameReader提供模式审查DataFrame的腐败记录

注解

上头错误记录栏优先选项优于破译记录表示写到提供路径的错误行不显示为DataFrame

使用错误记录修改默认行为获救数据列.

查找错误列笔记本

开笔记本新标签

援救数据列

注解

特性支持Databricks运行时间8.3和上层

使用时感知性模式下,可允许获救数据列捕捉因记录中一个或多个字段有下列问题之一而未解析的任何数据:

  • 缺位从提供模式

  • 不匹配数据类型提供schema

  • 案例与提供模式字段名不匹配

获救数据列返回为JSON文档,内含获救列和源文件记录路径(源文件路径见Databricks Runtime8.3要从获救数据列删除源文件路径,您可设置SQL配置spark.conf.set("spark.databricks.sql.rescuedDataColumn.filePath.enabled",虚伪.通过设置选项可启用获救数据列rescuedDataColumn列名读取数据,例如rescued数据spark.read.option("rescuedDataColumn","_rescued_data").format("csv").load( ) .

CSV解析记录支持三种模式感知性,dropalde费拉斯特.时并用rescuedDataColumn数据类型错配不导致记录下降dropalde模式或报错费拉斯特模式化唯有腐败记录-即不完整或错误CSV-are投出或投出错误

何时rescuedDataColumn使用中感知性模式下规则应用腐败记录:

  • 文件第一行(页眉行或数据行)设置期望行长度

  • 列数不同的一行被视为不完全性

  • 数据类型错配不被视为损耗记录

  • CSV记录不完全错误被视为腐败并记录到破译记录列或错误记录栏.

实例

例子使用钻石数据集.指定数据集路径和任意选项

读文件语言

笔记本显示如何使用Scala、R、Python和SQL阅读文件、显示样本数据并打印数据模式

读CSV文件笔记本

开笔记本新标签

指定schema

等CSV文件模式已知后,你可以用CSV阅读器指定所期望模式模式化选项 。

CSV文件编程笔记本

开笔记本新标签

读取子集图

CSV解析器行为取决于列组读取如果指定的图案不正确,结果可能大相径庭,视访问列子集而定笔记本显示最常见的陷阱

读CSV文件笔记本子集

开笔记本新标签