| 30 | namespace { |
| 31 | |
| 32 | Status RunMain(int argc, char** argv) { |
| 33 | const char* csv_filename = "test.csv"; |
| 34 | const char* arrow_filename = "test.arrow"; |
| 35 | |
| 36 | std::cerr << "* Reading CSV file '" << csv_filename << "' into table" << std::endl; |
| 37 | ARROW_ASSIGN_OR_RAISE(auto input_file, arrow::io::ReadableFile::Open(csv_filename)); |
| 38 | ARROW_ASSIGN_OR_RAISE(auto csv_reader, arrow::csv::TableReader::Make( |
| 39 | arrow::io::default_io_context(), input_file, |
| 40 | arrow::csv::ReadOptions::Defaults(), |
| 41 | arrow::csv::ParseOptions::Defaults(), |
| 42 | arrow::csv::ConvertOptions::Defaults())); |
| 43 | ARROW_ASSIGN_OR_RAISE(auto table, csv_reader->Read()); |
| 44 | |
| 45 | std::cerr << "* Read table:" << std::endl; |
| 46 | ARROW_RETURN_NOT_OK(arrow::PrettyPrint(*table, {}, &std::cerr)); |
| 47 | |
| 48 | std::cerr << "* Writing table into Arrow IPC file '" << arrow_filename << "'" |
| 49 | << std::endl; |
| 50 | ARROW_ASSIGN_OR_RAISE(auto output_file, |
| 51 | arrow::io::FileOutputStream::Open(arrow_filename)); |
| 52 | ARROW_ASSIGN_OR_RAISE(auto batch_writer, |
| 53 | arrow::ipc::MakeFileWriter(output_file, table->schema())); |
| 54 | ARROW_RETURN_NOT_OK(batch_writer->WriteTable(*table)); |
| 55 | ARROW_RETURN_NOT_OK(batch_writer->Close()); |
| 56 | |
| 57 | return Status::OK(); |
| 58 | } |
| 59 | |
| 60 | } // namespace |
| 61 |
no test coverage detected