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

Method WriteFile

cpp/src/parquet/metadata_benchmark.cc:67–93  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

65 }
66
67 std::shared_ptr<Buffer> WriteFile(benchmark::State* state) {
68 PARQUET_ASSIGN_OR_THROW(auto sink, BufferOutputStream::Create());
69
70 auto writer = ParquetFileWriter::Open(sink, schema_root_, writer_properties_);
71 std::vector<int32_t> int32_values(1, 42);
72 int64_t data_size = 0;
73 for (int rg = 0; rg < num_row_groups_; ++rg) {
74 auto row_group_writer = writer->AppendRowGroup();
75 for (int col = 0; col < num_columns_; ++col) {
76 auto col_writer = row_group_writer->NextColumn();
77 ARROW_CHECK_EQ(col_writer->type(), Type::INT32);
78 auto typed_col_writer = static_cast<Int32Writer*>(col_writer);
79 typed_col_writer->WriteBatch(
80 /*num_values=*/static_cast<int64_t>(int32_values.size()),
81 /*def_levels=*/nullptr, /*rep_levels=*/nullptr, int32_values.data());
82 typed_col_writer->Close();
83 }
84 row_group_writer->Close();
85 data_size += row_group_writer->total_compressed_bytes_written();
86 }
87 writer->Close();
88 PARQUET_ASSIGN_OR_THROW(auto buf, sink->Finish());
89 state->counters["file_size"] = static_cast<double>(buf->size());
90 // Note that "data_size" includes the Thrift page headers
91 state->counters["data_size"] = static_cast<double>(data_size);
92 return buf;
93 }
94
95 void ReadFile(std::shared_ptr<Buffer> contents) {
96 auto source = std::make_shared<BufferReader>(contents);

Callers 2

WriteFileMetadataAndDataFunction · 0.45
ReadFileMetadataFunction · 0.45

Calls 8

AppendRowGroupMethod · 0.45
NextColumnMethod · 0.45
typeMethod · 0.45
WriteBatchMethod · 0.45
sizeMethod · 0.45
dataMethod · 0.45
CloseMethod · 0.45

Tested by

no test coverage detected