Delen via


try_parse_url

Dit is een speciale versie van parse_url die dezelfde bewerking uitvoert, maar retourneert een NULL-waarde in plaats van een fout op te geven als de parsering niet kan worden uitgevoerd.

Syntaxis

from pyspark.sql import functions as sf

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

Parameterwaarden

Kenmerk Typologie Description
url pyspark.sql.Column of str Een kolom met tekenreeksen die elk een URL vertegenwoordigen.
partToExtract pyspark.sql.Column of str Een kolom met tekenreeksen, die elk het onderdeel vertegenwoordigen dat moet worden opgehaald uit de URL.
key pyspark.sql.Column of str, optioneel Een kolom met tekenreeksen, die elk de sleutel van een queryparameter in de URL vertegenwoordigen.

Retouren

pyspark.sql.Column: Een nieuwe kolom met tekenreeksen, die elk de waarde van het geëxtraheerde deel uit de URL vertegenwoordigen.

Voorbeelden

Voorbeeld 1: het queryonderdeel extraheren uit een 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|
+------------------------+

Voorbeeld 2: de waarde van een specifieke queryparameter extraheren uit een 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|
+-----------------------------+

Voorbeeld 3: het protocolonderdeel extraheren uit een 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|
+------------------------+

Voorbeeld 4: het hostonderdeel extraheren uit een 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|
+------------------------+

Voorbeeld 5: het padonderdeel uit een URL extraheren

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|
+------------------------+

Voorbeeld 6: Ongeldige 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|
+-----------------------------+