Откройте файл CSV с помощью Apache стрелки в C ++ - PullRequest
0 голосов
/ 13 июля 2020

Я пытаюсь прочитать csv-файл с помощью Apache Arrow, но не могу понять InputStream ... Кажется, что пример в их документации устарел.

Я немного изменил пример, но получаю исключение «Местоположение чтения нарушения прав доступа». Есть идеи, что я делаю не так?

Спасибо

Мой код:

    arrow::MemoryPool* pool = arrow::default_memory_pool();

    std::shared_ptr<arrow::io::ReadableFile> infile;
    infile->Open("test.csv", pool);     

    auto read_options = arrow::csv::ReadOptions::Defaults();
    auto parse_options = arrow::csv::ParseOptions::Defaults();
    auto convert_options = arrow::csv::ConvertOptions::Defaults();

    // Instantiate TableReader from input stream and options
    std::shared_ptr<arrow::csv::StreamingReader> reader;
    auto res1 = reader->Make(pool, infile, read_options, parse_options, convert_options);
    if (!res1.ok()) {
        // Handle TableReader instantiation error...
    }

    std::shared_ptr<arrow::Table> table;
    // Read table from CSV file
    
    auto res2 = reader->ReadAll(&table);
    if (!res2.ok()) {
        // Handle CSV read error
        // (for example a CSV syntax error or failed type conversion)
    }
...