从 URL 中提取指定部件。 如果提供了键,它将返回关联的查询参数值。
Syntax
from pyspark.sql import functions as sf
sf.parse_url(url, partToExtract, key=None)
参数
| 参数 | 类型 | Description |
|---|---|---|
url |
pyspark.sql.Column 或 str |
一列字符串,每个字符串表示一个 URL。 |
partToExtract |
pyspark.sql.Column 或 str |
字符串列,每个字符串表示要从 URL 中提取的部分。 |
key |
pyspark.sql.Column 或 str,可选 |
字符串列,每个字符串表示 URL 中的查询参数的键。 |
退货
pyspark.sql.Column:字符串的新列,每个列表示从 URL 中提取的部分的值。
例子
示例 1:从 URL 提取查询部件
from pyspark.sql import functions as sf
df = spark.createDataFrame(
[("https://spark.apache.org/path?query=1", "QUERY")],
["url", "part"]
)
df.select(sf.parse_url(df.url, df.part)).show()
+--------------------+
|parse_url(url, part)|
+--------------------+
| query=1|
+--------------------+
示例 2:从 URL 中提取特定查询参数的值
from pyspark.sql import functions as sf
df = spark.createDataFrame(
[("https://spark.apache.org/path?query=1", "QUERY", "query")],
["url", "part", "key"]
)
df.select(sf.parse_url(df.url, df.part, df.key)).show()
+-------------------------+
|parse_url(url, part, key)|
+-------------------------+
| 1|
+-------------------------+
示例 3:从 URL 提取协议部件
from pyspark.sql import functions as sf
df = spark.createDataFrame(
[("https://spark.apache.org/path?query=1", "PROTOCOL")],
["url", "part"]
)
df.select(sf.parse_url(df.url, df.part)).show()
+--------------------+
|parse_url(url, part)|
+--------------------+
| https|
+--------------------+
示例 4:从 URL 提取主机部件
from pyspark.sql import functions as sf
df = spark.createDataFrame(
[("https://spark.apache.org/path?query=1", "HOST")],
["url", "part"]
)
df.select(sf.parse_url(df.url, df.part)).show()
+--------------------+
|parse_url(url, part)|
+--------------------+
| spark.apache.org|
+--------------------+
示例 5:从 URL 提取路径部件
from pyspark.sql import functions as sf
df = spark.createDataFrame(
[("https://spark.apache.org/path?query=1", "PATH")],
["url", "part"]
)
df.select(sf.parse_url(df.url, df.part)).show()
+--------------------+
|parse_url(url, part)|
+--------------------+
| /path|
+--------------------+