Clase IpToInt - AWS Glue

Clase IpToInt

La transformación IpToInt convierte el valor del Protocolo de Internet versión 4 (IPv4) de la columna de origen u otro valor en el valor entero correspondiente de la columna de destino y devuelve el resultado en una nueva columna.

Ejemplo

Para AWS Glue 4.0 y versiones posteriores, cree o actualice argumentos de trabajo con key: --enable-glue-di-transforms, value: true.

from pyspark.context import SparkContext from awsgluedi.transforms import * sc = SparkContext() input_df = spark.createDataFrame( [ ("192.0.0.1",), ("10.10.10.10",), ("1.2.3.4",), ("1.2.3.6",), ("http://12.13.14.15",), ("https://16.17.18.19",), ("1.2.3.4",), (None,), ("abc",), ("abc.abc.abc.abc",), ("321.123.123.123",), ("244.4.4.4",), ("255.255.255.255",), ], ["source_column_ip"], ) df_output = web_functions.IpToInt.apply( data_frame=input_df, spark_context=sc, source_column="source_column_ip", target_column="target_column", value=None ) df_output.show()

Salida

El resultado será:

``` +----------------+---------------+ |source_column_ip| target_column| +----------------+---------------+ | 192.0.0.1| 3221225473| | 10.10.10.10| 168427722| | 1.2.3.4| 16909060| | 1.2.3.6| 16909062| |http://12.13.14.15| null| |https://16.17.18.19| null| | 1.2.3.4| 16909060| | null| null| | abc| null| |abc.abc.abc.abc| null| | 321.123.123.123| null| | 244.4.4.4| 4102444804| | 255.255.255.255| 4294967295| +----------------+---------------+ ```

La transformación IpToInt toma `source_column` como `"source_column_ip"` y `target_column` como `"target_column"` y convierte las cadenas de direcciones IPv4 válidas de la columna `source_column_ip` en su correspondiente representación entera de 32 bits y almacena el resultado en la columna `target_column`.

Para cadenas de direcciones IPv4 válidas (por ejemplo, “192.0.0.1”, “10.10.10.10”, “1.2.3.4”), la transformación las convierte correctamente en su representación de números enteros (por ejemplo, 3221225473, 168427722, 16909060). Para las cadenas que no son direcciones IPv4 válidas (por ejemplo, direcciones URL, cadenas que no son IP como “abc” o formatos IP no válidos como “abc.abc.abc.abc”), el valor de `target_column` se establece en `null`. Para los valores `null` de la columna `source_column_ip`, el valor `target_column` también se establece en `null`.

Métodos

__call__(spark_context, data_frame, target_column, source_column=None, value=None)

La transformación IpToInt convierte el valor del Protocolo de Internet versión 4 (IPv4) de la columna de origen u otro valor en el valor entero correspondiente de la columna de destino y devuelve el resultado en una nueva columna.

  • sourceColumn: el nombre de una columna existente.

  • value: una cadena de caracteres para evaluar.

  • targetColumn: el nombre de la nueva columna que se va a crear.

apply(cls, *args, **kwargs)

Heredado de GlueTransform apply.

name(cls)

Heredado de GlueTransform name.

describeArgs(cls)

Heredado de GlueTransform describeArgs.

describeReturn(cls)

Heredado de GlueTransform describeReturn.

describeTransform(cls)

Heredado de GlueTransform describeTransform.

describeErrors(cls)

Heredado de GlueTransform describeErrors.

describe(cls)

Heredado de GlueTransform describe.