try_ip_as_binary

Gilt für:check marked yes Databricks Runtime 18.2 und höher

Important

Dieses Feature befindet sich in der Betaversion. Arbeitsbereichsadministratoren können den Zugriff auf dieses Feature über die Vorschauseite steuern. Siehe Manage Azure Databricks Previews.

Gibt die kanonische binäre Darstellung einer IP-Adresse oder eines CIDR-Blocks zurück. Gibt einen None Fehler zurück, anstatt einen Fehler zu auslösen, wenn die Eingabe ungültig ist.

Informationen zur entsprechenden SQL-Funktion finden Sie unter try_ip_as_binary Funktion.

Syntax

from pyspark.databricks.sql import functions as dbf

dbf.try_ip_as_binary(col=<col>)

Parameters

Parameter Typ Description
col pyspark.sql.Column oder str Ein STRING- oder BINARY-Wert, der einen gültigen IPv4- oder IPv6-Adress- oder CIDR-Block darstellt.

Beispiele

Beispiel 1: Konvertieren einer IPv4-Adresse in eine Binärdatei.

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

Beispiel 2: Konvertieren einer IPv6-Adresse in eine Binärdatei.

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

Beispiel 3: Konvertieren eines CIDR-Blocks in eine Binärdatei.

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

Beispiel 4: Ungültige Eingabe gibt zurück 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)]

Beispiel 5: None Eingabe gibt zurück 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)]