从csv文件的文件夹创建表时,不会读取标头信息。如何指定文件夹中的哪个文件用作标题?

时间:2018-10-18 02:33:03

标签: apache-spark-sql databricks

此问题可以在Databricks的社区实例上重现。

使用航空公司数据集,存在一个包含许多文件的文件夹。第一个文件具有标题,而其余文件没有。

此语句将创建一个带有标题的表:

DROP TABLE IF EXISTS airline;
CREATE TABLE airline
USING CSV
OPTIONS (path "dbfs:/databricks-datasets/airlines/part-00000", header "true")

此语句将创建一个没有标题的表:

DROP TABLE IF EXISTS airline;
CREATE TABLE airline
USING CSV
OPTIONS (path "dbfs:/databricks-datasets/airlines/part-00001", header "true")

此语句将创建一个没有标题的表:

DROP TABLE IF EXISTS airline;
CREATE TABLE airline
USING CSV
OPTIONS (path "dbfs:/databricks-datasets/airlines/", header "true")

是否可以控制从何处读取标头信息?是否有关于OPTIONS参数所有选项的文档?

1 个答案:

答案 0 :(得分:0)

无法从一个文件而非其他文件读取标头。您必须读取没有标题的数据,然后使用适当的WHERE子句过滤掉标题行。

Spark 2.x中已捆绑了所有分隔文件的读取选项,因此没有好的文档。作为参考,我仍然返回1.x文档:https://github.com/databricks/spark-csv#features