ip_host

适用于:检查标记为是 Databricks Runtime 18.2 及更高版本

Important

此功能在 Beta 版中。 工作区管理员可以从 预览 页控制对此功能的访问。 请参阅 Manage Azure Databricks 预览版

返回 IPv4 或 IPv6 地址的规范表示形式。

有关相应的 SQL 函数,请参阅 ip_host 函数

Syntax

from pyspark.databricks.sql import functions as dbf

dbf.ip_host(col=<col>)

Parameters

参数 类型 Description
col pyspark.sql.Columnstr 表示有效 IPv4 或 IPv6 地址的 STRING 或 BINARY 值。

示例

示例 1:验证 IPv4 地址。

from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('192.168.1.5',)], ['ipv4'])
df.select(dbf.ip_host('ipv4').alias('result')).collect()
[Row(result='192.168.1.5')]

示例 2:规范化 IPv6 地址。

from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('2001:0DB8:0000:0000:0000:0000:0000:0001',)], ['ipv6'])
df.select(dbf.ip_host('ipv6').alias('result')).collect()
[Row(result='2001:db8::1')]

示例 3:验证 IPv4 映射的 IPv6 地址。

from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('::ffff:192.0.2.128',)], ['ip'])
df.select(dbf.ip_host('ip').alias('result')).collect()
[Row(result='::ffff:192.0.2.128')]

示例 4:验证采用二进制格式的 IPv4 地址。 输入是 IPv4 地址 192.168.1.5的二进制表示形式。

from pyspark.databricks.sql import functions as dbf
from pyspark.sql.functions import hex
df = spark.createDataFrame([(bytearray([0xC0, 0xA8, 0x01, 0x05]),)], ['ip'])
df.select(hex(dbf.ip_host('ip')).alias('result')).collect()
[Row(result='C0A80105')]

示例 5None 输入返回 None

from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([(None,)], 'ip: string')
df.select(dbf.ip_host('ip').alias('result')).collect()
[Row(result=None)]