Поделиться через


parse_url

Извлекает указанную часть из URL-адреса. Если указан ключ, он возвращает связанное значение параметра запроса.

Синтаксис

from pyspark.sql import functions as sf

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

Параметры

Параметр Тип Description
url pyspark.sql.Column или str Столбец строк, каждый из которых представляет URL-адрес.
partToExtract pyspark.sql.Column или str Столбец строк, каждый из которых представляет часть, извлекаемую из URL-адреса.
key pyspark.sql.Column или str, необязательный Столбец строк, каждый из которых представляет ключ параметра запроса в URL-адресе.

Возвраты

pyspark.sql.Column: новый столбец строк, каждый из которых представляет значение извлеченной части из URL-адреса.

Примеры

Пример 1. Извлечение части запроса из URL-адреса

from pyspark.sql import functions as sf
df = spark.createDataFrame(
  [("https://spark.apache.org/path?query=1", "QUERY")],
  ["url", "part"]
)
df.select(sf.parse_url(df.url, df.part)).show()
+--------------------+
|parse_url(url, part)|
+--------------------+
|             query=1|
+--------------------+

Пример 2. Извлечение значения определенного параметра запроса из 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.parse_url(df.url, df.part, df.key)).show()
+-------------------------+
|parse_url(url, part, key)|
+-------------------------+
|                        1|
+-------------------------+

Пример 3. Извлечение части протокола из URL-адреса

from pyspark.sql import functions as sf
df = spark.createDataFrame(
  [("https://spark.apache.org/path?query=1", "PROTOCOL")],
  ["url", "part"]
)
df.select(sf.parse_url(df.url, df.part)).show()
+--------------------+
|parse_url(url, part)|
+--------------------+
|               https|
+--------------------+

Пример 4. Извлечение части узла из URL-адреса

from pyspark.sql import functions as sf
df = spark.createDataFrame(
  [("https://spark.apache.org/path?query=1", "HOST")],
  ["url", "part"]
)
df.select(sf.parse_url(df.url, df.part)).show()
+--------------------+
|parse_url(url, part)|
+--------------------+
|    spark.apache.org|
+--------------------+

Пример 5. Извлечение части пути из URL-адреса

from pyspark.sql import functions as sf
df = spark.createDataFrame(
  [("https://spark.apache.org/path?query=1", "PATH")],
  ["url", "part"]
)
df.select(sf.parse_url(df.url, df.part)).show()
+--------------------+
|parse_url(url, part)|
+--------------------+
|               /path|
+--------------------+