zstd_compress

Возвращает сжатое значение expr с помощью Zstandard с указанным уровнем сжатия. Уровень по умолчанию — 3. По умолчанию используется однопроходный режим.

Синтаксис

from pyspark.sql import functions as dbf

dbf.zstd_compress(input=<input>, level=<level>, streaming_mode=<streaming_mode>)

Параметры

Параметр Тип Description
input pyspark.sql.Column или str Двоичное значение для сжатия.
level pyspark.sql.Column или int, необязательно Необязательный целочисленный аргумент, представляющий уровень сжатия. Уровень сжатия управляет компромиссом между скоростью сжатия и коэффициентом сжатия. Допустимые значения: от 1 до 22 включительно, где 1 означает самый быстрый, но самый низкий коэффициент сжатия, и 22 означает самый медленный, но самый высокий коэффициент сжатия. Уровень по умолчанию равен 3, если он не указан.
streaming_mode pyspark.sql.Column или bool, необязательно Необязательный логический аргумент, представляющий, следует ли использовать режим потоковой передачи. Если значение true, функция будет сжиматься в режиме потоковой передачи. По умолчанию используется значение false.

Возвраты

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

Примеры

Пример 1. Сжатие данных с помощью Zstandard

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

Пример 2. Сжатие данных с помощью Zstandard с заданным уровнем сжатия

from pyspark.sql import functions as dbf
df = spark.createDataFrame([("Apache Spark " * 10,)], ["input"])
df.select(dbf.base64(dbf.zstd_compress(df.input, dbf.lit(5))).alias("result")).show(truncate=False)
+----------------------------------------+
|result                                  |
+----------------------------------------+
|KLUv/SCCpQAAaEFwYWNoZSBTcGFyayABABLS+QU=|
+----------------------------------------+

Пример 3. Сжатие данных с помощью Zstandard в режиме потоковой передачи

from pyspark.sql import functions as dbf
df = spark.createDataFrame([("Apache Spark " * 10,)], ["input"])
df.select(dbf.base64(dbf.zstd_compress(df.input, dbf.lit(3), dbf.lit(True))).alias("result")).show(truncate=False)
+--------------------------------------------+
|result                                      |
+--------------------------------------------+
|KLUv/QBYpAAAaEFwYWNoZSBTcGFyayABABLS+QUBAAA=|
+--------------------------------------------+