このトピックでは、フル同期と増分同期に関するよくある質問 (FAQ) とその回答を紹介します。
概要
MySQL から Hologres へのデータ同期で、decimal(7,4) が numeric(38,18) に変換される理由
データ精度が失われるのを防ぐため、Data Integration はデータ同期中に自動的に精度を高めます。 Data Integration では、テーブル作成ステートメントを変更できます。 同期タスクを設定する際に、ビジネス要件に基づき、データ同期のデフォルトのデータ型変換ルールを設定することも可能です。 詳細については、「Hologres にデータを同期するためのリアルタイム同期ソリューションの作成」をご参照ください。
ワンクリックリアルタイム同期タスクを実行して、シャーディングされたデータベースのテーブルから同じ MaxCompute テーブルにデータを同期できますか。
いいえ、ワンクリックリアルタイムフル同期と増分同期タスクを使用して、シャーディングされたデータベースのテーブルから同じ MaxCompute テーブルにデータを同期することはできません。 シャーディングされたデータベースのテーブルから同じ MaxCompute テーブルにデータを同期する場合は、シャーディングされたデータベースのテーブルから MaxCompute にデータを同期するための同期タスクを使用できます。 詳細については、「シャーディングされた MySQL データベースのテーブルから MaxCompute へのデータの同期」をご参照ください。
ワンクリックリアルタイムフル同期・増分同期タスクでソーステーブルのフィールドが変更された際のエラー報告を回避する方法
同期タスクを設定する際に、ソースに対する操作で生成される DDL メッセージの処理ルールを設定できます。 処理ルールには、通常処理、無視、エラー報告などがあります。 詳細については、「Data Integration での同期タスクの設定」トピックの「DDL または DML メッセージを処理するルールの設定と同期ルールの設定」セクションをご参照ください。
PolarDB データソースがネットワーク接続テストに失敗した場合の対処法
問題の説明: PolarDB データソースを追加してネットワーク接続をテストしたところ、テストに失敗しました。
解決策: [データソースタイプ] パラメーターを [接続文字列モード] に設定し、データソースのホワイトリスト設定と専用リソースグループの Virtual Private Cloud (VPC) 設定を確認してください。
What do I do if my Oracle data source fails the network connectivity test?
Problem description: I add an Oracle data source and test the network connectivity of the data source. The data source fails the test.
Solution: Set the Data Source Type parameter to Connection String Mode and check the whitelist configuration of the data source and the VPC configuration of your exclusive resource group.
OceanBase データソースがネットワーク接続テストに失敗した場合の対処法
問題の説明: OceanBase データソースを追加してネットワーク接続をテストしたところ、テストに失敗しました。
解決策: [データソースタイプ] パラメーターを [接続文字列モード] に設定し、データソースのホワイトリスト設定と専用リソースグループの VPC 設定を確認してください。
MySQL データソースがネットワーク接続テストに失敗した場合の対処法
問題の説明: MySQL データソースを追加してネットワーク接続をテストしたところ、テストに失敗しました。
解決策: [データソースタイプ] パラメーターを [接続文字列モード] に設定し、データソースのホワイトリスト設定と専用リソースグループの VPC 設定を確認してください。
リアルタイムフル同期・増分同期タスクの設定時に、目的の MaxCompute データソースが選択できない場合の対処法
目的の MaxCompute データソースが選択できないのは、そのデータソースが、MaxCompute プロジェクトをコンピュートエンジンインスタンスとしてワークスペースに関連付けた際に生成されたものではなく、ご自身で DataWorks に追加したものであるためです。 このリアルタイムフル同期・増分同期タスクでは、MaxCompute コンピュートエンジンを関連付けた際に生成された MaxCompute データソースを選択する必要があります。
PolarDB からのデータ同期時に「com.alibaba.otter.canal.parse.exception.PositionNotFoundException: can't find start position for XXX」エラーが発生した場合の対処法
問題の説明: PolarDB データソースからデータを同期する同期タスクによって生成されたリアルタイム同期サブタスクが失敗し、以下のエラーメッセージが返されます:
com.alibaba.otter.canal.parse.exception.PositionNotFoundException: can't find start position for XXX。原因: PolarDB データソースでバイナリロギング機能が無効化されているためです。
解決策: PolarDB データソースのバイナリロギング機能を有効にしてください。 詳細については、「PolarDB データソース」をご参照ください。 さらに、ソース内の1つ以上のデータレコードを変更し、リアルタイム同期サブタスクの開始オフセットを現在の時刻に変更する必要があります。
PolarDB からのデータ同期時に「com.alibaba.otter.canal.parse.exception.CanalParseException: command : 'show master status' has an error! pls check. you need (at least one of) the SUPER,REPLICATION CLIENT privilege(s) for this operation」エラーが発生した場合の対処法
問題の説明: PolarDB データソースからデータを同期する同期タスクによって生成されたリアルタイム同期サブタスクが失敗し、以下のエラーメッセージが返されます:
com.alibaba.otter.canal.parse.exception.CanalParseException: command : 'show master status' has an error! pls check. you need (at least one of) the SUPER,REPLICATION CLIENT privilege(s) for this operation。原因: データ同期に使用するアカウントに PolarDB データソースへのアクセス権限がないか、接続している PolarDB データベースがプライマリノードにデプロイされていません。
解決策: アカウントに PolarDB データソースへのアクセス権限を付与するか、接続している PolarDB データベースがプライマリノードにデプロイされているかどうかを確認してください。 リアルタイム同期タスクは、PolarDB データソース内の読み取り専用ノードからデータを同期できません。 アカウントに PolarDB データソースへのアクセス権限を付与する方法の詳細は、「PolarDB データソース」をご参照ください。
PolarDB からのデータ同期時に「com.alibaba.datax.plugin.reader.mysqlbinlogreader.MysqlBinlogReaderException: The mysql server does not enable the binlog write function. Please enable the mysql binlog write function first」エラーが発生した場合の対処法
問題の説明: PolarDB データソースからデータを同期する同期タスクによって生成されたリアルタイム同期サブタスクが失敗し、以下のエラーメッセージが返されます:
com.alibaba.datax.plugin.reader.mysqlbinlogreader.MysqlBinlogReaderException: The mysql server does not enable the binlog write function. Please enable the mysql binlog write function first。原因: PolarDB データソースの loose_polar_log_bin パラメーターが off に設定されているためです。
解決策: loose_polar_log_bin パラメーターを on に設定してください。 詳細については、「バイナリロギングの有効化」をご参照ください。
バッチ同期サブタスクの実行時に「com.alibaba.datax.common.exception.DataXException: Code:[HoloWriter-02], Description:[Invalid config parameter in your configuration.]. - Field _log_file_name_offset_ not allow null but not present in user configured columns」エラーが発生した場合の対処法
問題の説明: 同期タスクによって生成されたバッチ同期サブタスクが失敗し、以下のエラーメッセージが返されます:
com.alibaba.datax.common.exception.DataXException: Code:[HoloWriter-02], Description:[Invalid config parameter in your configuration.]. - Field _log_file_name_offset_ not allow null but not present in user configured columns。原因: バッチ同期に使用される DataWorks エンジンプラグインが最新バージョンに更新されていないためです。
解決策: テクニカルサポートに連絡してプラグインの更新を依頼するには、チケットを送信してください。
Hologres へのデータ同期でバッチ同期サブタスクの実行時に「errorCode:NoSuchTopic, errorMessage:The specified topic name does not exist」エラーが発生した場合の対処法
問題の説明: Hologres にデータを同期する同期タスクによって生成されたバッチ同期サブタスクが失敗し、以下のエラーメッセージが返されます:
errorCode:NoSuchTopic, errorMessage:The specified topic name does not exist。原因:
ターゲットの Hologres テーブルが存在しません。
同期タスクによって生成されたバッチ同期サブタスクは、ソーステーブルから Hologres 外部テーブルにデータを同期しようとしています。 Hologres Writer は、Hologres 外部テーブルへのデータ同期をサポートしていません。
解決策: データ同期の宛先テーブルとして Hologres 内部テーブルを使用します。宛先の Hologres テーブルが存在しない場合は、同期タスクの設定を変更し、Table Generation Method を[テーブルの作成]に設定して、システムが宛先の Hologres テーブルを自動的に作成できるようにします。詳細については、「トピック「Hologres にデータを同期するためのリアルタイム同期ソリューションの作成」のセクション「ステップ 4: 宛先テーブルの設定」」をご参照ください。
自動作成されたターゲットテーブルに、ソーステーブルのNOT NULL制約やデフォルト値などの情報は保持されますか。
ターゲットテーブルが自動作成される際、保持されるのはフィールド名、データ型、ソーステーブルの備考といった情報のみです。ソーステーブルのフィールドのデフォルト値や、NOT NULL制約、インデックス制約などの制約は保持されません。
既存の同期タスクでフル同期を実行する方法
データ統合に移動し、同期タスクリストで既存の同期タスクを見つけ、[操作] 列で [その他] > [再実行] をクリックします。