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 FileId, ChildrenNum INTO [csv://Files.txt] FROM [Files] WHERE FileId = '119116'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 FileId, ChildrenNum INTO [csv://Files.txt;delimiter=tab] FROM [Files] WHERE FileId = '119116'
C#
String connectionString = "Host=sandbox-hdp.hortonworks.com;Port=50070;Path=/user/root;"; using (HDFSConnection connection = new HDFSConnection(connectionString)) { HDFSCommand cmd = new HDFSCommand("SELECT FileId, ChildrenNum INTO [csv://Files.txt] FROM [Files] WHERE FileId = '119116' ", connection); int rowsAffected = cmd.ExecuteNonQuery(); }
VB.NET
Dim connectionString As [String] = "Host=sandbox-hdp.hortonworks.com;Port=50070;Path=/user/root;" Using connection As New HDFSConnection(connectionString) Dim cmd As New HDFSCommand("SELECT FileId, ChildrenNum INTO [csv://Files.txt] FROM [Files] WHERE FileId = '119116'", 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 = "Host=sandbox-hdp.hortonworks.com;Port=50070;Path=/user/root;"; using (HDFSConnection connection = new HDFSConnection(connectionString)) { HDFSCommand cmd = new HDFSCommand("SELECT * INTO [Files] IN [csv://filename=c:/Files.csv;delimiter=tab] FROM [Files] WHERE FileId = '119116'", connection); int rowsAffected = cmd.ExecuteNonQuery(); }
VB.NET
Dim connectionString As [String] = "Host=sandbox-hdp.hortonworks.com;Port=50070;Path=/user/root;" Using connection As New HDFSConnection(connectionString) Dim cmd As New HDFSCommand("SELECT * INTO [Files] IN [csv://filename=c:/Files.csv;delimiter=tab] FROM [Files] WHERE FileId = '119116'", connection) Dim rowsAffected As Integer = cmd.ExecuteNonQuery() End Using