我想要读取一个CSV文件,然后使用Spark SQL查询它。CSV文件长这样:
16;10;9/6/2018
CSV文件没有标题行,但我们知道第一列是部门代码,第二列是建筑物代码,第三列是格式为m/d/YYYY的日期。
我编写了以下代码来使用自定义模式加载CSV文件:
StructType sch = DataTypes.createStructType(new StructField[] {
DataTypes.createStructField("department", DataTypes.IntegerType, true),
DataTypes.createStructField("building", DataTypes.IntegerType, false),
DataTypes.createStructField("date", DataTypes.DateType, true),
});
Dataset<Row> csvLoad = sparkSession.read().format("csv")
.option("delimiter", ";")
.schema(sch)
.option("header","false")
.load(somefilePath);
csvLoad.show(2);
当我使用
csvLoad.show(2)
时,它只会显示如下输出:|department|building|date|
+----------+---------+---+
|null |null |null |
|null |null |null |
请问有谁能告诉我这段代码有什么问题吗?我正在使用spark 2.4版本。