在Spark中读取ORC文件时,如果您在路径中指定了分区列,则该列不会包含在数据集中。例如,如果我们有
val dfWithColumn = spark.read.orc("/some/path")
val dfWithoutColumn = spark.read.orc("/some/path/region_partition=1")
然后 dfWithColumn 将有一个 region_partition 列,但 dfWithoutColumn 不会。我如何指定我想包括所有列,即使它们被分区了?
我正在使用 scala 上的 spark 2.2。
编辑:这是一个可重复使用的 Spark 程序,它将从命令行中获取其参数;即使用户传递表的特定分区而不是整个表,我也希望程序能够正常工作。因此,使用 Dataset.filter 不是一个选项。