可以使用相同的代码读取csv或parquet文件

uwopmtnx  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(564)

有没有人知道是否有可能读取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,这不起作用,但我想先检查一下。

v440hwme

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)

相关问题