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

Method SplitByRowGroup

cpp/src/arrow/dataset/file_parquet.cc:871–889  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

869}
870
871Result<FragmentVector> ParquetFileFragment::SplitByRowGroup(
872 compute::Expression predicate) {
873 RETURN_NOT_OK(EnsureCompleteMetadata());
874 ARROW_ASSIGN_OR_RAISE(auto row_groups, FilterRowGroups(predicate));
875
876 FragmentVector fragments(row_groups.size());
877 int i = 0;
878 for (int row_group : row_groups) {
879 ARROW_ASSIGN_OR_RAISE(auto fragment,
880 parquet_format_.MakeFragment(source_, partition_expression(),
881 physical_schema_, {row_group}));
882
883 RETURN_NOT_OK(fragment->SetMetadata(metadata_, manifest_,
884 /*original_metadata=*/original_metadata_));
885 fragments[i++] = std::move(fragment);
886 }
887
888 return fragments;
889}
890
891Result<std::shared_ptr<Fragment>> ParquetFileFragment::Subset(
892 compute::Expression predicate) {

Callers

nothing calls this directly

Calls 2

sizeMethod · 0.45
SetMetadataMethod · 0.45

Tested by

no test coverage detected