Amazon S3中的CSV文件到Amazon SQL Server rds

问题描述 投票:1回答:2

是否有任何示例可以找到如何将数据从Amazon S3内的CSV文件复制到Microsoft SQL Server Amazon RDS?

在文档中,仅提及有关从本地数据库将数据导入RDS的内容。

amazon-web-services amazon-s3 amazon-rds
2个回答
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中缝合在一起。


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'
)
© www.soinside.com 2019 - 2024. All rights reserved.