Compartir a través de


try_parse_url

Se trata de una versión especial de parse_url que realiza la misma operación, pero devuelve un valor NULL en lugar de generar un error si no se puede realizar el análisis.

Syntax

from pyspark.sql import functions as sf

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

Parámetros

Parámetro Tipo Description
url pyspark.sql.Column o str Columna de cadenas, cada una que representa una dirección URL.
partToExtract pyspark.sql.Column o str Columna de cadenas, cada una que representa la parte que se va a extraer de la dirección URL.
key pyspark.sql.Column o str, opcional Columna de cadenas, cada una que representa la clave de un parámetro de consulta en la dirección URL.

Devoluciones

pyspark.sql.Column: una nueva columna de cadenas, cada una que representa el valor de la parte extraída de la dirección URL.

Examples

Ejemplo 1: Extracción del elemento de consulta de una dirección 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|
+------------------------+

Ejemplo 2: Extracción del valor de un parámetro de consulta específico de una dirección 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|
+-----------------------------+

Ejemplo 3: Extracción del elemento de protocolo de una dirección 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|
+------------------------+

Ejemplo 4: Extracción del elemento host de una dirección 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|
+------------------------+

Ejemplo 5: Extracción de la parte de ruta de acceso de una dirección 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|
+------------------------+

Ejemplo 6: Dirección URL no válida

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