gpt4 book ai didi

mysql - 将数据从 s3 加载到运行 EC2 实例(不是 RDS)的 mySQL

转载 作者:可可西里 更新时间:2023-11-01 09:00:20 27 4
gpt4 key购买 nike

我希望能够在 mySQL 中使用 load data infile 命令,但我不想从本地文件加载数据,而是想从 CSV 文件加载它。

即,如果文件在本地存储中,它看起来像:

LOAD DATA INFILE'C:\\abc.csv' INTO TABLE abc

但如果它在 S3 中,我不确定我怎么能做这样的事情。

这可能吗?

注意:这不是 RDS 机器,所以这个命令似乎不起作用: http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-template-copys3tords.html

最佳答案

mysql CLI 允许您将 STDIN 作为 SQL 语句流执行。

结合使用 s3 CLI 和 mkfifo,您可以从 s3 流出数据。

然后将流与将 CSV 重新格式化为有效 SQL 的内容连接起来就是一件简单的事情。

mkfifo /tmp/mypipe
s3 cp s3://your/s3/object /tmp/mypipe
python transform_csv_to_sql.py < /tmp/mypipe | mysql target_database

如果您告诉 MySQL 直接从您的 fifo 加载数据,您也许可以删除 python 步骤并使用 MySQL 的 CSV 代码:

mkfifo /tmp/mypipe
s3 cp s3://your/s3/object /tmp/mypipe
mysql target_database --execute "LOAD DATA INFILE '/tmp/mypipe'"

祝你好运!

关于mysql - 将数据从 s3 加载到运行 EC2 实例(不是 RDS)的 mySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45599794/

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