ip_host

Se aplica a:check marcado yes Databricks Runtime 18.2 y versiones posteriores

Important

Esta característica se encuentra en su versión beta. Los administradores del área de trabajo pueden controlar el acceso a esta característica desde la página Vistas previas . Consulte Administrar versiones preliminares de Azure Databricks.

Devuelve la representación canónica de una dirección IPv4 o IPv6.

Para obtener la función SQL correspondiente, consulte ip_host función .

Syntax

from pyspark.databricks.sql import functions as dbf

dbf.ip_host(col=<col>)

Parameters

Parámetro Tipo Description
col pyspark.sql.Column o str Valor STRING o BINARY que representa una dirección IPv4 o IPv6 válida.

Ejemplos

Ejemplo 1: Validar una dirección IPv4.

from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('192.168.1.5',)], ['ipv4'])
df.select(dbf.ip_host('ipv4').alias('result')).collect()
[Row(result='192.168.1.5')]

Ejemplo 2: Canónico de una dirección IPv6.

from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('2001:0DB8:0000:0000:0000:0000:0000:0001',)], ['ipv6'])
df.select(dbf.ip_host('ipv6').alias('result')).collect()
[Row(result='2001:db8::1')]

Ejemplo 3: Validar una dirección IPv4 asignada por IPv6.

from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('::ffff:192.0.2.128',)], ['ip'])
df.select(dbf.ip_host('ip').alias('result')).collect()
[Row(result='::ffff:192.0.2.128')]

Ejemplo 4: Validar una dirección IPv4 en formato binario. La entrada es la representación binaria de la dirección 192.168.1.5IPv4 .

from pyspark.databricks.sql import functions as dbf
from pyspark.sql.functions import hex
df = spark.createDataFrame([(bytearray([0xC0, 0xA8, 0x01, 0x05]),)], ['ip'])
df.select(hex(dbf.ip_host('ip')).alias('result')).collect()
[Row(result='C0A80105')]

Ejemplo 5: None la entrada devuelve None.

from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([(None,)], 'ip: string')
df.select(dbf.ip_host('ip').alias('result')).collect()
[Row(result=None)]