有没有人知道是否有可能读取csv或Parquet文件到Spark使用相同的代码。
我在这里的用例是,在生产中,我将使用大型Parquet文件,但是对于单元测试,我希望使用csv。我使用的代码如下:
spark.read().schema(schema).load(path);
在csv情况下,此操作失败,但出现以下异常:
file.csv is not a Parquet file. expected magic number at tail [80, 65, 82, 49] but found [78, 9, 78, 10]
我怀疑spark默认为parquet,这不起作用,但我想先检查一下。
1条答案
按热度按时间v440hwme1#
spark.read.schema(schema).load(path);
不提format()
然后spark默认为读取parquet
文件。如果您正在阅读csv文件,那么我们需要提到
.format("csv")
为了让spark知道我们正在尝试读取csv文件,否则spark会将文件读取为parquet。spark.read.format("csv").schema(schema).load(path)