tentar_ip_como_binário
Aplica-se a: Databricks Runtime 18.2 e acima
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 binária canônica de um endereço IP ou bloco CIDR. Retorna None em vez de gerar um erro se a entrada for inválida.
Para a função SQL correspondente, veja a funçãotry_ip_as_binary.
Sintaxe
from pyspark.databricks.sql import functions as dbf
dbf.try_ip_as_binary(col=<col>)
Parâmetros
Parâmetro | Tipo | Descrição |
|---|---|---|
|
| Uma sequência de caracteres ou um valor BINÁRIO representando um endereço IPv4 ou IPv6 válido ou um bloco CIDR . |
Exemplos
Exemplo 1 : Converter um endereço IPv4 para binário.
from pyspark.databricks.sql import functions as dbf
from pyspark.sql.functions import hex
df = spark.createDataFrame([('192.168.1.1',)], ['ip'])
df.select(hex(dbf.try_ip_as_binary('ip')).alias('result')).collect()
[Row(result='C0A80101')]
Exemplo 2 : Converter um endereço IPv6 para binário.
from pyspark.databricks.sql import functions as dbf
from pyspark.sql.functions import hex
df = spark.createDataFrame([('2001:db8::1',)], ['ip'])
df.select(hex(dbf.try_ip_as_binary('ip')).alias('result')).collect()
[Row(result='20010DB8000000000000000000000001')]
Exemplo 3 : Converter um bloco CIDR em binário.
from pyspark.databricks.sql import functions as dbf
from pyspark.sql.functions import hex
df = spark.createDataFrame([('192.168.1.5/24',)], ['cidr'])
df.select(hex(dbf.try_ip_as_binary('cidr')).alias('result')).collect()
[Row(result='C0A8010018')]
Exemplo 4 : Entrada inválida retorna None.
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('invalid.ip',)], ['ip'])
df.select(dbf.try_ip_as_binary('ip').alias('result')).collect()
[Row(result=None)]
Exemplo 5 : a entrada None retorna None.
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([(None,)], 'ip: string')
df.select(dbf.try_ip_as_binary('ip').alias('result')).collect()
[Row(result=None)]