try_ip_as_binary

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

Important

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

IP アドレスまたは CIDR ブロックの正規バイナリ表現を返します。 入力が無効な場合にエラーを発生させる代わりに、 None を返します。

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

Syntax

from pyspark.databricks.sql import functions as dbf

dbf.try_ip_as_binary(col=<col>)

Parameters

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

例示

例 1: IPv4 アドレスをバイナリに変換する。

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

例 2: IPv6 アドレスをバイナリに変換する。

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

例 3: CIDR ブロックをバイナリに変換する。

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

例 4: 無効な入力は 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)]

例 5: None 入力は 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)]