C++/parquet: How to write "Map" data (nested type)?

Viewed 183

Based on the "StreamWriter" example (stream_reader_writer), I'm trying to add another column to the parquet schema which I want to write "Map-Data" (Map<Integer, String>) to.

According to this source, maps are supported by the C++ implementation. However, it's not clear to me how to ...

  • correctly add/define another column of type "Map" to the parquet schema. According to the previous link, Maps are "Logical Types", so my best try so far is

    fields.push_back(parquet::schema::PrimitiveNode::Make("Map", parquet::Repetition::REQUIRED, parquet::LogicalType::Map(), parquet::Type::INT64));

This compiles without error but I'm uncertain about the last parameter "primitive_type" (parquet::Type::INT64).

  • how to define and write actual Map values. Again, the second links provides a general description of a parquet Map:

Map

The github repo is missing a C++ example (or test case) on how to use a Map/Logical Types. I'm looking for advice/an C++ example, how to define and use a Map.

0 Answers
Related