ip_cidr_contains

适用于:检查标记为是 Databricks Runtime 18.2 及更高版本

Important

此功能在 Beta 版中。 工作区管理员可以从 预览 页控制对此功能的访问。 请参阅 Manage Azure Databricks 预览版

如果 True IP 地址或 CIDR 块包含在另一个 CIDR 块中, False 则返回否则。

有关相应的 SQL 函数,请参阅 ip_cidr_contains 函数

Syntax

from pyspark.databricks.sql import functions as dbf

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

参数

参数 类型 Description
col1 pyspark.sql.Columnstr 表示有效的 IPv4 或 IPv6 CIDR 块的 STRING 或 BINARY 值。
col2 pyspark.sql.Columnstr 表示有效的 IPv4 或 IPv6 地址或 CIDR 块的 STRING 或 BINARY 值。

示例

示例 1:检查 CIDR 块中是否包含 IP 地址。

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

示例 2:检查较小的 CIDR 块是否包含在更大的 CIDR 块中。

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

示例 3None 输入返回 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)]