ip_cidr_contains

適用対象:はい Databricks Runtime 18.2 以降とマークされているチェック

Important

この機能は ベータ版です。 ワークスペース管理者は、[ プレビュー] ページからこの機能へのアクセスを制御できます。 Manage Azure Databricks プレビューを参照してください。

IP アドレスまたは CIDR ブロックが別の CIDR ブロック内に含まれている場合は True を返します。それ以外の場合 False 返します。

対応する SQL 関数については、 ip_cidr_contains 関数を参照してください。

Syntax

from pyspark.databricks.sql import functions as dbf

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

Parameters

パラメーター タイプ Description
col1 pyspark.sql.Column または str 有効な IPv4 または IPv6 CIDR ブロックを表す STRING または BINARY 値。
col2 pyspark.sql.Column または str 有効な IPv4 または IPv6 アドレスまたは CIDR ブロックを表す STRING または BINARY 値。

例示

例 1: IP アドレスが 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)]

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

例 3: 入力NoneNoneを返します。

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