Querying with the DataReader
The CData ADO.NET Provider for Apache HBase implements two ADO.NET interfaces you can use to retrieve data from Apache HBase: ApacheHBaseDataAdapter and ApacheHBaseDataReader objects. Whereas ApacheHBaseDataAdapter objects retrieve a single result set of all the data that matches a query, ApacheHBaseDataReader objects fetch data in subset increments as needed.
Using the ApacheHBaseDataReader
The ApacheHBaseDataReader retrieves data faster than the ApacheHBaseDataAdapter because it can retrieve data in pages. As you read data from the ApacheHBaseDataReader, 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 Account table:
C#
string connectionString = "Server=127.0.0.1;Port=8080;"; using (ApacheHBaseConnection connection = new ApacheHBaseConnection(connectionString)) { ApacheHBaseCommand cmd = new ApacheHBaseCommand("SELECT * FROM Account", connection); ApacheHBaseDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { Console.WriteLine(String.Format("\t{0} --> \t\t{1}", rdr["Id"], rdr["Name"])); } }
VB.NET
Dim connectionString As String = "Server=127.0.0.1;Port=8080;" Using connection As New ApacheHBaseConnection(connectionString) Dim cmd As New ApacheHBaseCommand("SELECT * FROM Account", connection) Dim rdr As ApacheHBaseDataReader = cmd.ExecuteReader() While rdr.Read() Console.WriteLine([String].Format(vbTab & "{0} --> " & vbTab & vbTab & "{1}", rdr("Id"), rdr("Name"))) End While End Using