Querying with the DataReader
The CData ADO.NET Provider for Apache Hive implements two ADO.NET interfaces you can use to retrieve data from Apache Hive: ApacheHiveDataAdapter and ApacheHiveDataReader objects. Whereas ApacheHiveDataAdapter objects retrieve a single result set of all the data that matches a query, ApacheHiveDataReader objects fetch data in subset increments as needed.
Using the ApacheHiveDataReader
The ApacheHiveDataReader retrieves data faster than the ApacheHiveDataAdapter because it can retrieve data in pages. As you read data from the ApacheHiveDataReader, it periodically requests the next page of results from the data source, if required. This causes results to be returned at a faster rate. The following example selects all the columns from the [CData].[Default].Customers table:
C#
string connectionString = "Server=127.0.0.1;Port=10000;TransportMode=BINARY"; using (ApacheHiveConnection connection = new ApacheHiveConnection(connectionString)) { ApacheHiveCommand cmd = new ApacheHiveCommand("SELECT * FROM [CData].[Default].Customers", connection); ApacheHiveDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { Console.WriteLine(String.Format("\t{0} --> \t\t{1}", rdr["City"], rdr["CompanyName"])); } }
VB.NET
Dim connectionString As String = "Server=127.0.0.1;Port=10000;TransportMode=BINARY" Using connection As New ApacheHiveConnection(connectionString) Dim cmd As New ApacheHiveCommand("SELECT * FROM [CData].[Default].Customers", connection) Dim rdr As ApacheHiveDataReader = cmd.ExecuteReader() While rdr.Read() Console.WriteLine([String].Format(vbTab & "{0} --> " & vbTab & vbTab & "{1}", rdr("City"), rdr("CompanyName"))) End While End Using