メインコンテンツへジャンプ
ログイン
      • Databricks を知る
        • For App Developers
          • エグゼクティブ向け
            • スタートアップ向け
              • レイクハウスアーキテクチャ
                • Databricks AIリサーチ
                • 導入事例
                  • 注目の導入事例
                  • パートナー
                    • パートナー概要
                      Databricks パートナー エコシステムの詳細
                      • パートナースポットライト
                        注目のパートナーの発表
                        • パートナープログラム
                          特典、レベル、パートナーになる方法をご覧ください
                          • クラウドプロバイダー
                            AWS、Azure、GCP 上の Databricks
                            • パートナーを探す
                              ニーズに合った Databricks パートナーを見つける
                              • パートナーソリューション
                                業界別および移行ソリューションを見つける
                              • Databricks プラットフォーム
                                • プラットフォームの概要
                                  データ・分析・AI のための統合プラットフォーム
                                  • データエンジニアリング
                                    バッチ、ストリーミングデータのための ETL とオーケストレーション
                                    • AIアシスタント
                                      ビジネスユーザー向けのエージェント型同僚
                                      • データウェアハウジング
                                        バッチ、ストリーミングデータのための ETL とオーケストレーション
                                        • アプリケーション開発
                                          安全なデータと AI アプリを迅速に構築
                                          • データベース
                                            データアプリと AI エージェントのための Postgres
                                            • 人工知能(AI)
                                              ML と生成 AI アプリケーションの構築とデプロイメント
                                              • ガバナンス
                                                データ・分析・AI のための統合ガバナンス
                                                • BI
                                                  実世界データのインテリジェント分析
                                                  • セキュリティ
                                                    AI時代のために構築されたオープンなエージェント型SIEM
                                                    • 顧客データプラットフォーム
                                                      Databricksに組み込まれたエージェント型CDP
                                                      • 共有
                                                        データ、分析、AI のためのオープンなデータ共有
                                                      • 統合とデータ
                                                        • マーケットプレイス
                                                          データ、分析、AI のためのオープンマーケットプレイス
                                                          • IDE 統合
                                                            お気に入りの IDE(統合開発環境)でレイクハウスを構築
                                                            • パートナーコネクト
                                                              Databricks エコシステムの検索と統合
                                                            • ご利用料金
                                                              • Databricks のご利用料金
                                                                料金設定、DBU、その他
                                                                • コスト計算ツール
                                                                  クラウド利用でのコンピュートコストの試算
                                                                • オープンソース
                                                                  • オープンソーステクノロジー
                                                                    プラットフォームを支えるイノベーションをもっと詳しく
                                                                  • 業界向け Databricks
                                                                    • テレコミュニケーション
                                                                      • メディア・エンターテイメント
                                                                        • 金融サービス
                                                                          • 官公庁・公共機関
                                                                            • 医療・ライフサイエンス
                                                                              • リテール・消費財
                                                                                • 製造
                                                                                  • 全て見る
                                                                                  • クロスインダストリーソリューション
                                                                                    • AI Agents
                                                                                      • AI ガバナンス
                                                                                        • サイバーセキュリティ
                                                                                          • マーケティング
                                                                                          • 移行・デプロイメント
                                                                                            • データの移行
                                                                                              • プロフェッショナルサービス
                                                                                              • ソリューションアクセラレータ
                                                                                                • ソリューションアクセラレータ一覧
                                                                                                  成果を加速
                                                                                                • トレーニング・認定試験
                                                                                                  • トレーニング概要
                                                                                                    ニーズに合わせたカリキュラムを探す
                                                                                                    • Databricks アカデミー
                                                                                                      Databricks ラーニングプラットフォームにサインインする
                                                                                                      • 認定
                                                                                                        スキル・認定で差別化を図る
                                                                                                        • 無料版
                                                                                                          専門家向けデータとAIツールを無料で学べます
                                                                                                          • 大学との連携
                                                                                                            Databricks を教材として活用
                                                                                                          • イベント
                                                                                                            • DATA+AI サミット
                                                                                                              • Data+AI ワールドツアー
                                                                                                                • AI Days
                                                                                                                  • イベントカレンダー
                                                                                                                  • ブログ・ポッドキャスト
                                                                                                                    • Databricks ブログ
                                                                                                                      最新情報、製品発表、その他の情報
                                                                                                                      • AI ブログ
                                                                                                                        当社のAI研究とエンジニアリングの取り組みをご覧ください
                                                                                                                        • Data Brew ポッドキャスト
                                                                                                                          ご相談・お問い合わせ
                                                                                                                        • お役立ちリソース
                                                                                                                          • カスタマーサポート
                                                                                                                            • ドキュメント
                                                                                                                              • コミュニティ
                                                                                                                              • もっと詳しく
                                                                                                                                • リソースセンター
                                                                                                                                  • デモセンター
                                                                                                                                    • アーキテクチャ センター
                                                                                                                                    • 企業概要
                                                                                                                                      • Databricks について
                                                                                                                                        • 経営陣
                                                                                                                                          • Databricks Ventures
                                                                                                                                            • ご相談・お問い合わせ
                                                                                                                                            • 採用情報
                                                                                                                                              • 採用情報概要
                                                                                                                                                • 求人情報
                                                                                                                                                • プレス・ニュース記事
                                                                                                                                                  • ニュースルーム
                                                                                                                                                    • 受賞歴と業界評価
                                                                                                                                                    • セキュリティと信頼
                                                                                                                                                      • セキュリティと信頼
                                                                                                                                                  • 是非ご検討ください!
                                                                                                                                                  • デモを見る
                                                                                                                                                  • ログイン
                                                                                                                                                  • ご相談・お問い合わせ
                                                                                                                                                  • Databricks 無料トライアル
                                                                                                                                                  1. すべてのブログ
                                                                                                                                                  2. /
                                                                                                                                                    エンジニアリング
                                                                                                                                                  • Pythonのユーザー定義テーブル関数(UDTF)とは?
                                                                                                                                                  • PythonのUDTFを使うべき理由
                                                                                                                                                  • Python UDTFの作成方法
                                                                                                                                                  • Python UDTFの使い方
                                                                                                                                                  • Arrowに最適化されたPython UDTF
                                                                                                                                                  • LangChainを使った実際の使用例
                                                                                                                                                  • Python UDTFを今すぐ始めよう
                                                                                                                                                  • 今後の課題
                                                                                                                                                  • Pythonのユーザー定義テーブル関数(UDTF)とは?
                                                                                                                                                  • PythonのUDTFを使うべき理由
                                                                                                                                                  • Python UDTFの作成方法
                                                                                                                                                  • Python UDTFの使い方
                                                                                                                                                  • Arrowに最適化されたPython UDTF
                                                                                                                                                  • LangChainを使った実際の使用例
                                                                                                                                                  • Python UDTFを今すぐ始めよう
                                                                                                                                                  • 今後の課題
                                                                                                                                                  データエンジニアリング
                                                                                                                                                  2023年11月7日

                                                                                                                                                  Python ユーザー定義テーブル関数(UDTFs)

                                                                                                                                                  Pythonのユーザー定義テーブル関数(UDTFs)とは何か?

                                                                                                                                                  によって アリソン・ワン, Daniel Tenedorio, 植品拓也 、 アラン・フォルティング による投稿

                                                                                                                                                  Archived. This article has not been updated since the publish date above. The dynamic nature of information means that previously accurate content can become outdated or even obsolete over time. Readers are advised to exercise due diligence and cross-check any information found in this blog post before making decisions or adopting any practices based on said information.

                                                                                                                                                  Apache Spark™ 3.5とDatabricks Runtime 14.0は、エキサイティングな機能をもたらした:Pythonのユーザー定義テーブル関数(UDTFs)です。 このブログでは、UDTFとは何か、なぜUDTFは強力なのか、そしてどのようにUDTFを使うことができるのかについて説明する。

                                                                                                                                                  Pythonのユーザー定義テーブル関数(UDTF)とは?

                                                                                                                                                  Pythonのユーザー定義テーブル関数(UDTF)は、単一のスカラー値ではなく、テーブル(複数行・列)を返す新しい種類の関数です。 一度登録されると、SQLクエリのFROM句に登場させることができる。

                                                                                                                                                  各Python UDTFは0個以上の引数を受け入れ、各引数は整数や文字列のような定数スカラー値である。 関数本体は、これらの引数の値を調べて、どのデータを返すべきかを決定することができる。

                                                                                                                                                  PythonのUDTFを使うべき理由

                                                                                                                                                  要するに、複数の行や列を生成する関数が必要で、Pythonの豊富なエコシステムを活用したいのであれば、Python UDTFが適しているということです。

                                                                                                                                                  Python UDTFとPython UDFの比較

                                                                                                                                                  SparkのPython UDFは、それぞれ0個以上のスカラー値を入力として受け入れ、単一の値を出力として返すように設計されているが、UDTFはより柔軟性がある。 これらは複数の行や列を返すことができ、UDFの機能を拡張する。

                                                                                                                                                  Python UDTFとSQL UDTFの比較

                                                                                                                                                  SQLのUDTFは効率的で汎用性が高いが、Pythonはより豊富なライブラリとツールを提供している。 高度な技術を必要とする変換や計算(統計関数や機械学習の推論など)には、Pythonが際立っている。

                                                                                                                                                  Python UDTFの作成方法

                                                                                                                                                  基本的なPythonのUDTFを見てみよう:

                                                                                                                                                  上のコードでは、入力として2つの整数を受け取り、出力として2つの列(元の数とその2乗)を生成する単純なUDTFを作成した。

                                                                                                                                                  UDTFを実装する最初のステップは、クラスを定義することである。

                                                                                                                                                  次に、UDTFのevalメソッドを実装する必要がある。 これは計算を行い行を返すメソッドで、関数の入力引数を定義する。

                                                                                                                                                  Python UDTFでは、結果が正しく処理されるように、戻り値の型はタプルか行オブジェクトである必要があります。

                                                                                                                                                  最後に、クラスを UDTF としてマークするには、@udtfデコレーターを使用して UDTF の戻り値の型を定義します。 戻り値の型は、ブロック書式を持つStructTypeか、Sparkでブロック書式を持つStructTypeを表すDDL文字列でなければならないことに注意してください。

                                                                                                                                                  Python UDTFの使い方

                                                                                                                                                  Pythonにて

                                                                                                                                                  クラス名を使ってUDTFを直接呼び出すことができる。

                                                                                                                                                  SQLの場合

                                                                                                                                                  まず、Python UDTFを登録する:

                                                                                                                                                  そして、SQLでクエリのFROM句の中でテーブル値関数として使うことができる:

                                                                                                                                                  Arrowに最適化されたPython UDTF

                                                                                                                                                  Apache Arrowは、JavaとPythonのプロセス間で効率的なデータ転送を可能にする、インメモリーのカラム型データフォーマットである。 UDTFが多くの行を出力する場合、パフォーマンスを大幅に向上させることができる。 矢印の最適化はuseArrow=Trueで有効にできます。

                                                                                                                                                  LangChainを使った実際の使用例

                                                                                                                                                  上記の例は基本的なものだと感じるかもしれない。 PythonのUDTFとLangChainを統合する楽しい例で、さらに深く掘り下げてみよう。

                                                                                                                                                  これでUDTFを呼び出すことができる:

                                                                                                                                                  Python UDTFを今すぐ始めよう

                                                                                                                                                  複雑なデータ変換やデータセットの拡充、新しい分析方法の探索などにおいて、Python UDTFはツールキットに加える価値のある機能です。 このノートブックを試してみて ください。

                                                                                                                                                  今後の課題

                                                                                                                                                  この機能はPython UDTFプラットフォームの始まりに過ぎない。 Apache Sparkでは現在、さらに多くの機能が開発中で、将来のリリースで利用可能になる予定だ。 例えば、「サポート」が可能になる:

                                                                                                                                                  • UDTF呼び出しが、各呼び出しに提供された特定の引数(提供された入力引数のタイプやリテラルスカラー引数の値を含む)に応答して、その出力スキーマを動的に計算することができる多相性解析。
                                                                                                                                                  • TABLE キーワードを使用した SQL FROM 節で、入力リレーション全体を UDTF 呼び出しに渡す。 これは、カタログテーブルの直接参照だけでなく、任意のテーブルのサブクエリでも動作します。 evalメソッドでUDTFクラスの同じインスタンスが消費する入力テーブルのサブセットを定義するために、各クエリで入力テーブルのカスタムパーティショニングを指定することが可能になります。
                                                                                                                                                  • 任意のUDTF呼び出しに対して、クエリーのスケジューリング時に一度だけ任意の初期化を実行し、その状態を将来のすべてのクラス・インスタンスに伝搬して、将来消費する。 これは、最初の静的な"analyze" メソッドによって返されるUDTF出力テーブルスキーマは、同じクエリに対する将来のすべての__init__呼び出しによって消費されることを意味します。
                                                                                                                                                  • 他にも興味深い機能がたくさんあります!ぜひいろいろお試しください!

                                                                                                                                                  最新の投稿を受信トレイで受け取る

                                                                                                                                                  ブログを購読して、最新の投稿を受信トレイにお届けします。

                                                                                                                                                  Sign up

                                                                                                                                                  すべてのブログを見る
                                                                                                                                                  databricks logo
                                                                                                                                                  Databricks を選ぶ理由
                                                                                                                                                  Databricks を選ぶ理由
                                                                                                                                                  • For App Developers
                                                                                                                                                  • エグゼクティブ向け
                                                                                                                                                  • スタートアップ向け
                                                                                                                                                  • レイクハウスアーキテクチャ
                                                                                                                                                  • Databricks AIリサーチ
                                                                                                                                                  導入事例
                                                                                                                                                  • 注目の導入事例
                                                                                                                                                  パートナー
                                                                                                                                                  • パートナー概要
                                                                                                                                                  • パートナープログラム
                                                                                                                                                  • パートナーを探す
                                                                                                                                                  • パートナースポットライト
                                                                                                                                                  • クラウドプロバイダー
                                                                                                                                                  • パートナーソリューション
                                                                                                                                                  Databricks を選ぶ理由
                                                                                                                                                  • For App Developers
                                                                                                                                                  • エグゼクティブ向け
                                                                                                                                                  • スタートアップ向け
                                                                                                                                                  • レイクハウスアーキテクチャ
                                                                                                                                                  • Databricks AIリサーチ
                                                                                                                                                  導入事例
                                                                                                                                                  • 注目の導入事例
                                                                                                                                                  パートナー
                                                                                                                                                  • パートナー概要
                                                                                                                                                  • パートナープログラム
                                                                                                                                                  • パートナーを探す
                                                                                                                                                  • パートナースポットライト
                                                                                                                                                  • クラウドプロバイダー
                                                                                                                                                  • パートナーソリューション
                                                                                                                                                  製品
                                                                                                                                                  レイクハウスプラットフォーム
                                                                                                                                                  • プラットフォーム
                                                                                                                                                  • AIアシスタント
                                                                                                                                                  • アプリケーション開発
                                                                                                                                                  • 人工知能(AI)
                                                                                                                                                  • BI
                                                                                                                                                  • 顧客データプラットフォーム
                                                                                                                                                  • データエンジニアリング
                                                                                                                                                  • データウェアハウス
                                                                                                                                                  • データベース
                                                                                                                                                  • データガバナンス
                                                                                                                                                  • Neon
                                                                                                                                                  • セキュリティ
                                                                                                                                                  • 共有
                                                                                                                                                  ご利用料金
                                                                                                                                                  • 料金設定の概要
                                                                                                                                                  • 料金計算ツール
                                                                                                                                                  オープンソース
                                                                                                                                                  統合とデータ
                                                                                                                                                  • マーケットプレイス
                                                                                                                                                  • IDE 統合
                                                                                                                                                  • パートナーコネクト
                                                                                                                                                  レイクハウスプラットフォーム
                                                                                                                                                  • プラットフォーム
                                                                                                                                                  • AIアシスタント
                                                                                                                                                  • アプリケーション開発
                                                                                                                                                  • 人工知能(AI)
                                                                                                                                                  • BI
                                                                                                                                                  • 顧客データプラットフォーム
                                                                                                                                                  • データエンジニアリング
                                                                                                                                                  • データウェアハウス
                                                                                                                                                  • データベース
                                                                                                                                                  • データガバナンス
                                                                                                                                                  • Neon
                                                                                                                                                  • セキュリティ
                                                                                                                                                  • 共有
                                                                                                                                                  ご利用料金
                                                                                                                                                  • 料金設定の概要
                                                                                                                                                  • 料金計算ツール
                                                                                                                                                  統合とデータ
                                                                                                                                                  • マーケットプレイス
                                                                                                                                                  • IDE 統合
                                                                                                                                                  • パートナーコネクト
                                                                                                                                                  ソリューション
                                                                                                                                                  業種別
                                                                                                                                                  • 通信
                                                                                                                                                  • 金融サービス
                                                                                                                                                  • 医療・ライフサイエンス
                                                                                                                                                  • 製造
                                                                                                                                                  • メディア・エンタメ
                                                                                                                                                  • 官公庁・公共機関
                                                                                                                                                  • リテール・消費財
                                                                                                                                                  • 全て表示
                                                                                                                                                  クロスインダストリーソリューション
                                                                                                                                                  • AI エージェント
                                                                                                                                                  • AI ガバナンス
                                                                                                                                                  • サイバーセキュリティ
                                                                                                                                                  • マーケティング
                                                                                                                                                  データの移行
                                                                                                                                                  プロフェッショナルサービス
                                                                                                                                                  ソリューションアクセラレータ
                                                                                                                                                  業種別
                                                                                                                                                  • 通信
                                                                                                                                                  • 金融サービス
                                                                                                                                                  • 医療・ライフサイエンス
                                                                                                                                                  • 製造
                                                                                                                                                  • メディア・エンタメ
                                                                                                                                                  • 官公庁・公共機関
                                                                                                                                                  • リテール・消費財
                                                                                                                                                  • 全て表示
                                                                                                                                                  クロスインダストリーソリューション
                                                                                                                                                  • AI エージェント
                                                                                                                                                  • AI ガバナンス
                                                                                                                                                  • サイバーセキュリティ
                                                                                                                                                  • マーケティング
                                                                                                                                                  リソース
                                                                                                                                                  ドキュメント
                                                                                                                                                  カスタマーサポート
                                                                                                                                                  コミュニティ
                                                                                                                                                  トレーニング・認定試験
                                                                                                                                                  • トレーニング
                                                                                                                                                  • 認定
                                                                                                                                                  • 無料版
                                                                                                                                                  • 大学との連携
                                                                                                                                                  • Databricks アカデミー
                                                                                                                                                  イベント
                                                                                                                                                  • DATA+AI サミット
                                                                                                                                                  • Data+AI ワールドツアー
                                                                                                                                                  • AI Days
                                                                                                                                                  • イベントカレンダー
                                                                                                                                                  ブログ・ポッドキャスト
                                                                                                                                                  • Databricks ブログ
                                                                                                                                                  • AI ブログ
                                                                                                                                                  • Data Brew ポッドキャスト
                                                                                                                                                  トレーニング・認定試験
                                                                                                                                                  • トレーニング
                                                                                                                                                  • 認定
                                                                                                                                                  • 無料版
                                                                                                                                                  • 大学との連携
                                                                                                                                                  • Databricks アカデミー
                                                                                                                                                  イベント
                                                                                                                                                  • DATA+AI サミット
                                                                                                                                                  • Data+AI ワールドツアー
                                                                                                                                                  • AI Days
                                                                                                                                                  • イベントカレンダー
                                                                                                                                                  ブログ・ポッドキャスト
                                                                                                                                                  • Databricks ブログ
                                                                                                                                                  • AI ブログ
                                                                                                                                                  • Data Brew ポッドキャスト
                                                                                                                                                  企業情報
                                                                                                                                                  企業概要
                                                                                                                                                  • Databricks について
                                                                                                                                                  • 経営陣
                                                                                                                                                  • Databricks Ventures
                                                                                                                                                  • ご相談・お問い合わせ
                                                                                                                                                  採用情報
                                                                                                                                                  • 採用情報概要
                                                                                                                                                  • 求人情報
                                                                                                                                                  プレス・ニュース記事
                                                                                                                                                  • ニュースルーム
                                                                                                                                                  • 受賞歴と業界評価
                                                                                                                                                  セキュリティと信頼
                                                                                                                                                  企業概要
                                                                                                                                                  • Databricks について
                                                                                                                                                  • 経営陣
                                                                                                                                                  • Databricks Ventures
                                                                                                                                                  • ご相談・お問い合わせ
                                                                                                                                                  採用情報
                                                                                                                                                  • 採用情報概要
                                                                                                                                                  • 求人情報
                                                                                                                                                  プレス・ニュース記事
                                                                                                                                                  • ニュースルーム
                                                                                                                                                  • 受賞歴と業界評価
                                                                                                                                                  databricks logo

                                                                                                                                                  Databricks Inc.
                                                                                                                                                  160 Spear Street, 15th Floor
                                                                                                                                                  San Francisco, CA 94105
                                                                                                                                                  1-866-330-0121

                                                                                                                                                  採用情報

                                                                                                                                                  © Databricks 2026. All rights reserved. Apache, Apache Spark, Spark and the Spark logo are trademarks of the Apache Software Foundation.

                                                                                                                                                  • プライバシー通知
                                                                                                                                                  • |利用規約
                                                                                                                                                  • |現代奴隷法に関する声明
                                                                                                                                                  • |カリフォルニア州のプライバシー権利
                                                                                                                                                  • |プライバシー設定