メインコンテンツまでスキップ

パースURL

URL から指定された部分を抽出します。キーが指定されている場合は、関連付けられたクエリ値を返します。

構文

Python
from pyspark.sql import functions as sf

sf.parse_url(url, partToExtract, key=None)

パラメーター

パラメーター

Type

説明

url

pyspark.sql.Column または文字列

それぞれが URL を表す文字列の列。

partToExtract

pyspark.sql.Column または文字列

URL から抽出する部分をそれぞれ表す文字列の列。

key

pyspark.sql.Column または文字列(オプション)

文字列の列。それぞれが URL 内のクエリのキーを表します。

戻り値

pyspark.sql.Column: URL から抽出された部分の値を表す新しい文字列の列。

例1 : URLからクエリ部分を抽出する

Python
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()
Output
+--------------------+
|parse_url(url, part)|
+--------------------+
| query=1|
+--------------------+

例 2 : URL から特定のクエリの値を抽出する

Python
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()
Output
+-------------------------+
|parse_url(url, part, key)|
+-------------------------+
| 1|
+-------------------------+

例3 : URLからプロトコル部分を抽出する

Python
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()
Output
+--------------------+
|parse_url(url, part)|
+--------------------+
| https|
+--------------------+

例4 : URLからホスト部分を抽出する

Python
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()
Output
+--------------------+
|parse_url(url, part)|
+--------------------+
| spark.apache.org|
+--------------------+

例5 : URLからパス部分を抽出する

Python
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()
Output
+--------------------+
|parse_url(url, part)|
+--------------------+
| /path|
+--------------------+