こちらのアップデートです。Python UDF(ユーザー定義関数)に更なる柔軟性を提供します。
Unity Catalog Python UDFにおけるカスタムの依存関係のインストール(パブリックプレビュー)
外部ライブラリのカスタム依存関係を定義することで、Databricksランタイム環境を超えてPython UDFの機能を拡張します。カスタムの依存関係を使用したUDFの拡張をご覧ください。
試してみます。
注意
本機能は以下のコンピュートタイプでサポートされています。
- サーバーレスコンピュート
- Databricks Runtimeバージョン16.2以上を使用した汎用コンピュート
- SQLウェアハウス クラシックまたはプロ
ジョークを返すpyjokes(jokes as a service)を使ってUDFを定義します。
初めは依存関係を定義しないでPython UDFを定義します。
%sql
CREATE OR REPLACE FUNCTION users.takaaki_yayoi.get_joke()
RETURNS STRING
LANGUAGE PYTHON
AS $$
import pyjokes
return pyjokes.get_joke()
$$;
UDFを呼び出すとpyjokes
が見つからないというエラーになります。
SELECT users.takaaki_yayoi.get_joke()
[UDF_USER_CODE_ERROR.GENERIC] Execution of function users.takaaki_yayoi.get_joke() failed.
== Error ==
ModuleNotFoundError: No module named 'pyjokes'
== Stacktrace ==
File "<udfbody>", line 2, in main
import pyjokes SQLSTATE: 39000
マニュアルに従って、ENVIRONMENT
セクションを追加します。dependencies
に依存関係"pyjokes==0.8.3"
を定義します。今のところenvironment_version
は'None'
しか指定できません。
%sql
CREATE OR REPLACE FUNCTION users.takaaki_yayoi.get_joke()
RETURNS STRING
LANGUAGE PYTHON
ENVIRONMENT (
dependencies = '["pyjokes==0.8.3"]',
environment_version = 'None'
)
AS $$
import pyjokes
return pyjokes.get_joke()
$$;
今回は成功します。
%sql
SELECT users.takaaki_yayoi.get_joke()
ご活用ください!