Freigeben über


try_parse_url

Dies ist eine spezielle Version, die parse_url denselben Vorgang ausführt, aber gibt einen NULL-Wert zurück, anstatt einen Fehler zu auslösen, wenn die Analyse nicht ausgeführt werden kann.

Syntax

from pyspark.sql import functions as sf

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

Die Parameter

Parameter Typ Description
url pyspark.sql.Column oder str Eine Spalte mit Zeichenfolgen, die jeweils eine URL darstellt.
partToExtract pyspark.sql.Column oder str Eine Spalte mit Zeichenfolgen, die jeweils den Teil darstellt, der aus der URL extrahiert werden soll.
key pyspark.sql.Column oder str, optional Eine Spalte mit Zeichenfolgen, die jeweils den Schlüssel eines Abfrageparameters in der URL darstellt.

Rückkehr

pyspark.sql.Column: Eine neue Spalte mit Zeichenfolgen, die jeweils den Wert des extrahierten Teils aus der URL darstellt.

Examples

Beispiel 1: Extrahieren des Abfrageteils aus einer 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|
+------------------------+

Beispiel 2: Extrahieren des Werts eines bestimmten Abfrageparameters aus einer 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|
+-----------------------------+

Beispiel 3: Extrahieren des Protokollteils aus einer 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|
+------------------------+

Beispiel 4: Extrahieren des Hostteils aus einer 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|
+------------------------+

Beispiel 5: Extrahieren des Pfadteils aus einer 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|
+------------------------+

Beispiel 6: Ungültige 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|
+-----------------------------+