Pular para o conteúdo principal

host_ip

Aplica-se a: Sim, marcado como certo Databricks Runtime 18.2 e acima

info

Beta

Este recurso está em versão Beta. Os administradores do espaço de trabalho podem controlar o acesso a este recurso na página de Pré-visualizações . Veja as prévias do Gerenciador Databricks.

Retorna a representação canônica de um endereço IPv4 ou IPv6.

Para a função SQL correspondente, veja a funçãoip_host.

Sintaxe

Python
from pyspark.databricks.sql import functions as dbf

dbf.ip_host(col=<col>)

Parâmetros

Parâmetro

Tipo

Descrição

col

pyspark.sql.Column ou str

Uma sequência de caracteres ou um valor BINÁRIO representando um endereço IPv4 ou IPv6 válido.

Exemplos

Exemplo 1 : Validar um endereço IPv4.

Python
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()
Output
[Row(result='192.168.1.5')]

Exemplo 2 : Canonicalizar um endereço IPv6.

Python
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()
Output
[Row(result='2001:db8::1')]

Exemplo 3 : Validar um endereço IPv6 mapeado para IPv4.

Python
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()
Output
[Row(result='::ffff:192.0.2.128')]

Exemplo 4 : Validar um endereço IPv4 em formato binário. A entrada é a representação binária do endereço IPv4 192.168.1.5.

Python
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()
Output
[Row(result='C0A80105')]

Exemplo 5 : a entrada None retorna None.

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