zstd_compress
指定された圧縮レベルで Zstandard を使用して expr の圧縮された値を返します。デフォルトのレベルは 3 です。デフォルトではシングルパス モードが使用されます。
構文
Python
from pyspark.databricks.sql import functions as dbf
dbf.zstd_compress(input=<input>, level=<level>, streaming_mode=<streaming_mode>)
パラメーター
パラメーター | Type | 説明 |
|---|---|---|
|
| 圧縮するバイナリ値。 |
|
| 圧縮レベルを表すオプションの整数引数。圧縮レベルは、圧縮速度と圧縮率のトレードオフを制御します。有効な値: 1 から 22 まで。1 は最速だが圧縮率が最も低いことを意味し、22 は最も遅いが圧縮率が最も高いことを意味します。指定されていない場合、デフォルトのレベルは 3 です。 |
|
| ストリーミング モードを使用するかどうかを表すオプションのブール引数。 true の場合、関数はストリーミング モードで圧縮されます。デフォルト値は false です。 |
戻り値
pyspark.sql.Column: 圧縮された値を含む新しい列。
例
例1 : Zstandardを使用してデータを圧縮する
Python
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)
Output
+----------------------------------------+
|result |
+----------------------------------------+
|KLUv/SCCpQAAaEFwYWNoZSBTcGFyayABABLS+QU=|
+----------------------------------------+
例2 : 指定された圧縮レベルでZstandardを使用してデータを圧縮する
Python
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)
Output
+----------------------------------------+
|result |
+----------------------------------------+
|KLUv/SCCpQAAaEFwYWNoZSBTcGFyayABABLS+QU=|
+----------------------------------------+
例3 : ストリーミングモードでZstandardを使用してデータを圧縮する
Python
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)
Output
+--------------------------------------------+
|result |
+--------------------------------------------+
|KLUv/QBYpAAAaEFwYWNoZSBTcGFyayABABLS+QUBAAA=|
+--------------------------------------------+