gpt4 book ai didi

mysql - SELECT * INTO OUTFILE 从 RDS 到 S3

转载 作者:行者123 更新时间:2023-11-29 05:05:53 24 4
gpt4 key购买 nike

我正在尝试将一些数据从 RDS 实例重定向到 .csv。我尝试重定向到我们用作客户端的 EC2 box,但出现权限错误。我有点理解这一点。首先,有解决方法吗?或者我可以

SELECT * INTO OUTFILE S3:.... from table bob....

这是一个每周运行一次的进程,其中包含日期和数据库名称等动态参数。我目前使用执行动态 SQL 的 MYSQL 存储过程。

提前致谢。

最佳答案

如果您使用的是 AWS Aurora 风格的 RDS,那么您很幸运:https://aws.amazon.com/about-aws/whats-new/2017/06/amazon-aurora-can-export-data-into-amazon-s3/


如果您将普通的 MySql 与 RDS 一起使用,我有一个解决方法可以将一些数据重定向到 .csv。我使用 aws data pipeline具有 CopyActivity 的产品 - 它可以将数据从您指定的 SQL 查询复制到您指定的 S3 存储桶。

这是我的管道定义 yml 的摘录,它显示了输入、输出和 CopyActivity:

{
"myDescription": "Mysql datanode that represents the input database and query that gets the marketing table data.",

"type": "MySqlDataNode",
"name": "SourceRDSTable",
"id": "SourceRDSTable",
"connectionString": "jdbc:mysql://marketing.example.com:3306/schemaname",
"table": "marketing",
"selectQuery": "SELECT * FROM schemaname.marketing WHERE active=1 AND isOptedOut=0",
"username": "mysqluser",
"*password": "redacted"
},
{
"myDescription": "S3 datanode that represents the S3 directory where the table data will be stored.",

"type": "S3DataNode",
"name": "S3OutputLocation",
"id": "S3OutputLocation",
"filePath": "s3://mys3bucket/output/marketing_dump_#{format(@scheduledStartTime, 'YYYY-MM-dd')}.csv"
},
{
"myDescription": "CopyActivity used to dump a subset of the marketing table to S3 as csv",

"type": "CopyActivity",
"name": "Copy marketing table to S3",
"id": "RDStoS3CopyActivity",
"input": {
"ref": "SourceRDSTable"
},
"output": {
"ref": "S3OutputLocation"
},
"runsOn": {
"ref": "ec2_worker_instance"
}
}

(虽然我对完成后的结果很满意,但我不得不承认我花了一个星期的时间来设置这条管道!它已经连续 4 个月每天运行,没有任何问题,但如果我再次这样做的话,我会改为升级到 Aurora 并使用他们的 INTO OUTFILE S3 语法)

关于mysql - SELECT * INTO OUTFILE 从 RDS 到 S3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48412523/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com