当前位置: 首页 > 知识库问答 >
问题:

spark scala中对多个文件的同时操作

轩辕涵亮
2023-03-14

我在textfile中有一个id列表=id1、id2、id3等

val IDList = sc.textFile("/home/.../IDList.csv").flatMap(line => line.split(","))

每个id都与repo中的csv dataframe相关联:“/home/data/”+idX+“/*.csv”

我试着做这样的事情却没有结果:

val IDList = sc.textFile("/home/.../IDList.csv").flatMap(line => line.split(","))
    IDList.map(x => {
          val path =  "/home/data" + x + "/*.csv"
          val dataFrame = sparkSession.read.format("csv").option("header", "true").load(path)
            .withColumn().filter()blablabla
          // save 
          dataFrame.repartition(1).write.format("csv").option("header","true").save("/home/g179887/Desktop/test")
        })

谢谢你的帮助

共有1个答案

谢志用
2023-03-14

应该使用scalaParallel Collections存储id列表&使用Spark读取文件内容。通过这种方式,spark可以同时读取内容和操作多个文件。

import scala.io.Source
val IDList = Source.fromFile("/home/.../IDList.csv").getLines.toList.par

.map()的内容可以保持不变。

 类似资料:
  • 问题内容: 我在一个文件中有多个html文件。 结果是我弄乱了html文件。 如何在不删除其余标签的情况下更正此错误? 我正在使用python生成html文件。 如果使用,我会得到一个漂亮的html页面。 如果我第二次使用它,则页面会变形。 我们可以使用iframe纠正此问题吗?有人可以举个例子吗? 问题答案: 一个HTML文档只能有一个标签和一个标签。如果仅将多个HTML文档放在一起,则它将是无

  • 我想遍历目录中所有文件夹中的pdf文件,对这些文件进行操作(提取文本,保存到. txt),然后将所有txt保存到具有相同名称但位于不同目录的不同文件夹集中。该函数按预期执行,但不使用子文件夹。我知道有os.walk,但我不知道如何在这里使用它。如果我有所有没有子文件夹的文件,函数就可以工作;它会写入所需的目录。但是我需要遍历文件夹,保存到其他目录中的文件夹。 在一个目录中找到文件,并对其进行操作,

  • 我有100个不同名称的文件夹,每个文件夹中应该有相同的三个文件,但在某些文件夹中,这三个文件都不存在。 如何删除空文件夹或仅包含一个或两个文件的文件夹? 这是三个文件:

  • 所以我的问题是: 在这个苹果案例中,如何设计一组优雅的RESTful API,让后端轻松处理它。

  • 本文向大家介绍java对同一个文件进行读写操作方法,包括了java对同一个文件进行读写操作方法的使用技巧和注意事项,需要的朋友参考一下 同一个文件是不可以进行同时的读写的,因为我们写入文件会覆盖原文件的,如果这样,对于同一文件来来说,文件发生覆盖,无法进行下次读取 当然,对于两个不同的文件,可以一边读一边写的操作 题目:一个文本中存储26个无序字母,要求对字母排序后重新写入该文件中 分析:可以在内

  • 在这里,当我尝试打开一个不同的文件时,它会打开它,但会用之前打开的文件替换它 **就像在上一个文件中一样,我打开了文件[Multiples_of_7(while_loop).py],然后当我点击另一个文件打开它时,它只是用我打开的上一个文件替换它** 我不知道是什么问题,因为它总是在“新建”选项卡中单独打开每个文件,然后请帮助