OceanBase
English日本語简体中文
ドキュメントホーム
製品
エコシステム
リリース

データベース

OceanBase CloudOceanBaseデータベース

データベース

OceanBase CloudOceanBaseデータベース
OceanBase CloudOceanBaseデータベース

OceanBaseデータベース

  • エコシステム統合の概要
  • ORMフレームワーク
    • Java
      • SpringBootサンプルプログラム
      • SpringBatchサンプルプログラム
      • Spring JDBCサンプルプログラム
      • SpringDataJPAサンプルプログラム
      • Hibernateサンプルプログラム
      • MyBatisサンプルプログラム
    • Python
      • SQLAlchemyによるOceanBaseデータベース接続サンプルプログラム
      • peeweeによるOceanBaseデータベース接続サンプルプログラム
      • Tortoise ORM による OceanBase データベース接続サンプルプログラム
    • Go
      • GORMサンプルプログラム
    • Rust
      • SeaORM による OceanBase データベース接続サンプルプログラム
    • Ruby
      • ActiveRecordによるOceanBaseデータベース接続サンプルプログラム
      • Sequel で OceanBase データベースに接続するサンプルプログラム
      • Ruby on RailsによるOceanBaseデータベース接続サンプルプログラム
    • Node.js
      • SequelizeでOceanBaseデータベースに接続する
      • TypeORMを使用してOceanBaseデータベースに接続する
      • Prismaを使用してOceanBaseデータベースに接続する
      • Drizzle ORMを使用してOceanBaseデータベースに接続する
    • C#
      • Dapperを使用してOceanBaseデータベースに接続する
      • SqlSugarを使用してOceanBaseデータベースに接続する
      • FreeSQLを使用してOceanBaseデータベースに接続する
    • PHP
      • Yii 2.0 ORMサンプルプログラム
      • Laravel Eloquent ORMサンプルプログラム
  • データベースのバージョン管理
    • Liquibaseを使用したOceanBaseデータベースのバージョンの管理
    • Flywayを使用してOceanBaseデータベースを統合し、バージョン管理を実現する
  • データ統合
    • dbtを使用したOceanBaseデータの分析
    • Flink DirectLoadを使用したOceanBaseのダイレクトインポート
    • SeaTunnelを使用したOceanBaseデータの読み取りと同期
    • Maxwellを使用したOceanBaseデータの読み取り
    • Debeziumを使用してOceanBaseに接続し、データを取得する
    • Spark Catalogを使用してOceanBaseデータベースに接続する
    • Apache NiFiを使用してOceanBaseデータベースと統合する
  • SQL開発
    • WebLogicを使用してOceanBaseデータベースに接続する
    • DBeaverを使用してOceanBaseデータベースに接続する
    • Navicatを使用してOceanBaseデータベースに接続する
    • DataGripでOceanBaseデータベースに接続する
    • TablePlusでOceanBaseデータベースに接続する
    • DMSを使用したOceanBaseデータベースの管理
  • 編成とスケジューリング
    • AirflowとOceanBaseデータベースの連携
    • PowerJobとOceanBaseデータベースの連携
    • DolphinSchedulerにOceanBaseデータソースを設定する
    • LinkisとOceanBaseデータベースの統合
  • 可視化ツール
    • SupersetとOceanBaseを使用したデータ分析
    • Power BIでOceanBaseに接続してデータを取得する
    • Quick BIでOceanBaseに接続してデータを取得する
    • Bytebaseを使用したOceanBaseインスタンスの管理
  • データベース管理
    • NineDataを使用したOceanBaseデータソースの管理
    • Bytebaseを使用したOceanBaseインスタンスの管理
  • AI
    • OpenAI
    • Qwen
    • OceanBaseデータベースとLangChainの統合
    • OceanBaseデータベースのベクトル検索機能とLlamaIndexの連携
    • OceanBaseデータベースのベクトル検索機能とDifyの連携
    • OceanBaseデータベースとn8nの連携
    • OceanBase MCP ServerとTraeの連携
    • OceanBaseデータベースとSpring AI Alibabaの連携
    • OceanBase MCP ServerとClineの連携
    • OceanBase MCP ServerとCursorの連携
    • OceanBase MCP ServerとContinueの連携
    • Google GenAI Toolboxを使用して独自のOceanBase MCP Serverを構築する
    • OceanBaseデータベースとCamelAIの連携
    • OceanBase VectorとFirecrawlの連携
    • OceanBase VectorとHugging Faceの連携
    • OceanBase VectorとOllamaの連携
    • OceanBaseデータベースとGoogle Geminiの連携
    • OceanBase VectorとCloudflare Workers AIの連携
    • OceanBase VectorとJina AIの連携
    • OceanBase MCP ServerとAugment Codeの連携
    • OceanBase MCP ServerとClaude Codeの連携
    • OceanBase MCP ServerとKiroの連携

PDF をダウンロード

ドキュメントフィードバック
  1. ドキュメントセンター
  2. OceanBaseデータベース
  3. master

AirflowとOceanBaseデータベースの連携

最終更新:2026-10-10 03:12:37

前提条件
データベース接続情報の取得
AirflowでOceanBaseデータソースを追加して接続する
Airflowタスクの例

Apache Airflowは、バッチ処理向けのワークフローを開発、スケジューリング、監視するためのオープンソースプラットフォームです。Airflowのすべてのワークフローは、Pythonコードで定義できます。Webインターフェースでワークフローの状態を管理できます。

前提条件

  • Apache Airflowがインストール済みであること。詳細については、Apache Airflow公式サイトを参照してください。
  • OceanBaseデータベースがインストール済みであり、MySQLモードのテナントが作成されていること。
  • 接続対象のOBServerノードのIPと、Airflowがインストールされているマシンとの間でネットワーク接続が確立されていることを確認してください。

データベース接続情報の取得

OceanBaseデータベースのデプロイ担当者または管理者に連絡し、対応するデータベース接続文字列を取得します。例:

obclient -h$host -P$port -u$user_name -p$password -D$database_name

パラメータの説明:

  • $host:OceanBaseデータベースの接続IPです。OceanBase Database Proxy(ODP)接続方式ではODPアドレスを使用し、直接接続方式ではOBServerノードのIPアドレスを使用します。
  • $port:OceanBaseデータベースの接続ポートです。ODP接続方式のデフォルトは2883で、ODPのデプロイ時にカスタマイズ可能です。直接接続方式のデフォルトは2881で、OceanBaseデータベースのデプロイ時にカスタマイズ可能です。
  • $database_name:アクセスするデータベース名です。
  • $user_name:テナントの接続アカウントです。ODP接続の一般的な形式はユーザ名@テナント名#クラスタ名またはクラスタ名:テナント名:ユーザー名です。直接接続方式の形式はユーザー名@テナント名です。
  • $password:アカウントのパスワードです。

注意

テナントに接続するユーザーは、そのデータベースに対するCREATE、INSERT、DROP、SELECT権限を持っている必要があります。

例:

obclient -hxxx.xxx.xxx.xxx -P2881 -utest_user001@mysql001 -p****** -Dtest

AirflowでOceanBaseデータソースを追加して接続する

  1. AirflowのWeb UIを開きます。

  2. Admin -> Connectionsに移動します。

  3. 「+」記号をクリックして、新しい接続を追加します。

  4. 以下のフィールドを入力します。

    構成パラメータ
    説明
    Connection Id ob (任意の識別子で構いません)。
    Connection Type MySQL
    Host 接続文字列の-hパラメータから取得した、OceanBaseデータベースの接続IPアドレスです。例:xxx.xxx.xxx.xxx。
    Schema 接続文字列の-Dパラメータから取得した、アクセスするデータベース名です。
    Login 接続文字列の-uパラメータから取得した、アカウント名です。例:test_user001@mysql001。
    Password 接続文字列の-pパラメータから取得した、アカウントのパスワードです。
    Port 接続文字列の-Pパラメータから取得した、OceanBaseデータベースの接続ポートです。直接接続方式のデフォルトは2881、ODP経由の接続のデフォルトは2883です。
  5. 作成が成功すると、AirflowのタスクでこのobというConnection Idを参照してOceanBaseデータベースにアクセスできるようになります。

Airflowタスクの例

AirflowにOceanBaseデータベースを追加した後、以下の内容を作成することで、AirflowがOceanBaseデータベースからデータを読み込んで出力する処理を実装できます。

  1. Airflowのインストールディレクトリ内のdagsフォルダに、query.pyというファイルを新規作成し、以下の内容を記述します。

    from airflow import DAG
    from airflow.utils.dates import days_ago
    from airflow.providers.mysql.hooks.mysql import MySqlHook
    from airflow.operators.python import PythonOperator
    
    default_args = {
        'owner': 'airflow',
        'retries': 0,
    }
    
    def fetch_and_print_data():
        hook = MySqlHook(mysql_conn_id='ob')
        sql = "SELECT * FROM person LIMIT 1;"
        connection = hook.get_conn()
        cursor = connection.cursor()
        cursor.execute(sql)
        rows = cursor.fetchall()
        for row in rows:
            print(row)
    
    with DAG(
        dag_id='sql_query',
        default_args=default_args,
        schedule_interval='@daily',
        start_date=days_ago(1),
        catchup=False,
    ) as dag:
    
        run_and_print = PythonOperator(
            task_id='run_and_print',
            python_callable=fetch_and_print_data,
        )
    
        run_and_print
    
  2. airflow tasks test sql_query run_and_printを実行すると、personテーブルの最初のデータが出力されます。

前のトピック

DMSを使用したOceanBaseデータベースの管理
前へ

次のトピック

PowerJobとOceanBaseデータベースの連携
次へ
このページの内容
前提条件
データベース接続情報の取得
AirflowでOceanBaseデータソースを追加して接続する
Airflowタスクの例