spark_scaffolder_transforms_tools
Project description
spark_scaffolder_transforms_tools
spark_scaffolder_transforms_tools is a Python library that implements transforms Kirby3x
Installation
The code is packaged for PyPI, so that the installation consists in running:
pip install spark-scaffolder-transforms-tools --upgrade
Usage
CacheTransformation (type = "cache")
example:
{
type = "cache"
inputs = ["input1", "input2"]
}
UnpersistTransformation (type = "unpersist")
example:
{
type = "unpersist"
inputs = ["input1", "input2"]
}
InitalizeNullsTransformation (type = "initialize-nulls")
Permite inicializar valores null en las columnas indicadas con un valor por defecto.
Su configuración se ajusta a los siguientes parámetros:
Parámetro | Descripción | Tipo | Obligatoria |
---|---|---|---|
field | nombre de columna donde se buscan valores null | string | SI, excluyente con fields |
fields | lista de nombres de columna donde se buscan valores null | lista de string | SI, excluyente con field |
default | configuración de la lógica de datos | string | SI |
Ejemplos de uso:
{
type = "initialize-nulls"
field = "col1"
default = "value1"
}
{
type = "initialize-nulls"
fields = ["col1","col2","col3"]
default = "value"
}
JoinTransformation (type = "join")
Realiza operaciones tipo join sobre multiples dataframes:
Su configuración se ajusta a los siguientes parámetros:
Parámetro | Descripción | Tipo | Obligatoria |
---|---|---|---|
joinType | indica el tipo de join | string | SI |
inputs | lista de nombres de input, al menos deben tener dos elementos | lista de string | SI |
joinColumns | lista de configs, donde se relacion cada input con la lista de columnas para realizar el join | lista de config | SI |
output | nombre del output asociado al resultado del join | string | SI |
Ejemplo de uso, en este caso realiza un join de tipo leftanti sobre dos dataframes asociados a t_users y t_people por medio de las columnas id2 e id respectivamente, el resultado del join se asigna al output t_users_people:
{
type = "join"
inputs = ["t_users", "t_people"]
joinType = "leftanti"
joinColumns = [
{
"t_users" = ["id2"]
},
{
"t_people" = ["id"]
}
]
output = "t_users_people"
}
Atención: Si se desea utilizar la transformación type = "join" nativa Kirby, esta debe registrar en los ficheros Shifu mediante type = "kirby-join"
PipelineTransformation (type = "pipeline")
Aplica un pipeline de transformaciones a uno o varios inputs, permitiendo asi ficheros de configuración más simples
Su configuración se ajusta a los siguientes parámetros:
Parámetro | Descripción | Tipo | Obligatoria |
---|---|---|---|
pipeline | lista de configuraciones de transformaciones | lista de config | SI |
Ejemplos de uso:
{
type = "pipe"
inputs = ["t_users","t_people"]
pipeline = [
{
type = "literal"
field = "status"
default = "registered"
defaultType = "string"
},
{
type = "filter"
filters = [
{
field = "gf_odate_date"
op = "eq"
value = "20210110"
}
]
}
]
}
UnionTransformation (type = "union")
Aplica una operación union entre multiples inputs, es condición que los inputs deban tener el mismo esquema o la operación fallará
Su configuración se ajusta a los siguientes parámetros:
Parámetro | Descripción | Tipo | Obligatoria |
---|---|---|---|
inputs | lista de inputs que se van a unir | lista de string | SI |
output | nombre del output asociado al resultado de la union | string | SI |
Ejemplos de uso:
{
type = "union"
inputs = ["t_users_es","t_users_mx"]
output = "t_users"
}
License
New features v1.0
BugFix
- choco install visualcpp-build-tools
Reference
- Jonathan Quiza github.
- Jonathan Quiza RumiMLSpark.
- Jonathan Quiza linkedin.