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.

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