データインポートの失敗やタイムアウトを引き起こす一般的な問題と、その原因および推奨される解決策を説明します。
セルフサービストラブルシューティングガイド
ご自身でのトラブルシューティング
エラーメッセージ: 'No data in table xxx or partition xxx. Check the data source and try again.'
考えられる原因:
データコンピューティングプラットフォームでデータが生成されていないか、書き込みエラーが発生しました。
トラブルシューティングパス:
データソースにログインし、テーブルまたはパーティションをクエリしてデータを確認します。QA タスクの実行予定時刻にデータが存在することを確認してください。
推奨される解決策:
-
上流システムにデータを追加し、タスクを再スケジュールしてください。
-
上流のデータ生成時間が不規則で、QA が定期更新用に設定されている場合は、トリガーによるスケジューリングを使用して上流システムと QA を接続してください。
エラーメッセージ: 'Special field type not supported. Ilegal data type - column 'xxx_column_name' type 'xxx' is not allowed.'
トラブルシューティングパス:
データソースにログインし、テーブルをクエリして、ブール型、配列、マップなどの特殊なデータ型を持つカラムを特定します。
MaxCompute 構文: DESC table_name;
GaussDB 構文: SELECT pg_get_tabledef('table_name');
推奨される解決策:
-
カラムが不要な場合は、インポート時にそのカラムを無効にしてください。
-
カラムが必要な場合は、テキスト型に変換して保存してください。
サポートを利用したトラブルシューティング
エラーメッセージ: 'SQL parsing exception. Parse exception - invalid token 'FROM''
考えられる原因:
SQL 解析エラーが発生しました。
トラブルシューティングパス:
Quick Audience で、[Configuration Management] > [Data Import] > [Table Structure Configuration] に移動し、元のカラムリストに / や - などの特殊文字が含まれていないか確認してください。
推奨される解決策:
-
データソースに移動し、標準的なデータベースの命名規則に従ってカラム名を変更してください。たとえば、カラム名は文字で始まり、英字、数字、アンダースコア (_) のみを含む必要があります。
上記に該当しない問題の場合は、Quick Audience サポートにお問い合わせください。
エラーメッセージ: ① 'Table xxx does not exist.' ② 'Table xxx already exists.'
考えられる原因:
テーブルを作成できなかったか、すでに存在しています。
トラブルシューティングパス:
AnalyticDB (ADB) の場合:
-
ADB にログインし、CREATE、DELETE、DROP、INSERT、SELECT、UPDATE、または ALTER ステートメントをクエリして確認します。
-
ADB コンソールにログインし、スケジューリングプロセス中に ADB がバックアップスナップショットを作成しているかどうかを確認します。バックアップスナップショットの作成中は、データ定義言語 (DDL) ステートメントは許可されません。
Hologres の場合:
-
Hologres データベースにログインし、
show hg_experimental_force_sync_replayの値がoffであるかどうかを確認します。
推奨される解決策:
ADB の場合:
-
必要な権限がない場合は、Data Management Service (DMS) プラットフォームにログインして、アカウントに権限を付与してください。
-
ADB バックアップが完了するまで待ってから、QA スケジューリングタスクを実行してください。注:バックアップに非常に時間がかかる場合は、ADB サポートにチケットを送信してください。
Hologres の場合:
-
デフォルトでは、Hologres クラスターは非同期同期を実行します。メタデータの同期レプリケーションを強制するには、Hologres コンソールで
alter database dbname set hg_experimental_force_sync_replay = on;を実行してください。ただし、これにより Hologres のパフォーマンスが低下する可能性があります。
コマンドの実行後、新しい Hologres コンソールを開き、show hg_experimental_force_sync_replay; を実行して変更を確認します。
上記に記載されていない問題については、Quick Audience サポートチームにお問い合わせください。
エラーメッセージ: 'Quick Audience canceled the SQL request. canceling statement due to user request'
考えられる原因:
-
コンピューティングリソースまたは分析ソースの負荷が高い状態です。
-
データ量が大きいため、SQL クエリが長時間実行されても結果が返されず、QA によって接続が切断されました。同期実行のタイムアウトは 3 時間です。
トラブルシューティングパス:
-
コンピューティングリソースのバックエンドにログインして、負荷が高すぎないか確認します。
-
実行中の SQL ステートメントを確認し、テーブル内のデータ量が想定どおりであることを確認します。
推奨される解決策:
-
十分なリソースを確保する:異なるスペースのタスクが相互に影響しないようにするため、スペースごとに個別のコンピューティングリソースを購入してください。これにより、依存関係を減らし、リソースの競合を回避して、パフォーマンスの低下を防ぎます。データ量とスペース数が増加するにつれて、コンピューティングリソースと分析リソースが十分であることを定期的に確認してください。
-
実行時間を分散させる:複数のスペースが同じコンピューティングリソースと分析リソースを共有している場合は、各スペースの QA スケジューリングタスクの実行時間を分散させて、リソースの競合を回避してください。外部システムもこれらのリソースを使用している場合は、それらの使用時間も分散させてください。
問題が解決しない場合は、Quick Audience サポートチームにお問い合わせください。
エラーメッセージ: 'Scheduling task timed out'
考えられる原因:
-
コンピューティングリソースまたは分析ソースの負荷が高い状態です。
-
データ量が大きいため、SQL クエリが長時間実行されても結果が返されませんでした。スケジューリングタスクのタイムアウトは 6 時間です。
トラブルシューティングパス:
-
コンピューティングリソースのバックエンドにログインして、負荷が高すぎないか確認します。
-
実行中の SQL ステートメントを確認し、テーブル内のデータ量が想定どおりであることを確認します。
推奨される解決策:
-
十分なリソースを確保する:異なるスペースのタスクが相互に影響しないようにするため、スペースごとに個別のコンピューティングリソースを購入してください。これにより、依存関係を減らし、リソースの競合を回避して、パフォーマンスの低下を防ぎます。データ量とスペース数が増加するにつれて、コンピューティングリソースと分析リソースが十分であることを定期的に確認してください。
-
実行時間を分散させる:複数のスペースが同じコンピューティングリソースと分析リソースを共有している場合は、各スペースの QA スケジューリングタスクの実行時間を分散させて、リソースの競合を回避してください。外部システムもこれらのリソースを使用している場合は、それらの使用時間も分散させてください。
上記で問題が解決しない場合は、Quick Audience サポートにお問い合わせください。
タスク実行が遅い場合の解決策
-
十分なリソースを確保する:異なるスペースのタスクが相互に影響しないようにするため、スペースごとに個別のコンピューティングリソースを購入してください。これにより、依存関係を減らし、リソースの競合を回避して、パフォーマンスの低下を防ぎます。データ量とスペース数が増加するにつれて、コンピューティングリソースと分析リソースが十分であることを定期的に確認してください。
-
実行時間を分散させる:複数のスペースが同じコンピューティングリソースと分析リソースを共有している場合は、各スペースの QA スケジューリングタスクの実行時間を分散させて、リソースの競合を回避してください。外部システムもこれらのリソースを使用している場合は、それらの使用時間も分散させてください。
-
複数テーブルのインポートにバッチスケジューリングを使用する:複数のテーブルを選択し、1 つのスケジューリングタスクとして設定してください。これにより、ID マッピング操作の回数が減り、複数テーブルのインポートが高速化されます。
QA スケジューリングタスクのリアルタイムモニタリングの設定
-
スケジューリングタスクのステータスをリアルタイムでモニタリングするには、Quick Audience の [Configuration Management] > [Advanced Settings] の [Real-time Monitoring and Alerting] モジュールに移動します。リアルタイムの DingTalk アラートを設定して、タスクのタイムアウトや失敗の理由を発生時に検出できます。予想時間内に完了しないタスクのアラートを受信するには、DingTalk アラートグループを作成し、Webhook ボットを設定してください。