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

使用Scala Spark在同一个csv文件中追加新表

郁权
2023-03-14

我想在现有的CSV文件中追加表metrics。我使用下面的代码:

    metrics.coalesce(1)
    .write
    .option("header", "true")
    .option("sep",",")
    .mode("Append")
    .csv("data/outputs.csv}")

每次下面的代码块运行时,都会在data/outputs.CSV(其中outputs.CSV是文件夹而不是CSV文件)中创建一个新文件.part-00000-{xxxxxx-xxxx.....}.CSV

共有1个答案

尤俊誉
2023-03-14

您必须显式地合并它们,然后使用overwrite而不是append。类似于这样:

spark
  .read
  .option(...)
  .csv("data/outputs.csv")
  .union(metrics)
  .coalesce(1)
  .write
  .option(...)
  .mode("Overwrite")
  .csv("data/outputs.csv")
 类似资料:
  • 问题内容: 我想计算一些列数据并将其作为列写入文件。然后,在计算了另一列数据之后,我想将其附加到同一文件中,但作为新列。 这是我所做的: 结果-它将新列追加到第一列下方,因此我只有一个长列。 谢谢, 问题答案: 您将必须逐行读取文件,然后将新列插入每一行。这是使用BufferedReader和BufferedWriter的解决方案

  • 问题内容: 我正在编写一个将多个线程的行附加到同一文件的应用程序。 我有一个问题,其中某些行被追加而没有新行。 有什么解决办法吗? 问题答案: 解决方案是仅在一个线程中写入文件。

  • 问题内容: 我有几个CSV文件,如下所示: 我想在所有CSV文件中添加一个新列,使其看起来像这样: 到目前为止,我的脚本是: (Python 3.2) 但是在输出中,脚本跳过了每一行,新列中仅包含Berry: 问题答案: 这应该使您知道该怎么做: 编辑,注意在py3k中必须使用 感谢您接受答案。在这里,您有一个好处(您的工作脚本): 请注意 中的参数。默认情况下,它设置为,这就是为什么间距为两倍的

  • 我试图加载一个csv文件内基于熊猫的数据帧。我使用了以下导入。 没有找到文件是抛出错误,回溯如下: ()中的FileNotFoundError回溯(最近一次调用)---- c:\users\saish\appdata\local\programs\python\python35-32\lib\site packages\pandas\io\parsers。语法分析器中的py\u f(文件路径或缓冲

  • 我在同一个文件夹中有数千个csv文件名,如下file_x_x.csv,其中x是1到10000之间的数字。每个文件包括一个标题和一行数据: file_1_1.csv 我的方法: 我不知道如何在最后创建一个唯一的文件。你能看一下上面的代码并告诉我如何获得所需的输出吗?如果我错过了什么?

  • 问题内容: 我正在尝试在同一CSV文件上进行读写: 我的csv文件是: 所以基本上,如果我的价值是我想用代替。上面的代码给了我空的CSV文件。 问题答案: 您应该使用其他输出文件名。即使您希望名称相同,也应该使用一些临时名称并最终重命名文件。 当您以“ w”(或“ wb”)模式打开文件时,此文件被“清除”-整个文件内容消失。的Python文档说: …“ w”仅用于写入(具有相同名称的现有文件将被删