SELECT INTO Statements
You can use the SELECT INTO statement to export formatted data to a file.
Data Export with an SQL Query
The following query exports data into a file formatted in comma-separated values (CSV):
SELECT Name, TotalDue INTO [csv://[AwsDataCatalog].[sampledb].Customers.txt] FROM [[AwsDataCatalog].[sampledb].Customers] WHERE CustomerId = '12345'You can specify other formats in the file URI. The possible delimiters are tab, semicolon, and comma with the default being a comma. The following example exports tab-separated values:
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 UsingYou can specify other file formats in the URI. The following example exports tab-separated values:
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