次の方法で共有


try_parse_url

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

構文

from pyspark.sql import functions as sf

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

例 6: 無効な URL

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()
+-----------------------------+
|try_parse_url(url, part, key)|
+-----------------------------+
|                         NULL|
+-----------------------------+