代码评注赛初阶段成果提交火箭队 #2

Open
saltyfish wants to merge 160 commits from saltyfish/mindspore2022:r.19 into master
1 changed files with 106 additions and 0 deletions
Showing only changes of commit 70a151d839 - Show all commits

View File

@ -0,0 +1,106 @@
/**
* Copyright 2019 Huawei Technologies Co., Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef MINDSPORE_CCSRC_MINDDATA_MINDRECORD_INCLUDE_SHARD_PAGE_H_
#define MINDSPORE_CCSRC_MINDDATA_MINDRECORD_INCLUDE_SHARD_PAGE_H_
#include <fstream>
#include <iostream>
#include <memory>
#include <string>
#include <utility>
#include <vector>
#include "minddata/mindrecord/include/common/shard_utils.h"
#include "pybind11/pybind11.h"
#include "utils/log_adapter.h"
namespace mindspore {
namespace mindrecord {
const std::string kPageTypeRaw = "RAW_DATA";
const std::string kPageTypeBlob = "BLOB_DATA";
const std::string kPageTypeNewColumn = "NEW_COLUMN_DATA";
class __attribute__((visibility("default"))) Page {
public:
Page(const int &page_id, const int &shard_id, const std::string &page_type, const int &page_type_id,
const uint64_t &start_row_id, const uint64_t end_row_id,
const std::vector<std::pair<int, uint64_t>> &row_group_ids, const uint64_t page_size)
: page_id_(page_id),
shard_id_(shard_id),
page_type_(page_type),
page_type_id_(page_type_id),
start_row_id_(start_row_id),
end_row_id_(end_row_id),
row_group_ids_(row_group_ids),
page_size_(page_size) {}
~Page() = default;
/// \brief get the page and its description
/// \return the json format of the page and its description
json GetPage() const;
int GetPageID() const { return page_id_; }
int GetShardID() const { return shard_id_; }
int GetPageTypeID() const { return page_type_id_; }
std::string GetPageType() const { return page_type_; }
uint64_t GetPageSize() const { return page_size_; }
uint64_t GetStartRowID() const { return start_row_id_; }
uint64_t GetEndRowID() const { return end_row_id_; }
void SetEndRowID(const uint64_t &end_row_id) { end_row_id_ = end_row_id; }
void SetPageSize(const uint64_t &page_size) { page_size_ = page_size; }
std::pair<int, uint64_t> GetLastRowGroupID() const { return row_group_ids_.back(); }
std::vector<std::pair<int, uint64_t>> GetRowGroupIds() const { return row_group_ids_; }
void SetRowGroupIds(const std::vector<std::pair<int, uint64_t>> &last_row_group_ids) {
row_group_ids_ = last_row_group_ids;
}
void DeleteLastGroupId();
private:
int page_id_;
int shard_id_;
std::string page_type_;
int page_type_id_;
uint64_t start_row_id_;
uint64_t end_row_id_;
std::vector<std::pair<int, uint64_t>> row_group_ids_;
uint64_t page_size_;
// JSON page: {
// "page_id":X,
// "shard_id":X,
// "page_type":"XXX", (enum "raw_data", "blob_data", "new_column")
// "page_type_id":X,
// "start_row_id":X,
// "end_row_id":X,
// "row_group_ids":[{"id":X, "offset":X}],
// "page_size":X,
};
} // namespace mindrecord
} // namespace mindspore
#endif // MINDSPORE_CCSRC_MINDDATA_MINDRECORD_INCLUDE_SHARD_PAGE_H_