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
from pyspark.sql import functions as sf
sf.try_parse_url(url, partToExtract, key=None)
parameter
parameter | Type | Description |
|---|---|---|
|
| Une colonne de chaînes, chacune représentant une URL. |
|
| Une colonne de chaînes de caractères, chacune représentant la partie à extraire de l’URL. |
|
| 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
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|
+------------------------+
Exemple 2 : Extraction de la valeur d’un paramètre de query spécifique à partir d’une 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|
+-----------------------------+
Exemple 3 : Extraction de la partie protocole d'une 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|
+------------------------+
Exemple 4 : extraction de la partie hôte d'une 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|
+------------------------+
Exemple 5 : Extraction de la partie chemin d'une 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|
+------------------------+
Exemple 6 : URL non valide
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|
+-----------------------------+