使用数据框scala创建带有时间戳的csv文件作为文件名

塔林杜

我有一个数据如下的数据框。

+---------------+-------+
|category       |marks  |
+---------------+-------+
|cricket        |1.0    |
|tennis         |1.0    |
|football       |2.0    |
+---------------+-------+

我想将上述数据帧写入一个csv文件,在其中将使用当前时间戳创建文件名。

generatedDataFrame.write.mode ("append")
    .format("com.databricks.spark.csv").option("delimiter", ";").save("./src/main/resources-"+LocalDateTime.now()+".csv")

但是此代码无法正常工作。出现以下错误

java.io.IOException: Mkdirs failed to create file

有没有更好的方法使用scala和spark实现此目的?另外,即使我尝试使用时间戳代码创建文件,也正在创建带有时间戳的目录,并且在该目录内使用随机名称创建带有数据的csv。如何将时间戳文件名包含在这些csv文件中,而不是创建目录?

公元前Mohana

DF.write.csv将始终使用您指定的名称创建一个文件夹,并将输出的csv文件放置在该文件夹中。

如果您想将单个csv文件作为名称为timestamp的输出,则可以使用以下代码:

import java.text.SimpleDateFormat
import java.util.Date
import org.apache.spark.sql._
import org.apache.hadoop.fs.{FileSystem, Path}

val spark = SparkSession.builder().master("local[*]").getOrCreate()
spark.sparkContext.setLogLevel("ERROR")

val fs = FileSystem.get(spark.sparkContext.hadoopConfiguration)

generatedDataFrame.coalesce(1).write.mode("append").csv("./src/main/resources/outputcsv/")

val outFileName = fs.globStatus(new Path("./src/main/resources/outputcsv/part*"))(0).getPath.getName

val timestamp = new SimpleDateFormat("yyyyMMddHHmm").format(new Date())

fs.rename(new Path(s"./src/main/resources/outputcsv/$outFileName"), new Path(s"./src/main/resources/outputcsv/${timestamp}.csv"))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Bash别名创建文件,文件名带有当前时间戳

来自分类Dev

批量脚本移动带有时间戳的文件

来自分类Dev

如何读取带有时间戳字段的csv?

来自分类Dev

在Cassandra中使用带有时间戳的插入

来自分类Dev

如何在使用VBA的Access中创建带有时间和日期戳的注释框

来自分类Dev

使用熊猫读取带有时间戳列的csv

来自分类Dev

使用数据框scala创建带有时间戳的csv文件作为文件名

来自分类Dev

如何使用Maven(新的带有时间戳的文件夹和最新的文件夹)构建存储?

来自分类Dev

在带有时间戳索引的数据框中创建一个12小时的循环

来自分类Dev

将带有时间戳的Excel文件转换为python日期和时间

来自分类Dev

如何从带有时间戳的熊猫数据框中删除未更改的值?

来自分类Dev

接收文件名中带有时间戳的文件的合适方法是什么?

来自分类Dev

在Winscp中创建自定义命令,该命令将在文件创建时创建带有时间戳的日志文件

来自分类Dev

使用Curl命令输出带有时间戳的文件名

来自分类Dev

简单的Windows批处理文件,它将文件复制到文件夹,并创建带有时间戳的子文件夹

来自分类Dev

无法保存带有时间戳的新文件

来自分类Dev

如何使用命令行创建带有时间戳的文件

来自分类Dev

列出自纪元以来带有时间戳的文件

来自分类Dev

将带有时间戳的stdout / stderr输出重定向到日志文件

来自分类Dev

查找并打印带有时间戳的文件

来自分类Dev

合并多个带有时间戳的.bash_history文件

来自分类Dev

使用正则表达式搜索带有时间戳的文件名

来自分类Dev

删除文件名带有时间戳的文件夹中的所有文件

来自分类Dev

重命名带有时间戳的上传文件不起作用

来自分类Dev

gitlab backup:没有时间戳的备份文件名

来自分类Dev

如何使用log4j2将日志保存到带有时间戳的文件中

来自分类Dev

带有时间戳的巨大 CSV 文件,创建一个包含一年中每个月条目数的图表

来自分类Dev

fluentd - 如何获取带有时间戳的日志文件名

来自分类Dev

如何在`terraform`中创建带有时间戳的文件?

Related 相关文章

  1. 1

    Bash别名创建文件,文件名带有当前时间戳

  2. 2

    批量脚本移动带有时间戳的文件

  3. 3

    如何读取带有时间戳字段的csv?

  4. 4

    在Cassandra中使用带有时间戳的插入

  5. 5

    如何在使用VBA的Access中创建带有时间和日期戳的注释框

  6. 6

    使用熊猫读取带有时间戳列的csv

  7. 7

    使用数据框scala创建带有时间戳的csv文件作为文件名

  8. 8

    如何使用Maven(新的带有时间戳的文件夹和最新的文件夹)构建存储?

  9. 9

    在带有时间戳索引的数据框中创建一个12小时的循环

  10. 10

    将带有时间戳的Excel文件转换为python日期和时间

  11. 11

    如何从带有时间戳的熊猫数据框中删除未更改的值?

  12. 12

    接收文件名中带有时间戳的文件的合适方法是什么?

  13. 13

    在Winscp中创建自定义命令,该命令将在文件创建时创建带有时间戳的日志文件

  14. 14

    使用Curl命令输出带有时间戳的文件名

  15. 15

    简单的Windows批处理文件,它将文件复制到文件夹,并创建带有时间戳的子文件夹

  16. 16

    无法保存带有时间戳的新文件

  17. 17

    如何使用命令行创建带有时间戳的文件

  18. 18

    列出自纪元以来带有时间戳的文件

  19. 19

    将带有时间戳的stdout / stderr输出重定向到日志文件

  20. 20

    查找并打印带有时间戳的文件

  21. 21

    合并多个带有时间戳的.bash_history文件

  22. 22

    使用正则表达式搜索带有时间戳的文件名

  23. 23

    删除文件名带有时间戳的文件夹中的所有文件

  24. 24

    重命名带有时间戳的上传文件不起作用

  25. 25

    gitlab backup:没有时间戳的备份文件名

  26. 26

    如何使用log4j2将日志保存到带有时间戳的文件中

  27. 27

    带有时间戳的巨大 CSV 文件,创建一个包含一年中每个月条目数的图表

  28. 28

    fluentd - 如何获取带有时间戳的日志文件名

  29. 29

    如何在`terraform`中创建带有时间戳的文件?

热门标签

归档