Aller au contenu principal

try_parse_url

Il s'agit d'une version spéciale de parse_url qui effectue la même Opération, mais renvoie une valeur NULL au lieu de générer une erreur si l'analyse ne peut pas être effectuée.

Syntaxe

Python
from pyspark.sql import functions as sf

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

parameter

parameter

Type

Description

url

pyspark.sql.Column ou str

Une colonne de chaînes, chacune représentant une URL.

partToExtract

pyspark.sql.Column ou str

Une colonne de chaînes de caractères, chacune représentant la partie à extraire de l’URL.

key

pyspark.sql.Column ou str, facultatif

Une colonne de chaînes, chacune représentant la clé d'un parameter de query dans l'URL.

parameter

Type

Description

url

pyspark.sql.Column ou str

Une colonne de chaînes, chacune représentant une URL.

partToExtract

pyspark.sql.Column ou str

Une colonne de chaînes de caractères, chacune représentant la partie à extraire de l’URL.

key

pyspark.sql.Column ou str, facultatif

Une colonne de chaînes, chacune représentant la clé d'un parameter de query dans l'URL.

Renvoie

pyspark.sql.Column: Une nouvelle colonne de chaînes, chacune représentant la valeur de la partie extraite de l'URL.

Exemples

Exemple 1 : Extraction de la partie requête d'une 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|
+------------------------+

Exemple 2 : Extraction de la valeur d’un paramètre de query spécifique à partir d’une 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|
+-----------------------------+

Exemple 3 : Extraction de la partie protocole d'une 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|
+------------------------+

Exemple 4 : extraction de la partie hôte d'une 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|
+------------------------+

Exemple 5 : Extraction de la partie chemin d'une 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|
+------------------------+

Exemple 6 : URL non valide

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