databricksのfuncsionはOracle等などのファンクションと異なり以下の制約があるので処理が複雑、長くなってしまうことがある。
- 変数が利用できない。そのため、加工した値を変数として使いまわすことができないため、それをしたい場合は随時同じ処理を書く必要がある
- 処理部は基本的に1節で書く必要がある。returnの位置が頭で決まっており、処理部の分岐により複数書くことができない?
ファンクションを利用するメリットの一つとして、ビューを作成の際にファンクションとして標準化した処理をかませることで追加テーブルの作成を省くことができる点にありますが、上記の制約があるため場合によってはファンクションではなくノートブックとして処理をかく、テーブルを追加することも考慮に入れるのもいいかも?