22 class RArrowDS final :
public RDataSource {
24 std::shared_ptr<arrow::Table> fTable;
25 std::vector<std::pair<ULong64_t, ULong64_t>> fEntryRanges;
26 std::vector<std::string> fColumnNames;
29 std::vector<std::pair<size_t, size_t>> fGetterIndex;
30 std::vector<std::unique_ptr<ROOT::Internal::RDF::TValueGetter>> fValueGetters;
31 std::vector<void *> GetColumnReadersImpl(std::string_view name,
const std::type_info &type)
override;
34 RArrowDS(std::shared_ptr<arrow::Table> table, std::vector<std::string>
const &columns);
36 const std::vector<std::string> &GetColumnNames()
const override;
37 std::vector<std::pair<ULong64_t, ULong64_t>> GetEntryRanges()
override;
38 std::string GetTypeName(std::string_view colName)
const override;
39 bool HasColumn(std::string_view colName)
const override;
40 bool SetEntry(
unsigned int slot, ULong64_t entry)
override;
41 void InitSlot(
unsigned int slot, ULong64_t firstEntry)
override;
42 void SetNSlots(
unsigned int nSlots)
override;
43 void Initialise()
override;
44 std::string GetLabel()
override;
50 RDataFrame MakeArrowDataFrame(std::shared_ptr<arrow::Table> table, std::vector<std::string>
const &columns);