我正在使用Spark SQL在CSV中阅读,我也收到了很多这样的消息:
...some.csv, range: 20971520-24311915, partition values: [empty row]
为什么说这是空行?分区是真正的空吗?
既不是文件读取的文件和火花分区。
由于两件事,日志消息可能有些混乱:
- 消息中的单词分区是指 hive式分区,即一个可以具有多个值的命名分区列。可以从您的目录结构(例如对于
/path/to/partition/a=1/b=hello/c=3.14
,它们将是a
,b
和c
及其值:1
,hello
和3.14
。它们也可以来自蜂巢的近亲,以防分区外部桌子。 -
分区值记录的
InternalRow
,而不是在集合中包裹。
在您的情况下,目录结构是平坦的,或者不包含分区名称(例如/path/to/partition/1/hello/3.14
),因此没有蜂巢式的分区,因此您在消息中看到[empty row]
。>