지정된 압축 수준과 함께 Zstandard를 사용하여 expr의 압축된 값을 반환합니다. 기본 수준은 3입니다. 기본적으로 단일 패스 모드를 사용합니다.
문법
from pyspark.databricks.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입니다. |
Returns
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=|
+--------------------------------------------+