使用 Zstandard 回傳解壓後的 expr 值。 支援單次通過及串流模式的壓縮資料。 解壓失敗時,會回傳 NULL。
語法
from pyspark.databricks.sql import functions as dbf
dbf.try_zstd_decompress(input=<input>)
參數
| 參數 | 類型 | Description |
|---|---|---|
input |
pyspark.sql.Column 或 str |
二元值是解壓。 |
退貨
pyspark.sql.Column:一個包含未壓縮值的新欄位。
範例
範例 1:使用 Zstandard 進行資料解壓
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([("KLUv/SCCpQAAaEFwYWNoZSBTcGFyayABABLS+QU=",)], ["input"])
df.select(dbf.try_zstd_decompress(dbf.unbase64(df.input)).cast("string").alias("result")).show(truncate=False)
+----------------------------------------------------------------------------------------------------------------------------------+
|result |
+----------------------------------------------------------------------------------------------------------------------------------+
|Apache Spark Apache Spark Apache Spark Apache Spark Apache Spark Apache Spark Apache Spark Apache Spark Apache Spark Apache Spark |
+----------------------------------------------------------------------------------------------------------------------------------+
範例 2:解壓無效輸入
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([("invalid input",)], ["input"])
df.select(dbf.try_zstd_decompress(dbf.unbase64(df.input)).cast("string").alias("result")).show(truncate=False)
+------+
|result|
+------+
|NULL |
+------+