SQL

DatabricksでUDF(ユーザー定義関数)を使う方法

この記事は約2分で読めます。

 

DatabricksのsparksqlでUDFを使いたいな~と思ったのですが、少し手間取ったので保存用にまとめておきます。

 

UDF(ユーザー定義関数)を定義する

 

例えばdatabricksで中間テーブルとかでよく使うテーブルの期間を関数で共通化

したい場合などは以下のように記述します。

CREATE OR REPLACE FUNCTION start_date()
   RETURNS STRING
 COMMENT '開始日を関数で共通化する'
   LANGUAGE SQL
   RETURN 20220801;

CREATE OR REPLACE FUNCTION end_date()
   RETURNS STRING
   COMMENT '終了日を関数で共通化する'
   LANGUAGE SQL
   RETURN 20220831;

 

UDFをクエリ内で使用する

 

SELECT
  *
FROM
  table
WHERE
  BETWEEN start_date() AND end_date()

 

 

参照:https://qiita.com/taka_yayoi/items/80862e2f8d01e4306a79

How Databricks’ New SQL UDF Extends Spark SQL W/O the Usual Limitations
Learn more about Databricks’s new SQL UDF and how it makes UDFs within Spark SQL more performant, secure and versatile. Also includes tutorials on the use of sc...

 

関連記事:Databricksで中央値と四分位数を集計する

 

コメント

タイトルとURLをコピーしました