【发布时间】:2018-12-12 18:30:00
【问题描述】:
我有一个架构,我想将其应用于 Databricks 中的 csv 文件。 csv 文件可能包含 6 列(a、b、c、d、e、f),它们可以在 csv 文件中以随机顺序出现。也可能出现缺少一列或多列的情况。所以带有这些标题的 csv 文件是有效的
a,b,c,d,e,f
f,e,d,c,a,b
a,b,c
d,e,f
我可以创建自定义架构,但这不能处理不同的顺序以及缺少的列。它们是按顺序应用的。关于如何处理这个问题的任何想法?
customSchema = StructType() \
.add("a", DoubleType(), True) \
.add("b", DoubleType(), True) \
.add("c", DoubleType(), True) \
.add("d", DoubleType(), True) \
.add("e", DoubleType(), True) \
.add("f", DoubleType(), False)
data = sqlContext.read.format("csv") \
.option("header", "true") \
.option("delimiter", ",") \
.schema(customSchema) \
.load("*.csv")
【问题讨论】:
-
如果缺少列,您会期待什么行为?
标签: csv apache-spark databricks