try_ip_as_binary
S’applique à : Databricks Runtime 18.2 et versions ultérieures
info
Bêta
Cette fonctionnalité est en bêta.
Renvoie la représentation binaire canonique d'une adresse IP ou d'un bloc CIDR. Retourne None au lieu de lever une erreur si l'entrée est invalide.
Pour la fonction SQL correspondante, consultez la fonctiontry_ip_as_binary.
Syntaxe
Python
from pyspark.databricks.sql import functions as dbf
dbf.try_ip_as_binary(col=<col>)
parameter
parameter | Type | Description |
|---|---|---|
|
| Une valeur STRING ou BINARY représentant une adresse IPv4 ou IPv6 ou un bloc CIDR valide. |
Exemples
Exemple 1 : Convertir une adresse IPv4 en binaire.
Python
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()
Output
[Row(result='C0A80101')]
Exemple 2 : Convertir une adresse IPv6 en binaire.
Python
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()
Output
[Row(result='20010DB8000000000000000000000001')]
Exemple 3 : Convertir un bloc CIDR en binaire.
Python
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()
Output
[Row(result='C0A8010018')]
Exemple 4 : L'entrée non valide renvoie None.
Python
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()
Output
[Row(result=None)]
**Exemple 5** : None l'entrée None renvoie.
Python
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()
Output
[Row(result=None)]