C++ Apache Arrow Schema --- ListArray («элемент» с «повторением»: «Обязательно»)C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 C++ Apache Arrow Schema --- ListArray («элемент» с «повторением»: «Обязательно»)

Сообщение Anonymous »

Я задаю этот вопрос, используя полный пример («преобразование строк в столбцы, фиксированные схемы») с веб-сайта Apache Arrow https://arrow.apache.org/docs/dev/cpp/e ... rsion.html
В примере веб-сайта вектор схемы определен как

Код: Выделить всё

std::vector schema_vector = {
arrow::field("id", arrow::int64()),
arrow::field("components", arrow::int64()),
arrow::field("component_cost", arrow::list(arrow::float64()))
};
Следовательно, детали схемы «comComponent_cost» будут отображаться для «элемента списка».

Код: Выделить всё

"fields": {"PrimitiveType": { "field_info": { "name": "item", "repetition": "Optional", "id": null }, "logical_type": null, "converted_type": null, "physical_type": "Double" } }
Это означает, что повторение элемента не является обязательным в массиве списка!
В моем случае, если я хочу убедитесь, что повторение элемента требуется в массиве списка, и я попробовал следующее, чтобы вывести паркет на мой локальный диск (т. е. я изменил «schema_vector» по сравнению с приведенным выше, используемым в Apache веб-сайт Стрелы)

Код: Выделить всё

std::vector schema_vector = {
arrow::field("id", arrow::int64()),
arrow::field("components", arrow::int64()),
arrow::field("component_cost", arrow::list(arrow::field("item", arrow::float64(), false)))
};

auto schema = std::make_shared(schema_vector);
std::shared_ptr table = arrow::Table::Make(schema, {id_array, components_array, component_cost_array});
auto file_path = "C:/my_example/example.parquet";
PARQUET_ASSIGN_OR_THROW(outfile, arrow::io::FileOutputStream::Open(file_path.string()));
PARQUET_THROW_NOT_OK(parquet::arrow::WriteTable(*table, arrow::default_memory_pool(), outfile));
Однако в бите «WriteTable» код полностью завис, и я не мог понять, что я здесь сделал не так.
Любые предложения вот, большое спасибо!!!
Я попробовал описанный выше способ, и он не сработал.
Я просто хотел бы вывести файл паркета на свой локальный диск, где будет находиться схема для элемента списка в «comComponent_cost».

Код: Выделить всё

"fields": { "PrimitiveType": { "field_info": { "name": "item", "repetition": "Required", "id": null }, "logical_type": null, "converted_type": null, "physical_type": "Double" } }
Это означает, что повторение элементов требуется в массиве списка!

Подробнее здесь: https://stackoverflow.com/questions/783 ... n-required
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как мне прочитать файл `.Arrow` (Apache Arrow Aka Feather V2) файл Python Pandas?
    Anonymous » » в форуме Python
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • Как мне прочитать файл `.Arrow` (Apache Arrow Aka Feather V2) файл Python Pandas?
    Anonymous » » в форуме Python
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • При выполнении org.apache.avro:avro-maven-plugin:1.11.3:schema: org/apache/avro/Schema$Parser отсутствовал необходимый к
    Anonymous » » в форуме JAVA
    0 Ответы
    71 Просмотры
    Последнее сообщение Anonymous
  • Где работает Arrow Arrow в консоли Java?
    Anonymous » » в форуме JAVA
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Поле «Штат/округ» обязательно должно быть обязательно в калькуляторе доставки WooCommerce.
    Anonymous » » в форуме Jquery
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»