try_zstd_decompress

Возвращает декомпрессованное значение экспра с помощью Zstandard. Поддерживает сжатые данные в однопроходном режиме и в режиме потоковой передачи. При сбое распаковки возвращает значение NULL.

Синтаксис

from pyspark.sql import functions as dbf

dbf.try_zstd_decompress(input=<input>)

Параметры

Параметр Тип Description
input pyspark.sql.Column или str Двоичное значение для распаковки.

Возвраты

pyspark.sql.Column: новый столбец, содержащий несжатое значение.

Примеры

Пример 1. Распаковка данных с помощью Zstandard

from pyspark.sql import functions as dbf
df = spark.createDataFrame([("KLUv/SCCpQAAaEFwYWNoZSBTcGFyayABABLS+QU=",)], ["input"])
df.select(dbf.try_zstd_decompress(dbf.unbase64(df.input)).cast("string").alias("result")).show(truncate=False)
+----------------------------------------------------------------------------------------------------------------------------------+
|result                                                                                                                            |
+----------------------------------------------------------------------------------------------------------------------------------+
|Apache Spark Apache Spark Apache Spark Apache Spark Apache Spark Apache Spark Apache Spark Apache Spark Apache Spark Apache Spark |
+----------------------------------------------------------------------------------------------------------------------------------+

Пример 2. Распаковка недопустимых входных данных

from pyspark.sql import functions as dbf
df = spark.createDataFrame([("invalid input",)], ["input"])
df.select(dbf.try_zstd_decompress(dbf.unbase64(df.input)).cast("string").alias("result")).show(truncate=False)
+------+
|result|
+------+
|NULL  |
+------+