zstd_compress

使用具有指定压缩级别的 Zstandard 返回 expr 的压缩值。 默认级别为 3。 默认情况下使用单传递模式。

Syntax

from pyspark.databricks.sql import functions as dbf

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

参数

参数 类型 Description
input pyspark.sql.Columnstr 要压缩的二进制值。
level pyspark.sql.Columnint(可选) 表示压缩级别的可选整数参数。 压缩级别控制压缩速度和压缩比率之间的权衡。 有效值:介于 1 和 22(含 1)之间,其中 1 表示最快但压缩率最低,22 表示最慢但压缩率最高。 如果未指定,则默认级别为 3。
streaming_mode pyspark.sql.Columnbool(可选) 表示是否使用流模式的可选布尔参数。 如果为 true,则函数将在流式处理模式下压缩。 默认值为 false。

退货

pyspark.sql.Column:包含压缩值的新列。

例子

示例 1:使用 Zstandard 压缩数据

from pyspark.databricks.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.databricks.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.databricks.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=|
+--------------------------------------------+