ip_cidr_contains

Aplica-se a:sim, Databricks Runtime 18.2 e superiores

Importante

Este recurso está em versão Beta. Os administradores do espaço de trabalho podem controlar o acesso a esse recurso na página Visualizações . Ver Gerir as pré-visualizações de Azure Databricks.

Retorna True se um endereço IP ou bloco CIDR estiver contido noutro bloco CIDR, False caso contrário.

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

Syntax

from pyspark.databricks.sql import functions as dbf

dbf.ip_cidr_contains(col1=<col1>, col2=<col2>)

Parameters

Parâmetro Tipo Description
col1 pyspark.sql.Column ou str Um valor STRING ou BINARY que representa um bloco CIDR IPv4 ou IPv6 válido.
col2 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: Verifique se um endereço IP está contido num bloco CIDR.

from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('192.168.1.0/24', '192.168.1.100')], ['cidr', 'ip'])
df.select(dbf.ip_cidr_contains('cidr', 'ip').alias('result')).collect()
[Row(result=True)]

Exemplo 2: Verifique se um bloco CIDR menor está contido num bloco CIDR maior.

from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('192.168.0.0/16', '192.168.1.0/24')], ['cidr', 'needle'])
df.select(dbf.ip_cidr_contains('cidr', 'needle').alias('result')).collect()
[Row(result=True)]

Exemplo 3: None entrada devolve None.

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