Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:
Databricks Runtime 18.2 lub nowsze
Ważna
Ta funkcja jest dostępna w wersji beta.
Zwraca kanoniczną reprezentację binarną adresu IP lub bloku CIDR. Zwraca None wartość zamiast zgłaszać błąd, jeśli dane wejściowe są nieprawidłowe.
Aby uzyskać odpowiednią funkcję SQL, zobacz try_ip_as_binary funkcja.
Syntax
from pyspark.databricks.sql import functions as dbf
dbf.try_ip_as_binary(col=<col>)
Parameters
| Parameter | Typ | Description |
|---|---|---|
col |
pyspark.sql.Column lub str |
Wartość STRING lub BINARY reprezentująca prawidłowy adres IPv4 lub IPv6 lub blok CIDR. |
Examples
Przykład 1: Konwertowanie adresu IPv4 na dane binarne.
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')]
Przykład 2. Konwertowanie adresu IPv6 na dane binarne.
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')]
Przykład 3. Konwertowanie bloku CIDR na binarny.
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')]
Przykład 4. Nieprawidłowe dane wejściowe zwracają Nonewartość .
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)]
Przykład 5: None dane wejściowe zwracają wartość 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)]