try_ip_as_binary

Berlaku untuk:check ditandai ya Databricks Runtime 18.2 ke atas

Important

Fitur ini ada di Beta. Admin ruang kerja dapat mengontrol akses ke fitur ini dari halaman Pratinjau . Lihat Kelola Pratinjau Azure Databricks.

Mengembalikan representasi biner kanonis dari alamat IP atau blok CIDR. Mengembalikan alih-alih None meningkatkan kesalahan jika input tidak valid.

Untuk fungsi SQL yang sesuai, lihat try_ip_as_binary fungsi.

Syntax

from pyspark.databricks.sql import functions as dbf

dbf.try_ip_as_binary(col=<col>)

Parameters

Parameter Type Description
col pyspark.sql.Column atau str String atau nilai BINER yang mewakili alamat IPv4 atau IPv6 atau blok CIDR yang valid.

Examples

Contoh 1: Mengonversi alamat IPv4 ke biner.

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

Contoh 2: Mengonversi alamat IPv6 menjadi biner.

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

Contoh 3: Mengonversi blok CIDR menjadi biner.

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

Contoh 4: Input yang tidak valid mengembalikan 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)]

Contoh 5: None input mengembalikan 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)]