# Data Selection Module
The data selection module demonstrates the structure of a custom technique that consumes a registered dataset and extracts a subset of data using a filtering logic.
## JSON Contract
The json contract for the task is shown below.
The input_artifact points to the source data at data/
The output artifact points to the target data that would have extracted, transformed from the source dataset
The analytic settings has the arguments and values for the python program that performs the ETL
```
{
"task_name": "ev_data_select",
"technique_name": "ev_data_select",
"analyticSettings": {
"rel_src_path": "data/",
"rel_dest_path": "data/",
"filter_condition": {"vehicle_id": "V2", "route_id": 5}
},
"inputs": {
},
"outputs":
{
},
"input_artifacts": {
"data": [""]
},
"output_artifacts": {
"data": [""]
},
"savedState": {},
"status": ""
}
```
## Export Data to Target Location
The serialized data of inputs and actual outputs are exported as a json for seamless use by subsequent consumers.
```
overall_dict = {
'inputs': overall_input,
'outputs': {
'prediction': [],
'actual': overall_actual_output
}
}
```
Back to [techniques.md](../../../../../../docs/techniques.md)