|
40 | 40 | #include "parquet/api/writer.h"
|
41 | 41 |
|
42 | 42 | #include "parquet/arrow/reader.h"
|
| 43 | +#include "parquet/arrow/reader_internal.h" |
43 | 44 | #include "parquet/arrow/schema.h"
|
44 | 45 | #include "parquet/arrow/test-util.h"
|
45 | 46 | #include "parquet/arrow/writer.h"
|
@@ -597,12 +598,16 @@ class TestParquetIO : public ::testing::Test {
|
597 | 598 | std::shared_ptr<::arrow::Schema> arrow_schema;
|
598 | 599 | ArrowReaderProperties props;
|
599 | 600 | ASSERT_OK_NO_THROW(FromParquetSchema(&descriptor, props, &arrow_schema));
|
600 |
| - FileWriter writer(::arrow::default_memory_pool(), MakeWriter(schema), arrow_schema); |
601 |
| - ASSERT_OK_NO_THROW(writer.NewRowGroup(values->length())); |
602 |
| - ASSERT_OK_NO_THROW(writer.WriteColumnChunk(*values)); |
603 |
| - ASSERT_OK_NO_THROW(writer.Close()); |
604 |
| - // writer.Close() should be idempotent |
605 |
| - ASSERT_OK_NO_THROW(writer.Close()); |
| 601 | + |
| 602 | + std::unique_ptr<FileWriter> writer; |
| 603 | + ASSERT_OK_NO_THROW(FileWriter::Make(::arrow::default_memory_pool(), |
| 604 | + MakeWriter(schema), arrow_schema, |
| 605 | + default_arrow_writer_properties(), &writer)); |
| 606 | + ASSERT_OK_NO_THROW(writer->NewRowGroup(values->length())); |
| 607 | + ASSERT_OK_NO_THROW(writer->WriteColumnChunk(*values)); |
| 608 | + ASSERT_OK_NO_THROW(writer->Close()); |
| 609 | + // writer->Close() should be idempotent |
| 610 | + ASSERT_OK_NO_THROW(writer->Close()); |
606 | 611 | }
|
607 | 612 |
|
608 | 613 | void ResetSink() { sink_ = CreateOutputStream(); }
|
@@ -789,13 +794,17 @@ TYPED_TEST(TestParquetIO, SingleColumnRequiredChunkedWrite) {
|
789 | 794 | std::shared_ptr<::arrow::Schema> arrow_schema;
|
790 | 795 | ArrowReaderProperties props;
|
791 | 796 | ASSERT_OK_NO_THROW(FromParquetSchema(&descriptor, props, &arrow_schema));
|
792 |
| - FileWriter writer(default_memory_pool(), this->MakeWriter(schema), arrow_schema); |
| 797 | + |
| 798 | + std::unique_ptr<FileWriter> writer; |
| 799 | + ASSERT_OK_NO_THROW(FileWriter::Make(::arrow::default_memory_pool(), |
| 800 | + this->MakeWriter(schema), arrow_schema, |
| 801 | + default_arrow_writer_properties(), &writer)); |
793 | 802 | for (int i = 0; i < 4; i++) {
|
794 |
| - ASSERT_OK_NO_THROW(writer.NewRowGroup(chunk_size)); |
| 803 | + ASSERT_OK_NO_THROW(writer->NewRowGroup(chunk_size)); |
795 | 804 | std::shared_ptr<Array> sliced_array = values->Slice(i * chunk_size, chunk_size);
|
796 |
| - ASSERT_OK_NO_THROW(writer.WriteColumnChunk(*sliced_array)); |
| 805 | + ASSERT_OK_NO_THROW(writer->WriteColumnChunk(*sliced_array)); |
797 | 806 | }
|
798 |
| - ASSERT_OK_NO_THROW(writer.Close()); |
| 807 | + ASSERT_OK_NO_THROW(writer->Close()); |
799 | 808 |
|
800 | 809 | ASSERT_NO_FATAL_FAILURE(this->ReadAndCheckSingleColumnFile(*values));
|
801 | 810 | }
|
@@ -859,14 +868,17 @@ TYPED_TEST(TestParquetIO, SingleColumnOptionalChunkedWrite) {
|
859 | 868 | std::shared_ptr<::arrow::Schema> arrow_schema;
|
860 | 869 | ArrowReaderProperties props;
|
861 | 870 | ASSERT_OK_NO_THROW(FromParquetSchema(&descriptor, props, &arrow_schema));
|
862 |
| - FileWriter writer(::arrow::default_memory_pool(), this->MakeWriter(schema), |
863 |
| - arrow_schema); |
| 871 | + |
| 872 | + std::unique_ptr<FileWriter> writer; |
| 873 | + ASSERT_OK_NO_THROW(FileWriter::Make(::arrow::default_memory_pool(), |
| 874 | + this->MakeWriter(schema), arrow_schema, |
| 875 | + default_arrow_writer_properties(), &writer)); |
864 | 876 | for (int i = 0; i < 4; i++) {
|
865 |
| - ASSERT_OK_NO_THROW(writer.NewRowGroup(chunk_size)); |
| 877 | + ASSERT_OK_NO_THROW(writer->NewRowGroup(chunk_size)); |
866 | 878 | std::shared_ptr<Array> sliced_array = values->Slice(i * chunk_size, chunk_size);
|
867 |
| - ASSERT_OK_NO_THROW(writer.WriteColumnChunk(*sliced_array)); |
| 879 | + ASSERT_OK_NO_THROW(writer->WriteColumnChunk(*sliced_array)); |
868 | 880 | }
|
869 |
| - ASSERT_OK_NO_THROW(writer.Close()); |
| 881 | + ASSERT_OK_NO_THROW(writer->Close()); |
870 | 882 |
|
871 | 883 | ASSERT_NO_FATAL_FAILURE(this->ReadAndCheckSingleColumnFile(*values));
|
872 | 884 | }
|
@@ -2624,11 +2636,15 @@ TEST(TestArrowReaderAdHoc, DISABLED_LargeStringColumn) {
|
2624 | 2636 | GroupNode::Make("schema", Repetition::REQUIRED, {schm->group_node()->field(0)}));
|
2625 | 2637 |
|
2626 | 2638 | auto writer = ParquetFileWriter::Open(sink, schm_node);
|
2627 |
| - FileWriter arrow_writer(default_memory_pool(), std::move(writer), table->schema()); |
| 2639 | + |
| 2640 | + std::unique_ptr<FileWriter> arrow_writer; |
| 2641 | + ASSERT_OK_NO_THROW(FileWriter::Make(::arrow::default_memory_pool(), std::move(writer), |
| 2642 | + table->schema(), default_arrow_writer_properties(), |
| 2643 | + &arrow_writer)); |
2628 | 2644 | for (int i : {0, 1}) {
|
2629 |
| - ASSERT_OK_NO_THROW(arrow_writer.WriteTable(*table, table->num_rows())) << i; |
| 2645 | + ASSERT_OK_NO_THROW(arrow_writer->WriteTable(*table, table->num_rows())) << i; |
2630 | 2646 | }
|
2631 |
| - ASSERT_OK_NO_THROW(arrow_writer.Close()); |
| 2647 | + ASSERT_OK_NO_THROW(arrow_writer->Close()); |
2632 | 2648 |
|
2633 | 2649 | std::shared_ptr<Buffer> tables_buffer;
|
2634 | 2650 | ASSERT_OK_NO_THROW(sink->Finish(&tables_buffer));
|
|
0 commit comments