Condividi tramite


zstd_compress

Restituisce un valore compresso di expr utilizzando Zstandard con il livello di compressione specificato. Il livello predefinito è 3. Usa la modalità a passaggio singolo per impostazione predefinita.

Sintassi

from pyspark.databricks.sql import functions as dbf

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

Parametri

Parametro TIPO Description
input pyspark.sql.Column o str Valore binario da comprimere.
level pyspark.sql.Column o int, facoltativo Argomento integer facoltativo che rappresenta il livello di compressione. Il livello di compressione controlla il compromesso tra la velocità di compressione e il rapporto di compressione. Valori validi: compreso tra 1 e 22 inclusi, dove 1 indica il rapporto di compressione più veloce ma più basso e 22 indica il rapporto di compressione più lento ma più alto. Il livello predefinito è 3 se non specificato.
streaming_mode pyspark.sql.Column o bool, facoltativo Argomento booleano facoltativo che indica se utilizzare la modalità di streaming. Se true, la funzione comprimerà in modalità di streaming. Il valore predefinito è false.

Restituzioni

pyspark.sql.Column: nuova colonna contenente un valore compresso.

Esempi

Esempio 1: Comprimere i dati con 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=|
+----------------------------------------+

Esempio 2: Comprimere i dati usando Zstandard con il livello di compressione specificato

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=|
+----------------------------------------+

Esempio 3: Comprimere i dati usando Zstandard in modalità di streaming

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=|
+--------------------------------------------+