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.