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

pyspark将csv文件写入S3错误

能烨华
2023-03-14

我正在使用pyspark,在向S3写入数据时遇到了问题,但从S3读取数据并不是问题。

这是我的代码:

dic = {'a': {'c1(%)': 0.0, 'c2': 0, 'c3($)': 260, 'c4(%)': 4.79, 'c5': 78, 'c6': 352}, 'b': {'c1(%)': 0.0, 'c2': 0, 'c3($)': 5, 'c4(%)': 0.09, 'c5': 2, 'c6': 280}, 'c': {'c1(%)': 0.0, 'c2': 0, 'c3($)': 0, 'c4(%)': 0.0, 'c5': 0, 'c6': 267}}

df = pd.DataFrame(dic)

df.to_csv("s3://work/.../filename_2018-01-04_08:50:45.csv")

这是错误:

IOError: [Errno 2] No such file or directory: 's3://work/.../filename_2018-01-04_08:50:45.csv'

有什么问题?

共有1个答案

凌景辉
2023-03-14

请参阅我上面的评论,您需要使用Spark DataFrame。实现这一点的一种简单方法是将Pandas DF上的索引转换为列,然后转换为火花DF:

df2=sqlContext.createDataFrame(df.reset_index(drop=False))

然后使用:

df2.write.save("s3://work/.../filename_2018-01-04_08:50:45.csv", format='csv', header=True)
 类似资料:
  • 我想将一个数据帧保存到两个不同的csv文件中(拆分数据帧)-一个文件只包含标题,另一个文件包含其余行。 我想将这两个文件保存在同一个目录下,这样Spark处理所有逻辑将是最好的选择,如果可能的话,而不是使用pandas分割csv文件。 最有效的方法是什么? 谢谢你的帮助!

  • 问题内容: 将结构转储到提供的csv文件中的惯用golang方法是什么?我在一个func里面,我的结构作为接口{}传递: 为什么要使用界面{}?-从JSON读取数据,可能会返回一些不同的结构,因此尝试编写足够通用的函数。 我的类型的一个例子: 问题答案: 如果您使用具体类型,将会容易得多。您可能想要使用该软件包,这是一个相关示例;https://golang.org/pkg/encoding/cs

  • 问题内容: 我有一个pandas数据框,我想将其写入CSV文件。我正在使用以下方法: 并得到错误: 有什么方法可以轻松解决此问题(即我的数据框中有Unicode字符)吗?有没有一种方法可以使用例如“ to-tab”方法(我认为不存在)写入制表符分隔文件而不是CSV? 问题答案: 要用制表符分隔,可以使用参数: 要使用特定的编码(例如),请使用参数:

  • 我们有一个名为survey.csv的csv文件,我们需要将其加载到rdd中。 我们尝试了这个: 它不起作用。有人能帮忙吗?

  • 问题内容: 我有一个带有字符串键和字符串值的哈希图。它包含大量键及其各自的值。 例如: 我想将此哈希图写入一个csv文件,以便我的csv文件包含以下行: 我在这里使用supercsv库尝试了以下示例:http ://javafascination.blogspot.com/2009/07/csv-write- using-java.html 。但是,在此示例中,您必须为要添加到csv文件的每一行创

  • 我在pandas中有一个数据帧,我想把它写到CSV文件中。我使用的是: 并得到错误: 有没有什么方法可以很容易地解决这个问题(例如,我的数据帧中有unicode字符)?还有,有没有一种方法可以使用“to-tab”方法(我认为不存在)写入以制表符分隔的文件,而不是CSV?