メインコンテンツへジャンプ
ログイン
      • Databricks を知る
        • For App Developers
          • エグゼクティブ向け
            • スタートアップ向け
              • レイクハウスアーキテクチャ
                • Databricks AIリサーチ
                • 導入事例
                  • 注目の導入事例
                  • パートナー
                    • パートナー概要
                      Databricks パートナー エコシステムの詳細
                      • パートナースポットライト
                        注目のパートナーの発表
                        • パートナープログラム
                          特典、レベル、パートナーになる方法をご覧ください
                          • クラウドプロバイダー
                            AWS、Azure、GCP 上の Databricks
                            • パートナーを探す
                              ニーズに合った Databricks パートナーを見つける
                              • パートナーソリューション
                                業界別および移行ソリューションを見つける
                              • Databricks プラットフォーム
                                • プラットフォームの概要
                                  データ・分析・AI のための統合プラットフォーム
                                  • データ管理
                                    データの信頼性・セキュリティ・パフォーマンス
                                    • 共有
                                      オープン、セキュア、ゼロコピーでのデータ共有
                                      • データウェアハウジング
                                        バッチ、ストリーミングデータのための ETL とオーケストレーション
                                        • ガバナンス
                                          データ・分析・AI のための統合ガバナンス
                                          • データエンジニアリング
                                            バッチ、ストリーミングデータのための ETL とオーケストレーション
                                            • 人工知能(AI)
                                              ML と生成 AI アプリケーションの構築とデプロイメント
                                              • ビジネス生産性
                                                統合された検索、チャット、ダッシュボード、アプリ
                                                • BI
                                                  実世界データのインテリジェント分析
                                                  • アプリケーション開発
                                                    安全なデータと AI アプリを迅速に構築
                                                    • Database
                                                      Postgres for data apps and AI agents
                                                      • セキュリティ
                                                        AI時代のために構築されたオープンなエージェント型SIEM
                                                      • 統合とデータ
                                                        • マーケットプレイス
                                                          データ、分析、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 ポッドキャスト
                                                                                                                          ご相談・お問い合わせ
                                                                                                                          • ポッドキャスト:Data+AI のチャンピオン
                                                                                                                            イノベーションを支えるデータリーダーのインサイト
                                                                                                                          • お役立ちリソース
                                                                                                                            • カスタマーサポート
                                                                                                                              • ドキュメント
                                                                                                                                • コミュニティ
                                                                                                                                • もっと詳しく
                                                                                                                                  • リソースセンター
                                                                                                                                    • デモセンター
                                                                                                                                      • アーキテクチャ センター
                                                                                                                                      • 企業概要
                                                                                                                                        • 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, 植品拓也 、 アラン・フォルティング による投稿

                                                                                                                                                    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)
                                                                                                                                                    • BI
                                                                                                                                                    • Database
                                                                                                                                                    • データ管理
                                                                                                                                                    • データウェアハウス
                                                                                                                                                    • データエンジニアリング
                                                                                                                                                    • ビジネス生産性
                                                                                                                                                    • アプリケーション開発
                                                                                                                                                    • セキュリティ
                                                                                                                                                    ご利用料金
                                                                                                                                                    • 料金設定の概要
                                                                                                                                                    • 料金計算ツール
                                                                                                                                                    オープンソース
                                                                                                                                                    統合とデータ
                                                                                                                                                    • マーケットプレイス
                                                                                                                                                    • IDE 統合
                                                                                                                                                    • パートナーコネクト
                                                                                                                                                    レイクハウスプラットフォーム
                                                                                                                                                    • プラットフォーム
                                                                                                                                                    • 共有
                                                                                                                                                    • データガバナンス
                                                                                                                                                    • 人工知能(AI)
                                                                                                                                                    • BI
                                                                                                                                                    • Database
                                                                                                                                                    • データ管理
                                                                                                                                                    • データウェアハウス
                                                                                                                                                    • データエンジニアリング
                                                                                                                                                    • ビジネス生産性
                                                                                                                                                    • アプリケーション開発
                                                                                                                                                    • セキュリティ
                                                                                                                                                    ご利用料金
                                                                                                                                                    • 料金設定の概要
                                                                                                                                                    • 料金計算ツール
                                                                                                                                                    統合とデータ
                                                                                                                                                    • マーケットプレイス
                                                                                                                                                    • IDE 統合
                                                                                                                                                    • パートナーコネクト
                                                                                                                                                    ソリューション
                                                                                                                                                    業種別
                                                                                                                                                    • 通信
                                                                                                                                                    • 金融サービス
                                                                                                                                                    • 医療・ライフサイエンス
                                                                                                                                                    • 製造
                                                                                                                                                    • メディア・エンタメ
                                                                                                                                                    • 官公庁・公共機関
                                                                                                                                                    • リテール・消費財
                                                                                                                                                    • 全て表示
                                                                                                                                                    クロスインダストリーソリューション
                                                                                                                                                    • AI エージェント
                                                                                                                                                    • AI ガバナンス
                                                                                                                                                    • サイバーセキュリティ
                                                                                                                                                    • マーケティング
                                                                                                                                                    データの移行
                                                                                                                                                    プロフェッショナルサービス
                                                                                                                                                    ソリューションアクセラレータ
                                                                                                                                                    業種別
                                                                                                                                                    • 通信
                                                                                                                                                    • 金融サービス
                                                                                                                                                    • 医療・ライフサイエンス
                                                                                                                                                    • 製造
                                                                                                                                                    • メディア・エンタメ
                                                                                                                                                    • 官公庁・公共機関
                                                                                                                                                    • リテール・消費財
                                                                                                                                                    • 全て表示
                                                                                                                                                    クロスインダストリーソリューション
                                                                                                                                                    • AI エージェント
                                                                                                                                                    • AI ガバナンス
                                                                                                                                                    • サイバーセキュリティ
                                                                                                                                                    • マーケティング
                                                                                                                                                    リソース
                                                                                                                                                    ドキュメント
                                                                                                                                                    カスタマーサポート
                                                                                                                                                    コミュニティ
                                                                                                                                                    トレーニング・認定試験
                                                                                                                                                    • トレーニング
                                                                                                                                                    • 認定
                                                                                                                                                    • 無料版
                                                                                                                                                    • 大学との連携
                                                                                                                                                    • Databricks アカデミー
                                                                                                                                                    イベント
                                                                                                                                                    • DATA+AI サミット
                                                                                                                                                    • Data+AI ワールドツアー
                                                                                                                                                    • AI Days
                                                                                                                                                    • イベントカレンダー
                                                                                                                                                    ブログ・ポッドキャスト
                                                                                                                                                    • Databricks ブログ
                                                                                                                                                    • AI ブログ
                                                                                                                                                    • Data Brew ポッドキャスト
                                                                                                                                                    • Data+AI のチャンピオンシリーズ
                                                                                                                                                    トレーニング・認定試験
                                                                                                                                                    • トレーニング
                                                                                                                                                    • 認定
                                                                                                                                                    • 無料版
                                                                                                                                                    • 大学との連携
                                                                                                                                                    • Databricks アカデミー
                                                                                                                                                    イベント
                                                                                                                                                    • DATA+AI サミット
                                                                                                                                                    • Data+AI ワールドツアー
                                                                                                                                                    • AI Days
                                                                                                                                                    • イベントカレンダー
                                                                                                                                                    ブログ・ポッドキャスト
                                                                                                                                                    • Databricks ブログ
                                                                                                                                                    • AI ブログ
                                                                                                                                                    • Data Brew ポッドキャスト
                                                                                                                                                    • Data+AI のチャンピオンシリーズ
                                                                                                                                                    企業情報
                                                                                                                                                    企業概要
                                                                                                                                                    • 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.

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