Project operator
ProjectOperator
Bases: Operator
Project operator keeps only specified keys and optionally renames them (key-wise projection). Supports key selection and renaming with conflict detection.
Attributes:
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
kept_keys |
list[str] | - | List of keys to keep in each record | |
key_mapping |
dict[str, str] | {} | Dictionary mapping old key names to new key names |
Source code in blue/operators/project_operator.py
112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 | |
project_operator_explainer(output, input_data, attributes)
Generate explanation for project operator execution.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
output
|
Any
|
The output result from the operator execution. |
required |
input_data
|
List[List[Dict[str, Any]]]
|
The input data that was processed. |
required |
attributes
|
Dict[str, Any]
|
The attributes used for the operation. |
required |
Returns:
| Type | Description |
|---|---|
Dict[str, Any]
|
Dictionary containing explanation of the operation. |
Source code in blue/operators/project_operator.py
83 84 85 86 87 88 89 90 91 92 93 94 | |
project_operator_function(input_data, attributes, properties=None)
Project records to keep only specified keys and optionally rename them (key-wise projection).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
input_data
|
List[List[Dict[str, Any]]]
|
List of JSON arrays (List[List[Dict[str, Any]]]), uses the first data source for projection. |
required |
attributes
|
Dict[str, Any]
|
Dictionary containing projection parameters including kept_keys and key_mapping. |
required |
properties
|
Dict[str, Any]
|
Optional properties dictionary. Defaults to None. |
None
|
Returns:
| Type | Description |
|---|---|
List[List[Dict[str, Any]]]
|
List containing projected records with only the specified keys. |
Source code in blue/operators/project_operator.py
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | |
project_operator_validator(input_data, attributes, properties=None)
Validate project operator attributes.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
input_data
|
List[List[Dict[str, Any]]]
|
List of JSON arrays (List[List[Dict[str, Any]]]) to validate. |
required |
attributes
|
Dict[str, Any]
|
Dictionary containing operator attributes to validate. |
required |
properties
|
Dict[str, Any]
|
Optional properties dictionary. Defaults to None. |
None
|
Returns:
| Type | Description |
|---|---|
bool
|
True if attributes are valid, False otherwise. |
Source code in blue/operators/project_operator.py
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | |