MCPcopy Create free account
hub / github.com/apache/arrow / Open

Method Open

cpp/src/parquet/arrow/writer.cc:564–589  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

562}
563
564Result<std::unique_ptr<FileWriter>> FileWriter::Open(
565 const ::arrow::Schema& schema, ::arrow::MemoryPool* pool,
566 std::shared_ptr<::arrow::io::OutputStream> sink,
567 std::shared_ptr<WriterProperties> properties,
568 std::shared_ptr<ArrowWriterProperties> arrow_properties) {
569 std::shared_ptr<SchemaDescriptor> parquet_schema;
570 RETURN_NOT_OK(
571 ToParquetSchema(&schema, *properties, *arrow_properties, &parquet_schema));
572
573 auto schema_node = std::static_pointer_cast<GroupNode>(parquet_schema->schema_root());
574
575 std::shared_ptr<const KeyValueMetadata> metadata;
576 RETURN_NOT_OK(GetSchemaMetadata(schema, pool, *arrow_properties, &metadata));
577
578 std::unique_ptr<ParquetFileWriter> base_writer;
579 PARQUET_CATCH_NOT_OK(base_writer = ParquetFileWriter::Open(std::move(sink), schema_node,
580 std::move(properties),
581 std::move(metadata)));
582
583 std::unique_ptr<FileWriter> writer;
584 auto schema_ptr = std::make_shared<::arrow::Schema>(schema);
585 RETURN_NOT_OK(Make(pool, std::move(base_writer), std::move(schema_ptr),
586 std::move(arrow_properties), &writer));
587
588 return writer;
589}
590
591Status WriteFileMetaData(const FileMetaData& file_metadata,
592 ::arrow::io::OutputStream* sink) {

Callers

nothing calls this directly

Calls 3

ToParquetSchemaFunction · 0.85
GetSchemaMetadataFunction · 0.85
MakeFunction · 0.50

Tested by

no test coverage detected