Analytical Engine API Reference¶
Analytical Engine¶
-
class GrapeEngine¶
GrapeEngine is responsible to assemble and start four major components of analytical engine, including VineyardServer, GrapeInstance, Dispatcher and GraphScopeServer.
Public Functions
-
inline GrapeEngine(std::string host, int port)¶
Construct a new GrapeEngine object in service mode, listening at the host:port for incoming rpc requests.
- Parameters:
host –
port –
-
inline explicit GrapeEngine(std::string dag_file)¶
Construct a new GrapeEngine object in job mode, processing the workflow defined in the dagfile.
- Parameters:
dag_file –
-
inline void Start()¶
-
inline void Stop()¶
-
inline int RunDAGFile()¶
-
inline GrapeEngine(std::string host, int port)¶
-
class GrapeInstance : public gs::Subscriber¶
MPI management.
This controller initials MPI communication world, assign a rank to each process. According to the assigned rank, determines whether this process runs as a coordinator or a worker. It also in charges of execute commands from coordinator.
-
class GSObject¶
GSObject is the base class of GraphScope object. Every object which is managed by ObjectManager should inherit GSObject.
Subclassed by gs::AppEntry, gs::IContextWrapper, gs::IFragmentWrapper, gs::Projector, gs::PropertyGraphUtils
-
class ObjectManager¶
ObjectManager manages GSObject like fragment wrapper, loaded app and more.
-
class AnalyticalServer¶
AnalyticalServer is responsible for create and start the gRPC service.
-
struct EngineConfig¶
EngineConfig contains configurations about the analytical engine, such as networkx features in enabled or not, vineyard socket, and vineyard rpc endpoint.
Public Functions
-
inline std::string ToJsonString() const¶
-
inline std::string ToJsonString() const¶
-
class Dispatcher¶
The dispatcher broadcast commands to every worker using MPI.
-
class DispatchResult¶
DispatchResult wraps computation result, metadata and error message for python client.
Public Types
Public Functions
-
DispatchResult() = default¶
-
inline explicit DispatchResult(int worker_id, rpc::Code error_code = rpc::Code::OK)¶
-
inline int worker_id() const¶
-
inline void set_error(rpc::Code error_code, const std::string &message)¶
-
inline rpc::Code error_code() const¶
-
inline std::string message()¶
-
inline bool has_large_data() const¶
-
inline void set_graph_def(const rpc::graph::GraphDefPb &graph_def, AggregatePolicy policy = AggregatePolicy::kMergeGraphDef)¶
Set the graph metadata. The meta should be kept consistent among all workers.
- Parameters:
graph_def –
-
inline const rpc::graph::GraphDefPb &graph_def() const¶
-
inline rpc::graph::GraphDefPb &graph_def()¶
-
inline void set_data(const std::string &data, AggregatePolicy policy = AggregatePolicy::kRequireConsistent, bool large_data = false)¶
-
inline void set_data(const grape::InArchive &arc, AggregatePolicy policy = AggregatePolicy::kRequireConsistent, bool large_data = false)¶
-
inline const std::string &data() const¶
-
inline AggregatePolicy aggregate_policy() const¶
-
DispatchResult() = default¶
Fragments in GraphScope¶
-
template<typename FRAG_T>
class FragmentWrapper¶ This is a fragment wrapper, which means a series of methods are provided to serialize/transform the data attached to the fragment. An AddColumn method is provided to add properties to create a new fragment from the original one.
- Template Parameters:
FRAG_T –
-
template<typename OID_T, typename VID_T, typename VDATA_T, typename EDATA_T, typename VERTEX_MAP_T = vineyard::ArrowVertexMap<typename vineyard::InternalType<OID_T>::type, VID_T>, bool COMPACT = false>
class ArrowProjectedFragment : public gs::ArrowProjectedFragmentBase, public vineyard::BareRegistered<ArrowProjectedFragment<OID_T, VID_T, VDATA_T, EDATA_T, vineyard::ArrowVertexMap<typename vineyard::InternalType<OID_T>::type, VID_T>, false>>¶ This class represents the fragment projected from ArrowFragment which contains only one vertex label and edge label. The fragment has no label and property.
- Template Parameters:
OID_T – OID type
VID_T – VID type
VDATA_T – The type of data attached with the vertex
EDATA_T – The type of data attached with the edge
Public Types
-
using eid_t = vineyard::property_graph_types::EID_TYPE¶
-
using inner_vertices_t = vertex_range_t¶
-
using outer_vertices_t = vertex_range_t¶
-
using vertices_t = vertex_range_t¶
-
using sub_vertices_t = vertex_range_t¶
-
using const_adj_list_t = adj_list_t¶
-
using const_compact_adj_list_t = compact_adj_list_t¶
-
using property_vertex_map_t = VERTEX_MAP_T¶
-
using vertex_map_t = ArrowProjectedVertexMap<internal_oid_t, vid_t, property_vertex_map_t>¶
-
using label_id_t = vineyard::property_graph_types::LABEL_ID_TYPE¶
-
using prop_id_t = vineyard::property_graph_types::PROP_ID_TYPE¶
-
using property_graph_t = vineyard::ArrowFragment<oid_t, vid_t, property_vertex_map_t, COMPACT>¶
-
template<typename DATA_T>
using vertex_array_t = grape::VertexArray<vertices_t, DATA_T>¶
-
template<typename DATA_T>
using inner_vertex_array_t = grape::VertexArray<inner_vertices_t, DATA_T>¶
-
template<typename DATA_T>
using outer_vertex_array_t = grape::VertexArray<outer_vertices_t, DATA_T>¶
Public Functions
-
inline ~ArrowProjectedFragment()¶
-
inline void Construct(const vineyard::ObjectMeta &meta) override¶
-
inline void PrepareToRunApp(const grape::CommSpec &comm_spec, grape::PrepareConf conf)¶
-
inline fid_t fid() const¶
-
inline fid_t fnum() const¶
-
inline label_id_t vertex_label() const¶
-
inline label_id_t edge_label() const¶
-
inline vertex_range_t Vertices() const¶
-
inline vertex_range_t InnerVertices() const¶
-
inline vertex_range_t OuterVertices() const¶
-
inline vertex_range_t OuterVertices(fid_t fid) const¶
-
inline internal_oid_t GetInternalId(const vertex_t &v) const¶
-
inline arrow_projected_fragment_impl::TypedArray<VDATA_T>::value_type GetData(const vertex_t &v) const¶
-
inline size_t GetEdgeNum() const¶
-
inline size_t GetInEdgeNum() const¶
-
inline size_t GetOutEdgeNum() const¶
-
inline size_t GetOutgoingEdgeNum() const¶
-
inline size_t GetIncomingEdgeNum() const¶
-
inline size_t GetTotalVerticesNum() const¶
-
inline internal_oid_t GetInnerVertexInternalId(const vertex_t &v) const¶
-
inline internal_oid_t GetOuterVertexInternalId(const vertex_t &v) const¶
-
template<bool COMPACT_ = COMPACT>
inline std::enable_if<!COMPACT_, adj_list_t>::type GetIncomingAdjList(const vertex_t &v) const¶
-
template<bool COMPACT_ = COMPACT>
inline std::enable_if<COMPACT_, compact_adj_list_t>::type GetIncomingAdjList(const vertex_t &v) const¶
-
template<bool COMPACT_ = COMPACT>
inline std::enable_if<!COMPACT_, adj_list_t>::type GetOutgoingAdjList(const vertex_t &v) const¶
-
template<bool COMPACT_ = COMPACT>
inline std::enable_if<COMPACT_, compact_adj_list_t>::type GetOutgoingAdjList(const vertex_t &v) const¶
-
template<bool COMPACT_ = COMPACT>
inline std::enable_if<!COMPACT_, adj_list_t>::type GetIncomingInnerVertexAdjList(const vertex_t &v) const¶
-
template<bool COMPACT_ = COMPACT>
inline std::enable_if<!COMPACT_, adj_list_t>::type GetOutgoingInnerVertexAdjList(const vertex_t &v) const¶
-
template<bool COMPACT_ = COMPACT>
inline std::enable_if<!COMPACT_, adj_list_t>::type GetIncomingOuterVertexAdjList(const vertex_t &v) const¶
-
template<bool COMPACT_ = COMPACT>
inline std::enable_if<!COMPACT_, adj_list_t>::type GetOutgoingOuterVertexAdjList(const vertex_t &v) const¶
-
template<bool COMPACT_ = COMPACT>
inline std::enable_if<!COMPACT_, adj_list_t>::type GetIncomingAdjList(const vertex_t &v, fid_t src_fid) const¶
-
template<bool COMPACT_ = COMPACT>
inline std::enable_if<!COMPACT_, adj_list_t>::type GetOutgoingAdjList(const vertex_t &v, fid_t dst_fid) const¶
-
inline std::shared_ptr<vertex_map_t> GetVertexMap()¶
-
inline const std::shared_ptr<vertex_map_t> GetVertexMap() const¶
-
inline bool directed() const¶
-
template<bool COMPACT_ = COMPACT>
inline std::enable_if<!COMPACT_, const nbr_unit_t*>::type get_out_edges_ptr() const¶
-
template<bool COMPACT_ = COMPACT>
inline std::enable_if<!COMPACT_, const nbr_unit_t*>::type get_in_edges_ptr() const¶
-
inline const int64_t *get_oe_offsets_begin_ptr() const¶
-
inline const int64_t *get_oe_offsets_end_ptr() const¶
-
inline const int64_t *get_ie_offsets_begin_ptr() const¶
-
inline const int64_t *get_ie_offsets_end_ptr() const¶
-
inline std::shared_ptr<vineyard::ArrowFragment<oid_t, vid_t, property_vertex_map_t, COMPACT>> get_arrow_fragment()¶
-
inline vineyard::ObjectID vertex_map_id() const¶
-
inline bool local_vertex_map() const¶
-
inline bool compact_edges() const¶
-
inline bool use_perfect_hash() const¶
Public Static Attributes
-
static constexpr grape::LoadStrategy load_strategy = grape::LoadStrategy::kBothOutIn¶
-
template<typename OID_T, typename VID_T, typename VERTEX_MAP_T = vineyard::ArrowVertexMap<OID_T, VID_T>>
class ArrowProjectedVertexMap : public vineyard::Registered<ArrowProjectedVertexMap<OID_T, VID_T, vineyard::ArrowVertexMap<OID_T, VID_T>>>¶ This class represents the mapping between oid and vid.
- Template Parameters:
OID_T – OID type
VID_T – VID type
Public Functions
-
inline void Construct(const vineyard::ObjectMeta &meta)¶
-
inline bool GetOid(vid_t gid, oid_t &oid) const¶
-
inline bool GetGid(fid_t fid, oid_t oid, vid_t &gid) const¶
-
inline bool GetGid(oid_t oid, vid_t &gid) const¶
-
inline vid_t Offset2Lid(const vid_t &offset)¶
-
inline vid_t GetOffsetFromLid(vid_t lid)¶
-
inline size_t GetTotalVerticesNum() const¶
-
inline fid_t GetFidFromGid(vid_t gid) const¶
-
inline bool use_perfect_hash() const¶
-
template<typename OID_T = vineyard::property_graph_types::OID_TYPE, typename VID_T = vineyard::property_graph_types::VID_TYPE, template<typename OID_T_ = typename vineyard::InternalType<OID_T>::type, typename VID_T_ = VID_T> class VERTEX_MAP_T = vineyard::ArrowVertexMap>
class ArrowFragmentLoader : public vineyard::ArrowFragmentLoader<vineyard::property_graph_types::OID_TYPE, vineyard::property_graph_types::VID_TYPE>¶ This loader can load a ArrowFragment from the data source including local file, oss, numpy, pandas and vineyard.
- Template Parameters:
OID_T – OID type
VID_T – VID type
Public Functions
-
inline ArrowFragmentLoader(vineyard::Client &client, const grape::CommSpec &comm_spec, const std::vector<std::string> &efiles, const std::vector<std::string> &vfiles, bool directed = true, bool generate_eid = false, bool retain_oid = false, bool compact_edges = false, bool use_perfect_hash = false)¶
-
~ArrowFragmentLoader() = default¶
-
inline boost::leaf::result<std::pair<table_vec_t, std::vector<table_vec_t>>> LoadVertexEdgeTables()¶
-
inline bl::result<table_vec_t> LoadVertexTables()¶
-
inline bl::result<std::vector<table_vec_t>> LoadEdgeTables()¶
-
inline boost::leaf::result<vineyard::ObjectID> LoadFragment()¶
-
inline boost::leaf::result<vineyard::ObjectID> LoadFragmentAsFragmentGroup()¶
-
inline bl::result<vineyard::ObjectID> AddLabelsToFragment(vineyard::ObjectID frag_id)¶
-
inline bl::result<vineyard::ObjectID> AddDataToExistedVLabel(vineyard::ObjectID frag_id, label_id_t label_id)¶
-
inline bl::result<vineyard::ObjectID> AddDataToExistedELabel(vineyard::ObjectID frag_id, label_id_t label_id)¶
-
inline boost::leaf::result<vineyard::ObjectID> AddLabelsToFragmentAsFragmentGroup(vineyard::ObjectID frag_id)¶
-
inline bl::result<vineyard::ObjectID> ExtendLabelData(vineyard::ObjectID frag_id, int extend_type)¶
-
inline bl::result<void> initPartitioner()¶
Warning
doxygenclass: Cannot find class “gs::ArrowFragmentAppender” in doxygen xml output for project “GraphScope” from directory: /home/runner/work/GraphScope/GraphScope/docs/_build/doxygen/xml
Analytical Apps¶
-
template<typename FRAG_T, typename CONTEXT_T>
class AppBase¶ AppBase is the base class for applications.
It contains an grape::DefaultMessageManager to process messages during execution of application. Apps derived from this class need to process messages explicitly.
- Template Parameters:
FRAG_T – Fragment class
CONTEXT_T – App context class
Public Types
-
using message_manager_t = grape::DefaultMessageManager¶
Public Functions
-
AppBase() = default¶
-
virtual ~AppBase() = default¶
-
virtual void PEval(const FRAG_T &graph, CONTEXT_T &context, message_manager_t &messages) = 0¶
Partial evaluation to implement.
Note
: This pure virtual function works as an interface, instructing users to implement in the specific app. The PEval in the inherited apps would be invoked directly, not via virtual functions.
- Parameters:
graph –
context –
messages –
-
virtual void IncEval(const FRAG_T &graph, CONTEXT_T &context, message_manager_t &messages) = 0¶
Incremental evaluation to implement.
Note
: This pure virtual function works as an interface, instructing users to implement in the specific app. The IncEval in the inherited apps would be invoked directly, not via virtual functions.
- Parameters:
graph –
context –
messages –
-
template<typename FRAG_T, typename CONTEXT_T>
class PropertyAppBase¶ PropertyAppBase is the base class for applications on property graphs.
It contains an PropertyMessageManager to process messages during execution of application. Apps derived from this class need to process messages explicitly.
- Template Parameters:
FRAG_T –
CONTEXT_T –
Public Types
-
using message_manager_t = PropertyMessageManager¶
Public Functions
-
PropertyAppBase() = default¶
-
virtual ~PropertyAppBase() = default¶
-
virtual void PEval(const FRAG_T &graph, CONTEXT_T &context, message_manager_t &messages) = 0¶
Partial evaluation to implement.
Note
: This pure virtual function works as an interface, instructing users to implement in the specific app. The PEval in the inherited apps would be invoked directly, not via virtual functions.
- Parameters:
graph –
context –
messages –
-
virtual void IncEval(const FRAG_T &graph, CONTEXT_T &context, message_manager_t &messages) = 0¶
Incremental evaluation to implement.
Note
: This pure virtual function works as an interface, instructing users to implement in the specific app. The IncEval in the inherited apps would be invoked directly, not via virtual functions.
- Parameters:
graph –
context –
messages –
-
template<typename FRAG_T, typename CONTEXT_T>
class PropertyAutoAppBase¶ PropertyAutoAppBase is the base class for applications on property graph, with an PropertyAutoMessageManager to process messages during execution of application. Apps derived from this class do not need to process messages explicitly.
- Template Parameters:
FRAG_T –
CONTEXT_T –
Public Functions
-
PropertyAutoAppBase() = default¶
-
virtual ~PropertyAutoAppBase() = default¶
-
virtual void PEval(const FRAG_T &graph, CONTEXT_T &context) = 0¶
Partial evaluation to implement.
Note
: This pure virtual function works as an interface, instructing users to implement in the specific app. The PEval in the inherited apps would be invoked directly, not via virtual functions.
- Parameters:
graph –
context –
messages –
-
virtual void IncEval(const FRAG_T &graph, CONTEXT_T &context) = 0¶
Incremental evaluation to implement.
Note
: This pure virtual function works as an interface, instructing users to implement in the specific app. The IncEval in the inherited apps would be invoked directly, not via virtual functions.
- Parameters:
graph –
context –
messages –
-
template<typename APP_T>
class DefaultWorker¶ DefaultWorker manages the computation cycle. DefaultWorker is a kind of serial worker for apps derived from AppBase.
- Template Parameters:
APP_T –
Public Types
-
using message_manager_t = grape::DefaultMessageManager¶
-
template<typename APP_T>
class ParallelPropertyWorker¶ A parallel worker for labeled fragment.
- Template Parameters:
APP_T –
Public Types
-
using message_manager_t = ParallelPropertyMessageManager¶
-
template<typename APP_T>
class PropertyAutoWorker¶ A Worker manages the computation cycle. PropertyAutoWorker is a kind of worker for apps derived from PropertyAutoAppBase.
- Template Parameters:
APP_T –
Public Types
-
class AppEntry : public gs::GSObject¶
AppEntry is a class manages an application.
AppEntry holds the a group of function pointers to manipulate the AppFrame, such as gs::CreateWorker, DeleteWorker and Query. The method Init must be called to load the library before use.
-
template<class FunctionType>
struct ArgsNum¶
-
template<typename T>
struct ArgsUnpacker¶ ArgsUnpacker is an util to unpack the Any type of proto to C++ datatype.
- Template Parameters:
T – The destination type
-
template<std::size_t index, class FunctionType>
struct ArgTypeAt¶
Analytical Workers¶
-
template<typename APP_T>
class DefaultWorker DefaultWorker manages the computation cycle. DefaultWorker is a kind of serial worker for apps derived from AppBase.
- Template Parameters:
APP_T –
Public Types
-
using fragment_t = typename APP_T::fragment_t
-
using context_t = typename APP_T::context_t
-
using message_manager_t = grape::DefaultMessageManager
Public Functions
-
inline DefaultWorker(std::shared_ptr<APP_T> app, std::shared_ptr<fragment_t> graph)
-
~DefaultWorker() = default
-
inline void Init(const grape::CommSpec &comm_spec, const grape::ParallelEngineSpec &pe_spec = grape::DefaultParallelEngineSpec())
-
inline void Finalize()
-
template<class ...Args>
inline void Query(Args&&... args)
-
inline std::shared_ptr<context_t> GetContext()
-
inline void Output(std::ostream &os)
-
template<typename APP_T>
class DefaultPropertyWorker¶ A Worker manages the computation cycle. DefaultPropertyWorker is a kind of worker for apps derived from AppBase.
- Template Parameters:
APP_T –
Public Types
-
using message_manager_t = PropertyMessageManager¶
-
template<typename APP_T>
class ParallelPropertyWorker A parallel worker for labeled fragment.
- Template Parameters:
APP_T –
Public Types
-
using fragment_t = typename APP_T::fragment_t
-
using context_t = typename APP_T::context_t
-
using message_manager_t = ParallelPropertyMessageManager
Public Functions
-
inline ParallelPropertyWorker(std::shared_ptr<APP_T> app, std::shared_ptr<fragment_t> graph)
-
virtual ~ParallelPropertyWorker() = default
-
inline void Init(const grape::CommSpec &comm_spec, const grape::ParallelEngineSpec &pe_spec = grape::DefaultParallelEngineSpec())
-
inline void Finalize()
-
template<class ...Args>
inline void Query(Args&&... args)
-
inline std::shared_ptr<context_t> GetContext()
-
inline void Output(std::ostream &os)
-
template<typename APP_T>
class PropertyAutoWorker A Worker manages the computation cycle. PropertyAutoWorker is a kind of worker for apps derived from PropertyAutoAppBase.
- Template Parameters:
APP_T –
Public Types
-
using fragment_t = typename APP_T::fragment_t
-
using context_t = typename APP_T::context_t
-
using message_manager_t = PropertyAutoMessageManager<typename APP_T::fragment_t>
Public Functions
-
inline PropertyAutoWorker(std::shared_ptr<APP_T> app, std::shared_ptr<fragment_t> graph)
-
~PropertyAutoWorker() = default
-
inline void Init(const grape::CommSpec &comm_spec, const grape::ParallelEngineSpec &pe_spec = grape::DefaultParallelEngineSpec())
-
inline void Finalize()
-
template<class ...Args>
inline void Query(Args&&... args)
-
inline std::shared_ptr<context_t> GetContext()
-
inline void Output(std::ostream &os)
App’s Context¶
-
template<typename CTX_T, typename = void>
struct CtxWrapperBuilder¶ This is a utility to build kinds of ContextWrapper instances.
- Template Parameters:
CTX_T –
-
template<typename FRAG_T>
class VertexPropertyContext : public ContextBase¶ VertexPropertyContext can hold any number of columns. The context is designed for labeled fragment - ArrowFragment. Compared with LabeledVertexDataContext, the data type and column count can be determined at runtime.
- Template Parameters:
FRAG_T – The fragment class (non-labeled fragment only)
Public Types
-
using vertex_t = typename fragment_t::vertex_t¶
-
using prop_id_t = vineyard::property_graph_types::PROP_ID_TYPE¶
-
using oid_t = typename fragment_t::oid_t¶
Public Functions
-
inline explicit VertexPropertyContext(const fragment_t &fragment)¶
-
inline const fragment_t &fragment()¶
-
inline int64_t add_column(const std::string &name, ContextDataType type)¶
-
inline std::shared_ptr<IColumn> get_column(int64_t index)¶
-
inline std::shared_ptr<IColumn> get_column(const std::string &name)¶
-
inline std::vector<std::shared_ptr<IColumn>> &vertex_properties()¶
-
inline const std::map<std::string, std::shared_ptr<IColumn>> &properties_map()¶
-
template<typename FRAG_T, typename DATA_T>
class VertexDataContextWrapper : public gs::IVertexDataContextWrapper¶ This is the wrapper class for VertexDataContext. A series of methods are provided to transform the data hold by the context.
- Template Parameters:
FRAG_T – The fragment class (Non-labeled fragment only)
DATA_T – The Data type hold by context
Public Functions
-
inline virtual std::string context_type() override¶
-
inline virtual std::shared_ptr<IFragmentWrapper> fragment_wrapper() override¶
-
inline virtual bl::result<std::unique_ptr<grape::InArchive>> ToNdArray(const grape::CommSpec &comm_spec, const Selector &selector, const std::pair<std::string, std::string> &range) override¶
-
inline virtual bl::result<std::unique_ptr<grape::InArchive>> ToDataframe(const grape::CommSpec &comm_spec, const std::vector<std::pair<std::string, Selector>> &selectors, const std::pair<std::string, std::string> &range) override¶
-
inline virtual bl::result<vineyard::ObjectID> ToVineyardTensor(const grape::CommSpec &comm_spec, vineyard::Client &client, const Selector &selector, const std::pair<std::string, std::string> &range) override¶
-
inline virtual bl::result<vineyard::ObjectID> ToVineyardDataframe(const grape::CommSpec &comm_spec, vineyard::Client &client, const std::vector<std::pair<std::string, Selector>> &selectors, const std::pair<std::string, std::string> &range) override¶
-
inline virtual bl::result<std::vector<std::pair<std::string, std::shared_ptr<arrow::Array>>>> ToArrowArrays(const grape::CommSpec &comm_spec, const std::vector<std::pair<std::string, Selector>> &selectors) override¶
-
template<typename FRAG_T, typename DATA_T>
class TensorContext : public ContextBase¶ TensorContext is designed for holding a bunch of computation results. The TensorContext should be used if the number of elements are not related to the number of the vertex.
- Template Parameters:
FRAG_T –
DATA_T –
-
template<typename FRAG_T, typename DATA_T, typename = void>
class TensorContextWrapper : public gs::ITensorContextWrapper¶ TensorContextWrapper is the wrapper class for TensorContext.
- Template Parameters:
FRAG_T –
DATA_T –
Public Functions
-
inline virtual std::string context_type() override¶
-
inline virtual std::shared_ptr<IFragmentWrapper> fragment_wrapper() override¶
-
inline virtual bl::result<std::unique_ptr<grape::InArchive>> ToNdArray(const grape::CommSpec &comm_spec, uint32_t axis) override¶
-
inline virtual bl::result<std::unique_ptr<grape::InArchive>> ToDataframe(const grape::CommSpec &comm_spec) override¶
-
inline virtual bl::result<vineyard::ObjectID> ToVineyardTensor(const grape::CommSpec &comm_spec, vineyard::Client &client, uint32_t axis) override¶
-
inline virtual bl::result<vineyard::ObjectID> ToVineyardDataframe(const grape::CommSpec &comm_spec, vineyard::Client &client) override¶
-
inline virtual bl::result<std::vector<std::pair<std::string, std::shared_ptr<arrow::Array>>>> ToArrowArrays(const grape::CommSpec &comm_spec, const std::vector<std::pair<std::string, Selector>> &selectors) override¶