このトピックでは、MaxComputeデータ配布ジョブ (新バージョン) に関連する一般的なエラーと問題について説明します。
RAMロールが存在しないというエラーがシステムに報告された場合はどうすればよいですか?
がODPS-0420095した場合: アクセス拒否-許可に失敗しました [4002] 、プロジェクト **** に存在しません。 コンテキストID:11111-1111-111-1111-11111111。 ---> ヒント: Pricipal:INVALID$v4_11111111111; プロジェクトに存在しません **** MaxComputeデータシッピングジョブ (新バージョン) の実行レコードにエラーメッセージが表示された
、必要なResource Access Management (RAM) ロールがMaxComputeワークスペースに追加されていん。 このエラーは、必要なRAMロールではなく別のRAMロールが追加された場合、または必要なRAMロールの追加に失敗した場合に発生します。 必要なRAMロールを再度追加し、承認を完了します。 詳細については、「デフォルトロールを使用したMaxComputeへのデータの書き込み」または「カスタムRAMロールを使用したMaxComputeへのデータの書き込み」をご参照ください。
RAMロールに必要な権限がないというエラーがシステムに報告された場合はどうすればよいですか?
がODPS-0420095している場合: アクセス拒否-許可に失敗しました [4019] 、{acs:odps:*:projects/****/tables/****} の権限 'odps:Describe' がありません。 コンテキストID:111111-1111-11111-1111-1111111。 ---> ヒント: Pricipal:INVALID$v4_MaxComputeデータシッピングジョブ (新バージョン) の実行レコードにエラーメッセージが表示された111111111、MaxComputeワークスペースに追加したRAMロールには必要な権限があり
ん。 RAMロールに必要な権限を付与します。 詳細については、「デフォルトロールを使用したMaxComputeへのデータの書き込み」または「カスタムRAMロールを使用したMaxComputeへのデータの書き込み」をご参照ください。
FAILED: 不一致入力
エラーメッセージが表示された場合はどうすればよいですか?
RAMユーザーを使用してMaxComputeワークスペースにRAMロールを追加したときにFAILED: 不一致入力
エラーメッセージが表示された場合、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"
}
}
}
]
}
ユーザーに必要な権限がないというエラーがシステムに報告された場合はどうすればよいですか?
が失敗: ODPS-0130013: 承認例外-承認に失敗した場合 [4003] 、{acs:odps:*:projects/**** /Authorization /users} のプロジェクトセキュリティ操作を行う権限はありません。 コンテキストID:1111-11111-1111-1111-11111。
MaxComputeワークスペースにRAMロールを追加すると、エラーメッセージが表示されます。現在のユーザーには、現在のMaxComputeプロジェクトが属するアカウント内で管理または承認操作を実行する権限がありません。 この場合、管理者ロールを現在のユーザーに割り当てる必要があります。 詳細については、「MaxComputeとDataWorks間の権限関係」をご参照ください。
次の操作を実行して、管理者ロールをユーザーに割り当てることができます。
最初に MaxComputeコンソール
表示されるページの左上隅で、リージョンを選択します。
プロジェクトページで、管理するプロジェクトを見つけて、管理[アクション] 列に表示されます。
表示されるページで、[ロール権限] タブをクリックします。
管理する管理者ロールを見つけて、[操作] 列の [メンバーの管理] をクリックします。
メンバーの管理ダイアログボックスで、RAMユーザーを追加されたアカウント名セクションにアクセスします。
[メンバーの管理] ダイアログボックスで、[OK] をクリックします。
ログ時間でデータを分割するにはどうすればよいですか?
MaxComputeデータ配布ジョブ (新バージョン) を作成するときに、MaxCompute partition key columnのパーティションキー列を __partition_time__ に設定できます。 このように、データはログ時間によって分割されます。
__partition_time__ フィールドの値は、Simple Log Serviceによって生成された __time__ フィールドに基づいて計算されます。 値は、タイムゾーンとタイムパーティションの形式に基づいて生成される時間文字列です。 パーティションキー列の時間値の差は1,800秒で、30分に相当します。 これにより、1つのMaxComputeテーブルのパーティション数が制限を超えないようにします。 詳細については、「 __partition_time__フィールド」をご参照ください。
MaxComputeテーブルのパーティションを表示するにはどうすればよいですか。
show partitions {table-name};
コマンドを実行して、MaxComputeテーブルのパーティションを表示できます。 コマンドで、{table-name} はテーブルの名前を指定します。 名前を実際の値に置き換えます。
ログ時間データを送信するにはどうすればよいですか?
MaxComputeデータ配布ジョブ (新しいバージョン) を作成するときに、__time__ フィールドをMaxCompute共通列に追加できます。 __time__ フィールドは、UNIXタイムスタンプ形式のログ時刻を示します。 時刻の精度は、秒単位です。
フィールド値がnullの場合はどうすればよいですか?
フィールドのデータ型が一致しないか、データ型の変換が失敗するか、またはフィールドがログに存在しないかのいずれかの理由により、フィールド値がnullになることがあります。
最初の2つの理由のいずれかによって発生したエラーを修正するには、「ダーティデータの処理」で説明されている操作を実行します。
データ型の要件の詳細については、「データ型」をご参照ください。