適用於:
執行環境 18.2 及以上版本
Important
這項功能位於 測試版 (Beta) 中。 工作區管理員可以從 「預覽 」頁面控制對此功能的存取。 請參閱 管理 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 值。 |
Examples
範例 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)]