このトピックでは、MaxCompute データ転送ジョブ (新バージョン) に関する一般的なエラーと問題について説明します。
RAM ロールが存在しないというエラーがシステムから報告された場合はどうすればよいですか。
ODPS-0420095: Access Denied - Authorization Failed [4002], You don't exist in project ****. Context ID:11111-1111-111-1111-11111111. --->Tips: Pricipal:INVALID$v4_11111111111; You don't exist in project ****
エラーメッセージが MaxCompute データ転送ジョブ (新バージョン) の実行レコードに表示された場合、必要な Resource Access Management (RAM) ロールが MaxCompute ワークスペースに追加されていません。このエラーは、必要な RAM ロールではなく別の RAM ロールが追加された場合、または必要な RAM ロールの追加に失敗した場合に発生します。必要な RAM ロールを再度追加し、認証を完了してください。詳細については、「デフォルトロールに MaxCompute へのデータ書き込みを承認する」または「カスタムロールに MaxCompute へのデータ書き込みを承認する」をご参照ください。
RAM ロールに必要な権限がないというエラーがシステムから報告された場合はどうすればよいですか。
ODPS-0420095: Access Denied - Authorization Failed [4019], You have NO privilege 'odps:Describe' on {acs:odps:*:projects/****/tables/****}. Context ID:111111-1111-11111-1111-1111111. --->Tips: Pricipal:INVALID$v4_111111111
エラーメッセージが MaxCompute データ転送ジョブ (新バージョン) の実行レコードに表示された場合、MaxCompute ワークスペースに追加した RAM ロールに必要な権限がありません。必要な権限を RAM ロールに付与してください。詳細については、「デフォルトロールに MaxCompute へのデータ書き込みを承認する」または「カスタムロールに MaxCompute へのデータ書き込みを承認する」をご参照ください。
FAILED: mismatched input
エラーメッセージが表示された場合はどうすればよいですか。
RAM ユーザーを使用して MaxCompute ワークスペースに RAM ロールを追加するときに FAILED: mismatched input
エラーメッセージが表示された場合、RAM ユーザーには ADD USER
文などの文を実行する権限がありません。このエラーが発生した場合は、次のポリシーがアタッチされている Alibaba Cloud アカウントまたは RAM ユーザーを使用して、ADD USER
文などの文を実行する必要があります。これにより、RAM ユーザーを使用して ADD USER
文などの文を再度実行するときにエラーが発生しなくなります。
{
"Version": "1",
"Statement": [
{
"Action": "ram:CreateServiceLinkedRole",
"Resource": "*",
"Effect": "Allow",
"Condition": {
"StringEquals": {
"ram:ServiceName": "usermgmt.odps.aliyuncs.com"
}
}
}
]
}
ユーザーに必要な権限がないというエラーがシステムから報告された場合はどうすればよいですか。
MaxCompute ワークスペースに RAM ロールを追加するときに FAILED: ODPS-0130013:Authorization exception - Authorization Failed [4003], You have NO privilege to do the PROJECT SECURITY OPERATION for {acs:odps:*:projects/****/authorization/users}. Context ID:1111-11111-1111-1111-11111.
エラーメッセージが表示された場合、現在のユーザーには、現在の MaxCompute プロジェクトが属するアカウント内で管理操作または認証操作を実行する権限がありません。この場合、現在のユーザーに管理者ロールを割り当てる必要があります。詳細については、「MaxCompute と DataWorks 間の権限関係」をご参照ください。
次の操作を実行して、ユーザーに管理者ロールを割り当てることができます。
MaxCompute コンソール にログオンします。
表示されるページの左上隅で、リージョンを選択します。
[プロジェクト] ページで、管理するプロジェクトを見つけ、[アクション] 列の [管理] をクリックします。
表示されるページで、[ロール権限] タブをクリックします。
管理する管理者ロールを見つけ、[アクション] 列の [メンバーの管理] をクリックします。
[メンバーの管理] ダイアログボックスで、[追加されたアカウント名] セクションに RAM ユーザーを追加します。
[メンバーの管理] ダイアログボックスで、[OK] をクリックします。
ログ時間別にデータをパーティション分割するにはどうすればよいですか。
MaxCompute データ転送ジョブ (新バージョン) を作成するときに、[maxcompute パーティションキー列] でパーティションキー列を __partition_time__ に設定できます。これにより、データはログ時間別にパーティション分割されます。
__partition_time__ フィールドの値は、Simple Log Service によって生成された __time__ フィールドに基づいて計算されます。値は、タイムゾーンと時間パーティション形式に基づいて生成される時間文字列です。パーティションキー列の時間値の差は 1,800 秒 (30 分) です。これにより、1 つの MaxCompute テーブルのパーティション数が制限を超えないようにします。詳細については、「__partition_time__ フィールド」をご参照ください。
MaxCompute テーブルのパーティションを表示するにはどうすればよいですか。
show partitions {table-name};
コマンドを実行して、MaxCompute テーブルのパーティションを表示できます。コマンドでは、{table-name} はテーブルの名前を指定します。名前を実際の値に置き換えてください。
ログ時間データを転送するにはどうすればよいですか。
MaxCompute データ転送ジョブ (新バージョン) を作成するときに、[maxcompute 共通列] に __time__ フィールドを追加できます。__time__ フィールドは、UNIX タイムスタンプ形式のログ時間を示します。時間は秒単位まで正確です。
フィールド値が null の場合はどうすればよいですか。
フィールド値が null になる理由は、フィールドのデータ型が一致しない、データ型変換が失敗した、またはログにフィールドが存在しないなどが考えられます。
最初の 2 つの理由のいずれかによって発生したエラーを修正するには、「ダーティデータの処理」で説明されている操作を実行します。
データ型の要件の詳細については、「データ型」をご参照ください。
MaxCompute プロジェクトでクラシックネットワークの IP アドレスホワイトリストを有効にした後、データが MaxCompute プロジェクトに転送されない場合はどうすればよいですか。
たとえば、MaxCompute プロジェクトで IP アドレスホワイトリストを有効にした後、データ転送ジョブで次のエラーメッセージが表示されます。
error:RequestId=202211181752058538dc0b0018****, ErrorCode=NoPermission, ErrorMessage=Access denied by project ip white list: sourceIP:'192.168.x.x' is not in white list. project: slstest-1 from:
errorType:odps.OdpsError
jobId:****-****
この問題を解決するには、MaxCompute 側でコマンドを実行します。手順:
MaxCompute コンソール にログオンします。
表示されるページの左上隅で、リージョンを選択します。
左側のナビゲーションウィンドウで、
を選択します。[dataworks] で次の操作を実行します。DataWorks の使用方法の詳細については、「DataWorks を使い始める」をご参照ください。
次のコマンドを実行して、ホワイトリストの構成をクエリします。
setproject; select 1;
次のコマンドを実行して、ホワイトリストに
AliyunLogSLRService,AliyunLogDefaultService
を追加します。setproject odps.security.ip.whitelist.services=AliyunLogSLRService,AliyunLogDefaultService;
次のコマンドを実行して、新しい構成が有効になっているかどうかを確認します。
setproject; select 1;