cursus.steps.configs.config_graph_subgraph_extraction_step¶
Graph Subgraph Extraction Configuration with Self-Contained Derivation Logic.
Configuration for the GraphSubgraphExtraction Processing step — a point-in-time k-hop subgraph pull from a property-graph DB (NebulaGraph) for seed order IDs, run inside the custom GraphStorm image (BYO container) and VPC-bound to reach the graph cluster.
Three-tier field design: 1. Essential User Inputs (Tier 1) - Required fields users must provide. 2. System Fields (Tier 2) - Defaults that can be overridden. 3. Derived Fields (Tier 3) - Private, exposed via read-only properties.
The compute descriptor lives in the .step.yaml (compute.kind: byo_container + network_mode: config); this config supplies the image_uri, VPC subnets/security_group_ids, and the graph-traversal knobs the ported script reads.
- class GraphSubgraphExtractionConfig(*, author, bucket, role, region, service_name, pipeline_version, model_class='xgboost', current_date=<factory>, framework_version='2.1.0', py_version='py310', image_uri=None, subnets=None, security_group_ids=None, enable_network_isolation=None, source_dir=None, enable_caching=False, use_secure_pypi=False, max_runtime_seconds=432000, project_root_folder, processing_instance_count=1, processing_volume_size=500, processing_instance_type_large='ml.m5.4xlarge', processing_instance_type_small='ml.m5.2xlarge', use_large_processing_instance=False, skip_volume_kms=None, processing_source_dir=None, processing_entry_point='graph_subgraph_extraction.py', processing_script_arguments=None, processing_framework_version='1.2-1', seed_s3_uri, output_s3_uri, nebula_cluster='gamma', num_parallel_jobs=1, max_workers=100, session_pool_min_size=100, session_pool_max_size=300, nebula_timeout_ms=10000, code_s3_uri=None, **extra_data)[source]¶
Bases:
ProcessingStepConfigBaseConfiguration for the GraphSubgraphExtraction step with three-tier field categorization. Inherits from ProcessingStepConfigBase.
subnets / security_group_ids are inherited from BasePipelineConfig (the VPC fields read when compute.network_mode == ‘config’); image_uri is inherited too (read when compute.kind == ‘byo_container’). This class adds the graph-traversal-specific fields.
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'allow', 'protected_namespaces': (), 'validate_assignment': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_post_init(context, /)¶
This function is meant to behave like a BaseModel method to initialize private attributes.
It takes context as an argument since that’s what pydantic-core passes when calling it.
- Parameters:
self (BaseModel) – The BaseModel instance.
context (Any) – The context.