このトピックでは、ApsaraDB for OceanBase コンソールでダイレクトロードを有効および無効にする方法について説明します。
概要
OceanBase Database では、ダイレクトロードを使用してデータベースにデータを挿入できます。ダイレクトロード機能は、従来の SQL レイヤー API を回避し、データベース内のファイルに直接データを書き込むことで、データインポート効率を向上させます。詳細については、「概要」をご参照ください。
前提条件
ダイレクトロードを有効にする前に、次の条件が満たされていることを確認してください。
現在のクラスタが実行中状態であること。
現在のテナントが実行中状態であること。
OceanBase Database Proxy (ODP) のバージョンが V4.3.0 以降であること。
説明ODP のバージョンが要件を満たしていない場合は、OceanBase テクニカルサポートに連絡してアップグレードを依頼してください。
プライマリアドレスのプライベートアドレスが実行中状態であること。
ダイレクトロードを有効にする
ApsaraDB for OceanBase コンソール にログインします。
左側のナビゲーションウィンドウで、[インスタンス] をクリックします。
インスタンスリストで、ターゲット クラスタインスタンスの名前をクリックして、[クラスタインスタンスワークスペース] ページに移動します。
左側のナビゲーションウィンドウで、[データベースプロキシ] をクリックします。
プロキシアドレスリストで、[有効化] をクリックして、プライマリアドレスのプライベートアドレスに対してダイレクトロードを有効にします。
表示される確認ウィンドウで、[OK] をクリックします。
データをインポートする
最新バージョンの obloader & obdumper をダウンロードします。
詳細については、「はじめに」をご参照ください。
環境変数を表示および設定します。
Java および PATH 環境変数を表示します。
[root@iZbxxxx rpc]# env | grep JAVA JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.382.b05-2.0.3.al8.x86_64 [root@iZbxxxx rpc]# env | grep PATH PATH=/root/ob-loader-dumper-4.3.0-RELEASE/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/binJava および PATH 環境変数を設定します。
[root@iZbxxxx rpc]# export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.382.b05-2.0.3.al8.x86_64 [root@iZbxxxx rpc]# export PATH=/root/ob-loader-dumper-4.3.0-RELEASE/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:$PATH
ダイレクトロードモードでデータをインポートします。
説明インポートされるファイルの内容の形式は、関連する仕様を満たしている必要があります。データの準備はできていますか? に基づいて、ファイル内のデータ形式を識別してください。
[root@iZbxxxx rpc]# obloader -h<host> -u<user_name> -p<pass_word> -D <db_name> --table '<table_name>' -f output1 -t <tenant_name> --public-cloud --csv --direct --rpc-port 3307 -P3306パラメーター
説明
-h
OceanBase データベースのホストアドレス。
-u
OceanBase データベースに接続するためのユーザー名、テナント名、およびクラスタ名。
<user>@<tenant>#<cluster>形式 (例:-u user@tenant#cluster)。-p
OceanBase データベースに接続するためのパスワード。
-D
データベースオブジェクト定義とテーブルデータをインポートする OceanBase データベースの名前。
--table
データをインポートするテーブル (例:
--table 'example')。-f
インポートするファイルの名前のプレフィックス。たとえば、前のコマンドでは、インポートするデータは
output1というプレフィックスが付いたファイルに格納されています。-t
接続する OceanBase Database のテナント名。このパラメーターは、
--public-cloudパラメーターと組み合わせて使用します。--public-cloud
ApsaraDB for OceanBase クラスタからデータベースオブジェクト定義またはテーブルデータをインポートします。
--csv
CSV ファイルからデータをインポートします。実際の状況に応じて、
--sql、--par、--orcなど、別のファイル形式を指定できます。--direct
ダイレクトロードモードでデータをインポートします。このパラメーターは、
--rpc-portおよび--parallelパラメーターと組み合わせて使用します。--parallel
ダイレクトロードモードでデータをロードするための並列度 (DOP)。デフォルト値は 1 です。このパラメーターはオプションであり、
--rpc-portおよび--directと組み合わせて使用します。--rpc-port 3307
OceanBase データベースに接続するための RPC ポート。
データベースに接続するためのポートは 3306 (-P 3306 で指定) ですが、インポートパフォーマンスを向上させるために、ポート 3307 の RPC サービスを使用してデータがインポートされます。
-P 3306
OceanBase データベースに接続するためのホストポート。
ダイレクトロードを無効にする
ApsaraDB for OceanBase コンソール にログインします。
左側のナビゲーションウィンドウで、[インスタンス] をクリックします。
インスタンスリストで、ターゲット クラスタインスタンスの名前をクリックして、[クラスタインスタンスワークスペース] ページに移動します。
左側のナビゲーションウィンドウで、[データベースプロキシ] をクリックします。
プロキシアドレスリストで、[無効化] をクリックして、プライマリアドレスのプライベートアドレスに対してダイレクトロードを無効にします。
表示される確認ウィンドウで、[OK] をクリックします。