Skip to main content

spark_scaffolder_transforms_tools

Project description

spark_scaffolder_transforms_tools

Github License Updates Python 3 Code coverage

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

Apache License 2.0.

New features v1.0

BugFix

  • choco install visualcpp-build-tools

Reference

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Built Distribution

File details

Details for the file spark_scaffolder_transforms_tools-0.0.1.tar.gz.

File metadata

File hashes

Hashes for spark_scaffolder_transforms_tools-0.0.1.tar.gz
Algorithm Hash digest
SHA256 3438be8b9554aecaf79a186d17b9d5fb8953d7cd4372e3f40d49922927c55ffb
MD5 68eeffab9acdd102b4e5a454019d4d63
BLAKE2b-256 0fab65fe8baad4305941ec2a5d2ce0941e67de93a1abbc5a8fc1616f00b3bf5f

See more details on using hashes here.

File details

Details for the file spark_scaffolder_transforms_tools-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for spark_scaffolder_transforms_tools-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ac9772d1f005e50d13e0911178113017b44e5cc63233369cd82a475f43b20c71
MD5 b8e1f8bbe232c46d6aa15e6f1bf1ed17
BLAKE2b-256 246fcf7a265118cf9e1a627d9061ecf1d578d3c579ec4478231e8ebc3d3f0249

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page