SELECT INTO ステートメント
SELECT INTO ステートメントを使って、書式付きデータをファイルにエクスポートできます。
SQL クエリを使ったデータのエクスポート
次のクエリは、comma-separated values(CSV)ファイルフォーマットにデータをエクスポートします。
SELECT Name, TotalDue INTO [csv://[AwsDataCatalog].[sampledb].Customers.txt] FROM [[AwsDataCatalog].[sampledb].Customers] WHERE CustomerId = '12345'ファイルURI で他のフォーマットを指定できます。利用可能な区切り文字はタブ、セミコロン、カンマです。デフォルトはカンマです。次の例は、tab-separated values(TSV)にエクスポートします。
SELECT Name, TotalDue INTO [csv://[AwsDataCatalog].[sampledb].Customers.txt;delimiter=tab] FROM [[AwsDataCatalog].[sampledb].Customers] WHERE CustomerId = '12345'
C#
String connectionString = "AWSAccessKey='a123';AWSSecretKey='s123';AWSRegion='IRELAND';Database='sampledb';S3StagingDirectory='s3://bucket/staging/';";
using (AmazonAthenaConnection connection = new AmazonAthenaConnection(connectionString)) {
AmazonAthenaCommand cmd = new AmazonAthenaCommand("SELECT Name, TotalDue INTO [csv://[AwsDataCatalog].[sampledb].Customers.txt] FROM [[AwsDataCatalog].[sampledb].Customers] WHERE CustomerId = '12345' ", connection);
int rowsAffected = cmd.ExecuteNonQuery();
}
VB.NET
Dim connectionString As [String] = "AWSAccessKey='a123';AWSSecretKey='s123';AWSRegion='IRELAND';Database='sampledb';S3StagingDirectory='s3://bucket/staging/';"
Using connection As New AmazonAthenaConnection(connectionString)
Dim cmd As New AmazonAthenaCommand("SELECT Name, TotalDue INTO [csv://[AwsDataCatalog].[sampledb].Customers.txt] FROM [[AwsDataCatalog].[sampledb].Customers] WHERE CustomerId = '12345'", connection)
Dim rowsAffected As Integer = cmd.ExecuteNonQuery()
End Using
URI で他のファイルフォーマットを指定できます。以下の例は、tab-separated values(TSV)にエクスポートします。
C#
String connectionString = "AWSAccessKey='a123';AWSSecretKey='s123';AWSRegion='IRELAND';Database='sampledb';S3StagingDirectory='s3://bucket/staging/';";
using (AmazonAthenaConnection connection = new AmazonAthenaConnection(connectionString)) {
AmazonAthenaCommand cmd = new AmazonAthenaCommand("SELECT * INTO [[AwsDataCatalog].[sampledb].Customers] IN [csv://filename=c:/[AwsDataCatalog].[sampledb].Customers.csv;delimiter=tab] FROM [[AwsDataCatalog].[sampledb].Customers] WHERE CustomerId = '12345'", connection);
int rowsAffected = cmd.ExecuteNonQuery();
}
VB.NET
Dim connectionString As [String] = "AWSAccessKey='a123';AWSSecretKey='s123';AWSRegion='IRELAND';Database='sampledb';S3StagingDirectory='s3://bucket/staging/';"
Using connection As New AmazonAthenaConnection(connectionString)
Dim cmd As New AmazonAthenaCommand("SELECT * INTO [[AwsDataCatalog].[sampledb].Customers] IN [csv://filename=c:/[AwsDataCatalog].[sampledb].Customers.csv;delimiter=tab] FROM [[AwsDataCatalog].[sampledb].Customers] WHERE CustomerId = '12345'", connection)
Dim rowsAffected As Integer = cmd.ExecuteNonQuery()
End Using