是否有任何示例我可以找到如何将数据从Amazon S3内的CSV文件复制到Microsoft SQL Server Amazon RDS?
在文档中,它只提到了将数据从本地数据库导入RDS。
答案 0 :(得分:0)
方法就像 - 你必须启动EC2实例并将S3 CSV文件复制到其中,然后从那里你必须使用批量插入命令。例如:
BULK INSERT SchoolsTemp
FROM 'Schools.csv'
WITH
(
FIRSTROW = 2,
FIELDTERMINATOR = ',', --CSV field delimiter
ROWTERMINATOR = '\n', --Use to shift the control to next row
TABLOCK
)
所有这些都可以在AWS Data Pipeline中拼接在一起。
答案 1 :(得分:0)
看起来他们设置了Sql Server RDS与S3的集成。我发现this aws docs article对其进行了详细解释。
设置正确的凭据后,它们似乎会添加特定的存储过程以下载(并上传/删除)到D:\S3
目录中。我个人还没有这样做,但是我想分享一下,因为在另一篇文章的评论中提到不支持BULK INSERT
。但这将为BULK INSERT
使用s3中的文件提供一种方式。
将文件复制到RDS实例:
exec msdb.dbo.rds_download_from_s3
@s3_arn_of_file='arn:aws:s3:::bucket_name/bulk_data.csv',
@rds_file_path='D:\S3\seed_data\data.csv',
@overwrite_file=1;
然后运行BULK INSERT
:
BULK INSERT MyData
FROM 'D:\S3\seed_data\data.csv'
WITH
(
FIRSTROW = 2,
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)