/
githubmirror
/
nbs
Обзор
Документация
Войти
/
githubmirror
/
nbs
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
yt/cpp/mapreduce/io/yamr_table_writer.cpp
58 строк
1 KB
Anton Myagkov
Update ydb version to 24.4 (#4579)
07 фев 2026, 11:59
Не верифицирован
07 фев 2026, 11:59
2c21cae
Код
Авторство
О чём код?
#include "yamr_table_writer.h" #include <yt/cpp/mapreduce/interface/io.h> namespace NYT { //////////////////////////////////////////////////////////////////////////////// TYaMRTableWriter::TYaMRTableWriter(THolder<IProxyOutput> output) : Output_(std::move(output)) { } TYaMRTableWriter::~TYaMRTableWriter() { } size_t TYaMRTableWriter::GetBufferMemoryUsage() const { return Output_->GetBufferMemoryUsage(); } size_t TYaMRTableWriter::GetTableCount() const { return Output_->GetStreamCount(); } void TYaMRTableWriter::FinishTable(size_t tableIndex) { Output_->GetStream(tableIndex)->Finish(); } void TYaMRTableWriter::AddRow(const TYaMRRow& row, size_t tableIndex) { auto* stream = Output_->GetStream(tableIndex); auto writeField = [&stream] (const TStringBuf& field) { i32 length = static_cast<i32>(field.length()); stream->Write(&length, sizeof(length)); stream->Write(field.data(), field.length()); }; writeField(row.Key); writeField(row.SubKey); writeField(row.Value); Output_->OnRowFinished(tableIndex); } void TYaMRTableWriter::AddRow(TYaMRRow&& row, size_t tableIndex) { TYaMRTableWriter::AddRow(row, tableIndex); } void TYaMRTableWriter::Abort() { Output_->Abort(); } //////////////////////////////////////////////////////////////////////////////// } // namespace NYT