try_ip_as_binary

Aplica-se a:check marked yes Databricks Runtime 18.2 e superior

Importante

Esse recurso está em Beta. Os administradores do workspace podem controlar o acesso a esse recurso na página Visualizações . Consulte Gerenciar visualizações do Azure 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, consulte try_ip_as_binary a função.

Syntax

from pyspark.databricks.sql import functions as dbf

dbf.try_ip_as_binary(col=<col>)

Parameters

Parâmetro Tipo Description
col pyspark.sql.Column ou str Um valor STRING ou BINARY que representa um endereço IPv4 ou IPv6 válido ou um bloco CIDR.

Exemplos

Exemplo 1: converter um endereço IPv4 em 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 em 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: Retorno Nonede entrada inválido.

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: None retorno de Noneentrada.

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)]