このトピックでは、MaxCompute データ配信の新バージョンの安定性と制限について説明します。
安定性
Simple Log Service からの読み取り
安定性 | 説明 |
可用性 | 高可用性。 Simple Log Service でエラーが発生し、データを読み取れない場合、MaxCompute データ配信タスクは内部で少なくとも 10 回再試行します。それでもタスクが失敗した場合、エラーが報告され、タスクは再起動します。 |
MaxCompute への書き込み
安定性 | 説明 |
同時実行性 | Simple Log Service のシャードに基づいてパーティションが作成され、配信インスタンスが作成されます。これにより、迅速なスケールアウトがサポートされます。 ソース Simple Log Service Logstore が Shard Split を実行すると、配信インスタンスは数秒以内にスケールアウトされ、データのエクスポートを高速化できます。 |
データ損失なし | MaxCompute データ配信タスクは、一貫性を確保するために 使用者グループ に基づいて拡張されます。オフセットは、データが配信された後にのみ送信されます。これにより、データが MaxCompute に書き込まれる前にオフセットが送信されることがなくなり、データ損失が防止されます。 |
スキーマの変更 | データ配信中に MaxCompute テーブルに新しい列を追加した場合、新しい列は新しいパーティションにのみ書き込まれます。古いパーティションや現在のパーティションには書き込まれません。 説明 MaxCompute の制限により、データ配信中にテーブルスキーマの列を挿入、更新、削除したり、列の順序を変更したりすることはできません。これらの操作を実行すると、データ配信タスクは異常になり、回復できなくなります。詳細については、「MaxCompute の制限」をご参照ください。 |
ダーティデータの処理
エラータイプ | 失敗したレコードとしてカウント | 説明 |
パーティションエラー | はい | 一般的なシナリオには、無効なパーティションや存在しないパーティションキー列などがあります。データレコードは MaxCompute に書き込まれません。 |
無効なデータ列 | いいえ | 一般的なシナリオには、データ型の不一致や型変換の失敗などがあります。この列のデータは MaxCompute に書き込まれません。他の列のデータは通常どおり MaxCompute に書き込まれます。 |
データ列が長すぎます | いいえ | 一般的なシナリオは、データが string 型または varchar 型の長さ制限を超えていることです。この列のデータは切り捨てられてから MaxCompute に書き込まれます。他の列のデータは通常どおり MaxCompute に書き込まれます。 |
モニタリングとアラート
安定性 | 説明 |
モニタリングとアラート | データ配信は、配信タスクのレイテンシーやトラフィックなどのメトリックをリアルタイムで追跡するための包括的なモニタリングを提供します。ビジネスニーズに基づいてカスタムアラートを設定して、エクスポートインスタンスの不足やネットワーククォータの制限などの配信の問題を迅速に検出できます。詳細については、「MaxCompute データ配信タスク (新バージョン) のアラートを設定する」をご参照ください。 |
タスクの再起動
安定性 | 説明 |
パーティションが多すぎます | タスクが再起動するときに、パーティションが多すぎて書き込み操作が 5 分以内に完了しない場合、データが重複する可能性があります。 |
データ書き込みエラー | タスクが再起動し、権限付与またはネットワークエラーのために MaxCompute へのデータ書き込みに失敗した場合、部分的なデータ重複が発生する可能性があります。 |
制限
ネットワーク
制限 | 説明 |
リージョン内配信のネットワーク | 同じリージョン内でデータを配信する場合、データは Alibaba Cloud 内部ネットワークを介して送信されます。これにより、ネットワークの安定性と速度が向上します。 |
読み取りトラフィック
制限 | 説明 |
読み取りトラフィック | 単一のプロジェクトと単一のシャードには、最大トラフィック制限があります。詳細については、「データの読み取りと書き込み」をご参照ください。 最大トラフィック制限を超えた場合は、シャードを分割するか、プロジェクトの読み取りトラフィック制限の引き上げをリクエストしてください。制限を超えると、MaxCompute データ配信タスクはデータの読み取りに失敗します。タスクは内部で少なくとも 10 回再試行します。それでも失敗した場合は、エラーが報告され、タスクが再起動します。 |
MaxCompute への書き込み
制限 | 説明 |
同時インスタンス | 同時エクスポートインスタンスの最大数は 64 です。 Simple Log Service のシャード数が 64 を超える場合、複数のシャードが 1 つのインスタンスにマージされてエクスポートされます。システムは、各インスタンスのシャード数を同じにしようとします。 |
書き込みしきい値 |
重要 MaxCompute の書き込み制限を超えると、MaxCompute へのデータ書き込みが不安定になり、MaxCompute 側でスロットリングがトリガーされます。これにより、FlowExceeded または SlotExceed エラーが発生する可能性があります。問題を解決するには、MaxCompute のオンデューティエンジニア にお問い合わせください。 |
テーブルスキーマ変更の禁止 | MaxCompute データ配信 (新バージョン) は、MaxCompute ストリーム書き込みを使用します。MaxCompute へのストリーム書き込み中、MaxCompute Tunnel Service は、ターゲットテーブルでの列の挿入、更新、削除、または列の順序の変更などのスキーマ変更を禁止します。詳細については、「Lindorm Tunnel Service の概要」をご参照ください。 このスキーマ変更の制限により、MaxCompute データ配信 (新バージョン) と MaxCompute データ配信 (レガシーバージョン) を使用して、同じ MaxCompute テーブルに同時にデータを書き込むことはできません。 |
サポートされていない特別なテーブル | MaxCompute の外部テーブル、トランザクションテーブル、またはクラスター化テーブルにデータを書き込むことはできません。 |
テーブルスキーマの変更 | MaxCompute テーブルのスキーマが変更された場合は、MaxCompute データ配信タスクを 20 分間一時停止してから再起動して、スキーマの変更を有効にする必要があります。 |
開始時刻 |
説明 MaxCompute のスロットとクエリ/秒 (QPS) の制限により、既存データの配信は MaxCompute の 書き込みしきい値 を簡単に超える可能性があります。したがって、この機能はサポートされなくなりました。 |
権限管理
制限 | 説明 |
書き込み権限付与 | MaxCompute の書き込み権限付与は、Resource Access Management (RAM) ユーザーと RAM ロールの両方をサポートしています。MaxCompute で個別の操作を実行する必要があります。 |
データの型
通常の列
型
例
説明
string
"hello"
最大長: 8 MB。
datetime
"2021-12-22 05:00:00"
Simple Log Service のデータは、MaxCompute のデータ形式要件を満たしている必要があります。
date
"2021-12-22"
Simple Log Service のデータは、MaxCompute のデータ形式要件を満たしている必要があります。
timestamp
1648544867
ミリ秒または秒の精度。
decimal
1.2
Simple Log Service のデータは、MaxCompute のデータ形式要件を満たしている必要があります。
char
"hello"
最大長: 255 バイト。
varchar
"hello"
最大長: 65,535 バイト。
binary
"hello"
最大長: 8 MB。
bigint
123
int64 までサポートします。
boolean
1
1、t、T、true、TRUE、および True は True として解析されます。
0、f、F、false、FALSE、および False は False として解析されます。
double
1.2
最大 64 ビットの浮動小数点数をサポートします。
float
1.2
最大 32 ビットの浮動小数点数をサポートします。
integer
123
int32 までサポートします。
smallint
12
int16 までサポートします。
tinyint
12
int8 までサポートします。
パーティションキー列
制限
説明
パーティションキー列
文字列として扱われます。MaxCompute パーティションキー列のフォーマット要件を満たす必要があります。
__partition_time__または__receive_time__以外のログフィールドの設定パーティションキー列に
__partition_time__または__receive_time__以外のログフィールドを設定すると、データ配信のパフォーマンスに影響する可能性があります。
配信の管理
制限 | 説明 |
データ配信タスクの一時停止 | データ配信タスクは、最後の配信のログカーソルを記録します。タスクが再開すると、記録されたカーソルから配信を続行します。データ配信タスクを一時停止すると、次のメカニズムが適用されます。
|
MaxCompute IP ホワイトリスト
制限 | 説明 |
MaxCompute プロジェクト管理でホワイトリスト (クラシックネットワーク IP ホワイトリストなど) を有効にすると、データ配信が失敗する可能性があります | MaxCompute でコマンドを実行して、ホワイトリストが原因で発生したデータ配信の失敗を解決できます。
詳細については、「ホワイトリストが原因で発生した MaxCompute 配信の失敗のトラブルシューティング」をご参照ください。 |