SELECT INTO ステートメント
SELECT INTO ステートメントを使って、書式付きデータをファイルにエクスポートできます。
SQL クエリを使ったデータのエクスポート
次のクエリは、comma-separated values(CSV)ファイルフォーマットにデータをエクスポートします。
SELECT Id, Name INTO [csv://[Hive].[Default].Customers.txt] FROM [[Hive].[Default].Customers] WHERE Industry = 'Floppy Disks'ファイルURI で他のフォーマットを指定できます。利用可能な区切り文字はタブ、セミコロン、カンマです。デフォルトはカンマです。次の例は、tab-separated values(TSV)にエクスポートします。
SELECT Id, Name INTO [csv://[Hive].[Default].Customers.txt;delimiter=tab] FROM [[Hive].[Default].Customers] WHERE Industry = 'Floppy Disks'
C#
String connectionString = "Server=127.0.0.1;Port=8080;"; using (PrestoConnection connection = new PrestoConnection(connectionString)) { PrestoCommand cmd = new PrestoCommand("SELECT Id, Name INTO [csv://[Hive].[Default].Customers.txt] FROM [[Hive].[Default].Customers] WHERE Industry = 'Floppy Disks' ", connection); int rowsAffected = cmd.ExecuteNonQuery(); }
VB.NET
Dim connectionString As [String] = "Server=127.0.0.1;Port=8080;" Using connection As New PrestoConnection(connectionString) Dim cmd As New PrestoCommand("SELECT Id, Name INTO [csv://[Hive].[Default].Customers.txt] FROM [[Hive].[Default].Customers] WHERE Industry = 'Floppy Disks'", connection) Dim rowsAffected As Integer = cmd.ExecuteNonQuery() End UsingURI で他のファイルフォーマットを指定できます。以下の例は、tab-separated values(TSV)にエクスポートします。
C#
String connectionString = "Server=127.0.0.1;Port=8080;"; using (PrestoConnection connection = new PrestoConnection(connectionString)) { PrestoCommand cmd = new PrestoCommand("SELECT * INTO [[Hive].[Default].Customers] IN [csv://filename=c:/[Hive].[Default].Customers.csv;delimiter=tab] FROM [[Hive].[Default].Customers] WHERE Industry = 'Floppy Disks'", connection); int rowsAffected = cmd.ExecuteNonQuery(); }
VB.NET
Dim connectionString As [String] = "Server=127.0.0.1;Port=8080;" Using connection As New PrestoConnection(connectionString) Dim cmd As New PrestoCommand("SELECT * INTO [[Hive].[Default].Customers] IN [csv://filename=c:/[Hive].[Default].Customers.csv;delimiter=tab] FROM [[Hive].[Default].Customers] WHERE Industry = 'Floppy Disks'", connection) Dim rowsAffected As Integer = cmd.ExecuteNonQuery() End Using