Pular para o conteúdo principal

tente_analisar_url

Esta é uma versão especial de parse_url que realiza as mesmas operações, mas retorna um valor NULL em vez de gerar um erro se a análise não puder ser realizada.

Sintaxe

Python
from pyspark.sql import functions as sf

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

Parâmetros

Parâmetro

Tipo

Descrição

url

pyspark.sql.Column ou str

Uma coluna de strings, cada uma representando um URL.

partToExtract

pyspark.sql.Column ou str

Uma coluna de strings, cada uma representando a parte a ser extraída da URL.

key

pyspark.sql.Column ou str, opcional

Uma coluna de strings, cada uma representando a key de um parâmetro de consulta na URL.

Devoluções

pyspark.sql.ColumnUma nova coluna de strings, cada uma representando o valor da parte extraída da URL.

Exemplos

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

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

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

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

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

Exemplo 6 : URL inválida

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