gpt4 book ai didi

scala - NULL 指针异常,同时在 foreach() 中创建 DF

转载 作者:行者123 更新时间:2023-12-05 00:34:23 24 4
gpt4 key购买 nike

我必须从 S3 读取某些文件,因此我创建了一个 CSV,其中包含这些文件在 S3 上的路径。我正在使用以下代码读取创建的 CSV 文件:

val listofFilesRDD = sparkSession.read.textFile("s3://"+ file)

这工作正常。然后我尝试读取这些路径中的每一个并创建数据框,例如:

listofFilesRDD.foreach(iter => {
val pathDF = sparkSession.read
.schema(testSchema)
.option("headers", true)
.csv("s3://"+iter)

pathDF.printSchema()
})

但是,上面的代码给出了 NullPointerException。

那么,我该如何修复上面的代码呢?

最佳答案

您可以解决上述问题,如下所示,您可以简单地创建 s3 文件路径数组并遍历该数组并在其中创建 DF,如下所示

val listofFilesRDD = sparkSession.read.textFile("s3://"+ file)
val listOfPaths = listofFilesRDD.collect()

listOfPaths.foreach(iter => {
val pathDF = sparkSession.read
.schema(testSchema)
.option("headers", true)
.csv("s3://"+iter)


pathDF.printSchema()
})

关于scala - NULL 指针异常,同时在 foreach() 中创建 DF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40160018/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com