Condividi tramite


try_parse_url

Si tratta di una versione speciale di parse_url che esegue la stessa operazione, ma restituisce un valore NULL anziché generare un errore se non è possibile eseguire l'analisi.

Sintassi

from pyspark.sql import functions as sf

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

Parametri

Parametro TIPO Description
url pyspark.sql.Column o str Colonna di stringhe, ognuna che rappresenta un URL.
partToExtract pyspark.sql.Column o str Colonna di stringhe, ognuna che rappresenta la parte da estrarre dall'URL.
key pyspark.sql.Column o str, facoltativo Colonna di stringhe, ognuna che rappresenta la chiave di un parametro di query nell'URL.

Restituzioni

pyspark.sql.Column: nuova colonna di stringhe, ognuna che rappresenta il valore della parte estratta dall'URL.

Esempi

Esempio 1: Estrazione della parte di query da un 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|
+------------------------+

Esempio 2: Estrazione del valore di un parametro di query specifico da un 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|
+-----------------------------+

Esempio 3: Estrazione della parte del protocollo da un 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|
+------------------------+

Esempio 4: Estrazione della parte host da un 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|
+------------------------+

Esempio 5: Estrazione della parte del percorso da un 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|
+------------------------+

Esempio 6: URL non valido

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