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


url_decode

Декодирует строку в кодировке URL-адреса в формате application/x-www-form-urlencoded в исходном формате.

Синтаксис

from pyspark.sql import functions as sf

sf.url_decode(str)

Параметры

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

Возвраты

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

Примеры

Пример 1. Декодирование строки в кодировке URL-адреса

from pyspark.sql import functions as sf
df = spark.createDataFrame([("https%3A%2F%2Fspark.apache.org",)], ["url"])
df.select(sf.url_decode(df.url)).show(truncate=False)
+------------------------+
|url_decode(url)         |
+------------------------+
|https://spark.apache.org|
+------------------------+

Пример 2. Декодирование строки в кодировке URL-адреса с пробелами

from pyspark.sql import functions as sf
df = spark.createDataFrame([("Hello%20World%21",)], ["url"])
df.select(sf.url_decode(df.url)).show()
+---------------+
|url_decode(url)|
+---------------+
|   Hello World!|
+---------------+

Пример 3. Декодирование строки в кодировке URL-адреса с помощью специальных символов

from pyspark.sql import functions as sf
df = spark.createDataFrame([("A%2BB%3D%3D",)], ["url"])
df.select(sf.url_decode(df.url)).show()
+---------------+
|url_decode(url)|
+---------------+
|          A+B==|
+---------------+

Пример 4. Декодирование строки, закодированной по URL-адресу, с символами, отличными от ASCII

from pyspark.sql import functions as sf
df = spark.createDataFrame([("%E4%BD%A0%E5%A5%BD",)], ["url"])
df.select(sf.url_decode(df.url)).show()
+---------------+
|url_decode(url)|
+---------------+
|           你好|
+---------------+

Пример 5. Декодирование строки с кодировкой URL-адреса с шестнадцатеричными значениями

from pyspark.sql import functions as sf
df = spark.createDataFrame([("%7E%21%40%23%24%25%5E%26%2A%28%29%5F%2B",)], ["url"])
df.select(sf.url_decode(df.url)).show()
+---------------+
|url_decode(url)|
+---------------+
|  ~!@#$%^&*()_+|
+---------------+