Compartilhar via


try_parse_url

Essa é uma versão especial que parse_url executa a mesma operação, mas retorna um valor NULL em vez de gerar um erro se a análise não puder ser executada.

Sintaxe

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 ou str Uma coluna de cadeias de caracteres, cada uma representando uma URL.
partToExtract pyspark.sql.Column ou str Uma coluna de cadeias de caracteres, cada uma representando a parte a ser extraída da URL.
key pyspark.sql.Column ou str, opcional Uma coluna de cadeias de caracteres, cada uma representando a chave de um parâmetro de consulta na URL.

Devoluções

pyspark.sql.Column: uma nova coluna de cadeias de caracteres, cada uma representando o valor da parte extraída da URL.

Exemplos

Exemplo 1: Extraindo a parte de consulta de uma 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|
+------------------------+

Exemplo 2: Extraindo o valor de um parâmetro de consulta específico de uma 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|
+-----------------------------+

Exemplo 3: extraindo a parte de protocolo de uma 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|
+------------------------+

Exemplo 4: Extraindo a parte de host de uma 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|
+------------------------+

Exemplo 5: Extraindo a parte de caminho de uma 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|
+------------------------+

Exemplo 6: URL invá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|
+-----------------------------+