Databricks Runtime 13.1 (Beta)が公開されました。
新機能と改善点
-
構造化ストリーミングワークロードにおけるステートフルオペレーションの高度なサポート
複数のステートフルオペレーションを連鎖できるようになり、ウィンドウ集計のようなオペレーションのアウトプットを、joinのような別のステートフルオペレーションに入力できるようになりました。 -
構造化ストリーミングにおけるPub/Subサポート
構造化ストリーミングでGoogle Pub/Subをサブスクライブできるビルトインコネクターを利用できるようになりました。 -
構造化ストリーミングにおけるウォーターマーク内での重複排除
構造化ストリーミングで重複したレコードを削除するために、指定されたウォーターマークの閾値と組み合わせて、dropDuplicatesWithinWatermark
を使用できるようになりました。 -
Kinesisデータソースでavailable nowトリガーがサポートされました
構造化ストリーミングのインクリメンタルバッチとして、Kinesisからのレコードを処理する際にTrigger.AvailableNow
を使用できるようになりました。 -
トランケーテッドパーティションカラムを持つIcebergテーブルのDeltaへの変換をサポート
int
、long
、string
のトランケーテッドカラムで定義されたパーティションを持つIcebergテーブルにCLONE
やCONVERT TO DELTA
を使用できるようになりました。 -
START VERSIONの削除
ALTER SHARE
でSTART VERSION
は非推奨になりました。 -
Pythonで新たなH3エクスプレッションが利用可能に
Pythonでh3_coverash3
やh3_coverash3string
エクスプレッションを使用できるようになりました。
SQL関数の追加
-
array_prepend(array, elem):
elem
が前に追加されたarray
が返却されます。 -
try_aes_decrypt(expr, key [, mode [, padding]]): AES暗号化を用いて生成されたバイナリーを復号化し、エラーがあった場合には
NULL
を返却します。 - sql_keywords(): Databricks SQLのキーワードの一覧を返却します。
array_prepend(array, elem)
SQL
SELECT array_prepend(array(1, 2, 3), 0);
try_aes_decrypt(expr, key [, mode [, padding]])
最初にAESで暗号化します。
SQL
SELECT base64(aes_encrypt('Spark', 'abcdefghijklmnop'));
R763N8E99TwxGlt8MFIMQrX7foEv8D4rk7mYPn46rKhn
これを復号化します。
SQL
SELECT cast(try_aes_decrypt(unbase64('R763N8E99TwxGlt8MFIMQrX7foEv8D4rk7mYPn46rKhn'),
'abcdefghijklmnop') AS STRING);
複合化されました。
Spark
sql_keywords()
SQL
SELECT * FROM sql_keywords() LIMIT 10
キーワードがkeyword
、予約語であるかどうかを示すreserved
が返ってきます。予約語になるかどうかは実行時のモードによります。詳細はこちら。