Convert OPC Publisher Json to Process Control Data Model
OPCPublisherOPCUAJsonToPCDMTransformer
Bases: TransformerInterface
Converts a Spark Dataframe column containing a json string created by OPC Publisher to the Process Control Data Model.
Example
from rtdip_sdk.pipelines.transformers import OPCPublisherOPCUAJsonToPCDMTransformer
opc_publisher_opcua_json_to_pcdm_transformer = OPCPublisherOPCUAJsonToPCDMTransformer(
data=df,
souce_column_name="body",
multiple_rows_per_message=True,
status_null_value="Good",
change_type_value="insert",
timestamp_formats=[
"yyyy-MM-dd'T'HH:mm:ss.SSSX",
"yyyy-MM-dd'T'HH:mm:ssX"
],
filter=None
)
result = opc_publisher_opcua_json_to_pcdm_transformer.transform()
Parameters:
Name | Type | Description | Default |
---|---|---|---|
data |
DataFrame
|
Dataframe containing the column with Json OPC UA data |
required |
source_column_name |
str
|
Spark Dataframe column containing the OPC Publisher Json OPC UA data |
required |
multiple_rows_per_message |
optional bool
|
Each Dataframe Row contains an array of/multiple OPC UA messages. The list of Json will be exploded into rows in the Dataframe. |
True
|
status_null_value |
optional str
|
If populated, will replace null values in the Status column with the specified value. |
None
|
change_type_value |
optional str
|
If populated, will replace 'insert' in the ChangeType column with the specified value. |
'insert'
|
timestamp_formats |
optional list[str]
|
Specifies the timestamp formats to be used for converting the timestamp string to a Timestamp Type. For more information on formats, refer to this documentation. |
["yyyy-MM-dd'T'HH:mm:ss.SSSX", "yyyy-MM-dd'T'HH:mm:ssX"]
|
filter |
optional str
|
Enables providing a filter to the data which can be required in certain scenarios. For example, it would be possible to filter on IoT Hub Device Id and Module by providing a filter in SQL format such as |
None
|
Source code in src/sdk/python/rtdip_sdk/pipelines/transformers/spark/opc_publisher_opcua_json_to_pcdm.py
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 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 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 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 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 |
|
system_type()
staticmethod
Attributes:
Name | Type | Description |
---|---|---|
SystemType |
Environment
|
Requires PYSPARK |
Source code in src/sdk/python/rtdip_sdk/pipelines/transformers/spark/opc_publisher_opcua_json_to_pcdm.py
99 100 101 102 103 104 105 |
|
transform()
Returns:
Name | Type | Description |
---|---|---|
DataFrame |
DataFrame
|
A dataframe with the specified column converted to PCDM |
Source code in src/sdk/python/rtdip_sdk/pipelines/transformers/spark/opc_publisher_opcua_json_to_pcdm.py
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 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 |
|