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

try_parse_url

これはparse_urlの特別なバージョンであり、同じ操作を実行しますが、解析を実行できない場合はエラーを発生させる代わりに NULL 値を返します。

構文

Python
from pyspark.sql import functions as sf

sf.try_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.try_parse_url(df.url, df.part)).show()
Output
+------------------------+
|try_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.try_parse_url(df.url, df.part, df.key)).show()
Output
+-----------------------------+
|try_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.try_parse_url(df.url, df.part)).show()
Output
+------------------------+
|try_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.try_parse_url(df.url, df.part)).show()
Output
+------------------------+
|try_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.try_parse_url(df.url, df.part)).show()
Output
+------------------------+
|try_parse_url(url, part)|
+------------------------+
| /path|
+------------------------+

例6 : 無効なURL

Python
from pyspark.sql import functions as sf
df = spark.createDataFrame(
[("inva lid://spark.apache.org/path?query=1", "QUERY", "query")],
["url", "part", "key"]
)
df.select(sf.try_parse_url(df.url, df.part, df.key)).show()
Output
+-----------------------------+
|try_parse_url(url, part, key)|
+-----------------------------+
| NULL|
+-----------------------------+