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