将pandas数据帧写入AWS-athena数据库

2024-06-02 10:37:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用pyathena运行了一个查询,并创建了pandas数据帧。有没有办法直接将熊猫数据帧写入AWS雅典娜数据库? 像数据到sqlMYSQL数据库。在

共享下面的数据帧代码示例以供参考,需要写入AWS athena数据库:

data=pd.DataFrame({'id':[1,2,3,4,5,6],'name':['a','b','c','d','e','f'],'score':[11,22,33,44,55,66]})

Tags: 数据代码nameawsid数据库示例dataframe
1条回答
网友
1楼 · 发布于 2024-06-02 10:37:52

AWS Athena的存储是S3。它只从S3文件中读取数据。早期不可能像任何其他数据库那样将数据直接写入Athena数据库。在

It was missing support support表示insert into ...。在

作为workaround,用户可以通过以下步骤使其正常工作。在

1. You need to write the pandas output to a file, 
2. Save the file to S3 location, from where the AWS Athena is reading.

我希望它能给你一些启示。在

更新日期:2020年1月5日。

2019年9月19日,AWS宣布支持对Athena的插入,在上面的答案中做了一个声明incorrect,虽然我提供的上述解决方案仍然有效,但是随着AWS的发布,又增加了一个未来可能的解决方案。在

{{{cd11}将允许你在cd11}中写回新的数据。因此,从本质上讲,AWS已经解决了将数据写入S3文件的头疼问题。在

只需注意,Athena会将插入的数据写入单独的文件中。 这是documentation。在

相关问题 更多 >