小编ant*_*CR1的帖子

Spark - 如何在没有文件夹的情况下编写单个csv文件?

假设这df是Spark中的数据帧.写入df单个CSV文件的方法是

df.coalesce(1).write.option("header", "true").csv("name.csv")

这会将数据帧写入包含在name.csv被调用文件夹中的CSV文件中,但实际的CSV文件将被调用part-00000-af091215-57c0-45c4-a521-cd7d9afb5e54.csv.

我想知道是否可以避免该文件夹name.csv并调用实际的CSV文件name.csv而不是part-00000-af091215-57c0-45c4-a521-cd7d9afb5e54.csv.原因是我需要编写几个CSV文件,稍后我将用Python一起阅读,但我的Python代码使用实际的CSV名称,还需要将所有单个CSV文件放在一个文件夹中(而不是文件夹)的文件夹).

任何帮助表示赞赏.

csv export-to-csv apache-spark

20
推荐指数
3
解决办法
8846
查看次数

Spark-Monotonically增加id在数据帧中没有按预期工作?

df在Spark中有一个数据框,看起来像这样:

scala> df.show()
+--------+--------+
|columna1|columna2|
+--------+--------+
|     0.1|     0.4|
|     0.2|     0.5|
|     0.1|     0.3|
|     0.3|     0.6|
|     0.2|     0.7|
|     0.2|     0.8|
|     0.1|     0.7|
|     0.5|     0.5|
|     0.6|    0.98|
|     1.2|     1.1|
|     1.2|     1.2|
|     0.4|     0.7|
+--------+--------+
Run Code Online (Sandbox Code Playgroud)

我尝试使用以下代码包含id列

val df_id = df.withColumn("id",monotonicallyIncreasingId)
Run Code Online (Sandbox Code Playgroud)

但id列不是我所期望的:

scala> df_id.show()
+--------+--------+----------+
|columna1|columna2|        id|
+--------+--------+----------+
|     0.1|     0.4|         0|
|     0.2|     0.5|         1|
|     0.1|     0.3|         2|
|     0.3|     0.6|         3|
|     0.2|     0.7|         4|
|     0.2|     0.8| …
Run Code Online (Sandbox Code Playgroud)

scala apache-spark apache-spark-sql

8
推荐指数
1
解决办法
7362
查看次数

如何修复 dbWriteTable 错误“无法找到函数‘dbWriterTable’的继承方法进行签名...?”

我想从 R 中的数据帧将数据插入 MySQL。我成功地使用 dbConnect 从 R 到 MySQL 连接,但是当我尝试使用 dbWriteTable 插入数据时,我不断收到错误

unable to find an inherited method for function 'dbWriterTable' for signature '"integer", "character", "data.frame"'

现在,我已经尝试了此处提到的建议解决方案如何解决此错误--dbWriteTable(),但此解决方案对我不起作用。我原来的代码是

dbWriteTable(conn, "Date", france$Date)
Run Code Online (Sandbox Code Playgroud)

因为我在 MySQL 中的表被调用Date,并且我在 R 中的数据框被调用france并且有一列Date包含日期(该列的类型也是日期)。在建议的解决方案之后,我的代码变成

dbWriteTable(conn, "Date", data.frame(dat=france$Date), row.names=FALSE, append=TRUE)
Run Code Online (Sandbox Code Playgroud)

但我遇到了同样的错误。我尝试添加field.types=list("date")以下解决方案RMySQL dbWriteTable with field.types中提到的内容,但出现相同的错误。

最后,我尝试dbSendQuery与 一起使用paste()来手动插入我的数据,如此处建议的How to insert integer values with query in MySQL in R? 但我再次遇到同样的错误!

这真让我抓狂。任何帮助将不胜感激。

mysql database r dbconnection

6
推荐指数
2
解决办法
6960
查看次数