zstd_compress
Renvoie une valeur compressée de l'expression expr à l'aide de Zstandard avec le niveau de compression spécifié. Le niveau default est 3. Utilise le mode passe unique par default.
Syntaxe
from pyspark.sql import functions as dbf
dbf.zstd_compress(input=<input>, level=<level>, streaming_mode=<streaming_mode>)
parameter
parameter | Type | Description |
|---|---|---|
|
| La valeur binaire à compresser. |
|
| Argument entier facultatif qui représente le niveau de compression. Le niveau de compression contrôle le compromis entre la vitesse de compression et le rapport de compression. Valeurs valides : entre 1 et 22 inclus, où 1 signifie le plus rapide mais le rapport de compression le plus faible, et 22 signifie le plus lent mais le rapport de compression le plus élevé. Le niveau default est 3 s'il n'est pas spécifié. |
|
| Argument booléen facultatif qui indique si le mode streaming doit être utilisé. Si la valeur est vraie, la fonction compressera en mode streaming. La valeur par default est faux. |
Renvoie
pyspark.sql.Column: Une nouvelle colonne qui contient une valeur compressée.
Exemples
Exemple 1 : Compresser les données avec 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=|
+----------------------------------------+
Exemple 2 : Compressez les données à l'aide de Zstandard avec le niveau de compression donné
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=|
+----------------------------------------+
**Exemple 3** : Compresser les données avec Zstandard en mode streaming
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=|
+--------------------------------------------+