How can I get the row view of data read from parquet file?

  apache-arrow, apache-arrow-cpp, c++, parquet

Example: Let’s say a table name user has id, name, email, phone, and is_active as attributes. And there are 1000s of users part of this table. I would like to read the details per user.

void ParquetReaderPlus::read_next_row(long row_group_index, long local_row_num)
{
    std::vector<int> columns_to_tabulate(this->total_row);
    for (int idx = 0; idx < this->total_row; idx++)
        columns_to_tabulate[idx] = idx;

    this->file_reader->set_num_threads(4);
    int rg = this->total_row_group;

    // Read into table as row group rather than the whole Parquet file.
    std::shared_ptr<arrow::Table> table;
    this->file_reader->ReadRowGroup(row_group_index, columns_to_tabulate, &table);
    auto rows = table->num_rows();
    //TODO
    // Now I am confused how to proceed from here
}

Any suggestions?

I am confused if converting the ColumnarTableToVector will work?

Source: Windows Questions C++

LEAVE A COMMENT