このトピックでは、NAS コンソールで CPFS for Lingjun ファイルシステムのデータフロータスクを作成および管理する方法と、タスクの失敗原因を確認する方法について説明します。
背景情報
コンソールで作成されたデータフロータスクはバッチタスクです。バッチタスクは、1 回の実行で、あるディレクトリから別のディレクトリにすべてのファイルをインポートまたはエクスポートできます。個々のファイルに対してオンデマンドデータフローを開始することはできません。ファイル単位でデータを転送する (ストリーミングタスク) には、OpenAPI 操作を使用する必要があります。ストリーミングタスクの場合、特定のファイルごとに API を明示的に呼び出してサブタスクを作成し、データ転送をトリガーする必要があります。詳細については、「ストリーミングタスクの管理 (OpenAPI)」をご参照ください。
前提条件
-
データフローが作成されました。詳細については、「同一アカウント内にデータフローを作成する」または「アカウントをまたいでデータフローを作成する」をご参照ください。
-
ソース OSS バケットでは、バージョニングを有効にする必要があります。 データフローがアクティブな間にバージョニングを停止すると、エクスポートタスクが失敗します。 詳細については、「バージョニングの概要」をご参照ください。
タスクの作成
-
NAS コンソールにログインします。
-
左側のナビゲーションペインで、ファイルシステム > ファイルシステムリスト を選択します。
-
上部メニューで、リージョンを選択します。
-
ファイルシステムリスト ページで、ターゲットの Lingjun 用 CPFS ファイルシステムの名前をクリックします。
-
ファイルシステムの詳細ページで、データフロー をクリックします。
-
データフロー ページで、対象のデータフローを探し、「操作」列の タスク管理 をクリックします。
-
タスク管理 パネルで、タスクの作成 をクリックします。
-
タスクの作成 パネルで、タスクタイプを選択し、パラメーターを設定します。
データのインポート
-
シンボリックリンクが CPFS for Lingjun ファイルシステムにインポートされると、リンクのターゲットデータを含む通常ファイルに変換され、元のリンク情報は失われます。
-
OSS バケットにオブジェクトの複数バージョンが含まれている場合、最新バージョンのみがコピーされます。
-
255 バイトを超えるファイル名およびサブディレクトリ名はサポートされていません。
-
ディレクトリ名およびファイル名に以下の特殊文字を含めることはできません。含めると、タスクが予期しない結果を生成するか、失敗する可能性があります。
-
サブディレクトリ名またはファイル名をダブルピリオド (..) にすることはできません。
-
パスにバックスラッシュ (\) または連続したバックスラッシュ (\\) を含めることはできません。
-
サブディレクトリ名およびファイル名にスラッシュ (/) を含めることはできません。
-
-
ファイル名がサブディレクトリ名と競合する場合、CPFS for Lingjun ファイルシステムでオブジェクトの競合が発生します。いずれか一方の操作のみが成功し、もう一方は失敗します。
パラメータ
説明
[コンフリクトポリシー]
CPFS for Lingjun ファイルシステムと OSS バケットの両方に同名のファイルが存在する場合の処理方法を指定するポリシーです。
-
[同名ファイルをスキップする (デフォルト)]: 同名のファイルを無視し、同期しません。
-
[最新の状態を保つ]:同名のファイルの更新時刻 (mtime) を比較し、最も新しく更新されたバージョンを保持します。 OSS と CPFS for Lingjun の両方で、比較に更新時刻が使用されます。
-
[同名ファイルの上書き]: OSS バケットのバージョンで宛先ファイルを上書きします。 現在のソースファイルによって、宛先に既に存在する同じ名前のファイルは上書きされます。重要なデータが既にバックアップされているかご確認ください。 を選択します。
[インポートデータタイプ]
データ + メタデータ タイプのみがサポートされています。このオプションでは、ファイルのデータブロックとメタデータの両方をインポートします。
[OSS Object Prefix サブディレクトリの指定]
インポートタスクの範囲を指定します。2 つのモードがサポートされています:
-
この OSS ディレクトリ配下のすべてのファイルをインポート:指定されたサブディレクトリ配下のすべてのファイルをインポートします。OSS オブジェクトプレフィックス内の相対パスを、スラッシュ (/) で始まり、スラッシュ (/) で終わる形式で入力します。
-
この OSS ディレクトリ配下の CSV ファイルにリストされたファイルをインポート:CSV ファイルにリストされたファイルのみをインポートします。このモードを選択した後、CSV ファイルリストの場所を設定します。これは、CSV ファイルが保存されている OSS バケットディレクトリです。パスはスラッシュ (/) で始まり、スラッシュ (/) で終わる必要があり、長さは 1 ~ 1,023 文字で、感嘆符 (!)、ハイフン (-)、アンダースコア (_)、ピリオド (.)、およびかっこ (()) のみを含めることができます。
CSV ファイルリストのフォーマット要件と例については、「CSV ファイルリストのフォーマット」をご参照ください。
説明データフローの作成時に設定した CPFS パスが存在しない場合は、作成した CPFS ディレクトリが存在しない場合、システムは自動的に作成します を選択してインポートの失敗を防ぐことができます。ディレクトリの自動作成は、CPFS for Lingjun 2.6.0 以降でのみサポートされています。
データのエクスポート
-
ソース OSS バケットは、バージョニングが有効になっている必要があります。 データフローがアクティブな間はバージョニングを停止しないでください。停止すると、エクスポートタスクが失敗します。 詳細については、「バージョニングの概要」をご参照ください。
-
シンボリックリンクが OSS に同期される場合、システムはそれが指すファイルを同期しません。代わりに、シンボリックリンク自体が OSS 内の通常の空のオブジェクトになります。
-
ハードリンクは通常ファイルとして OSS に同期されます。
-
Socket、Device、または Pipe タイプのファイルは、OSS バケットにエクスポートできません。
-
1,023 文字を超えるディレクトリパスはサポートされていません。
-
ディレクトリ名およびファイル名に以下の特殊文字を含めることはできません。含めると、タスクが予期しない結果を生成するか、失敗する可能性があります。
-
サブディレクトリ名またはファイル名をダブルピリオド (..) にすることはできません。
-
パスにバックスラッシュ (\) または連続したバックスラッシュ (\\) を含めることはできません。
-
サブディレクトリ名およびファイル名にスラッシュ (/) を含めることはできません。
-
-
CPFS for Lingjun は、ファイルの変更タイムスタンプを
x-oss-meta-alihbr-sync-mtimeという名前の OSS カスタムメタデータにエクスポートします。このメタデータを削除または変更しないでください。削除または変更すると、ファイルシステムのタイムスタンプが不正になります。
パラメータ
説明
[コンフリクトポリシー]
CPFS for Lingjun ファイルシステムと OSS バケットの両方に同名のファイルが存在する場合の処理方法を指定するポリシーです。
-
[同名ファイルをスキップする (デフォルト)]: 同名のファイルを無視して同期しません。
-
[最新の状態を保つ]: 同名のファイルの更新時刻 (mtime) を比較し、最新のバージョンを保持します。OSS と Lingjun の CPFS はどちらも、更新時刻を比較に使用します。
-
[同名ファイルの上書き]: CPFS for Lingjun ファイルシステムのバージョンで宛先ファイルを上書きします。現在のソースファイルによって、宛先に既に存在する同じ名前のファイルは上書きされます。重要なデータが既にバックアップされているかご確認ください。 を選択します。
[エクスポートするデータのタイプ]
データ + メタデータ タイプのみがサポートされています。このオプションでは、ファイルのデータブロックとメタデータの両方をエクスポートします。
[CPFS 目次のサブディレクトリの指定]
エクスポートタスクの範囲を指定します。2 つのモードがサポートされています:
-
この CPFS ディレクトリ配下のすべてのファイルをエクスポート:指定されたサブディレクトリ配下のすべてのファイルをエクスポートします。CPFS ディレクトリ内の相対パスを、スラッシュ (/) で始まり、スラッシュ (/) で終わる形式で入力します。例:
/cpfs/ -
CSV ファイルにリストされたすべてのファイルをエクスポート:CSV ファイルにリストされたファイルのみをエクスポートします。このモードを選択した後、CSV ファイルリストの場所を設定します。これは、CSV ファイルが保存されている OSS バケットディレクトリです。エクスポートシナリオでは、CSV ファイルも OSS に保存されることに注意してください。パスのルールは、インポートモードと同じです。
CSV ファイルリストのフォーマット要件と例については、「CSV ファイルリストのフォーマット」をご参照ください。
-
-
OK をクリックします。
タスクのキャンセル
実行中のデータフロータスクをキャンセルできます。
-
データフロー タブで、目的のデータフローを探し、[操作] 列の タスク管理 をクリックします。
-
タスク管理 パネルで、目的のタスクを探し、操作列の キャンセル をクリックします。
-
表示される確認メッセージで、**[OK]** をクリックします。
タスクのコピー
タスクをコピーして再度実行できます。
-
データフロータブで目的のデータフローを見つけ、「操作」列のタスク管理をクリックします。
-
タスク管理 パネルで、目的のタスクを見つけます。次に、操作列の
アイコンをクリックし、コピー を選択します。 -
表示される確認メッセージで、**[OK]** をクリックします。
CSV ファイルリストのフォーマット
CSV ファイルリストモードでデータをインポートする場合、各 CSV ファイルは以下のフォーマット要件を満たす必要があります:
-
ファイルには、各ファイルまたはディレクトリの相対パスを指定する Name 列 (大文字と小文字を区別しない) が含まれている必要があります。タスク分割のパフォーマンスを向上させるために、Size 列 (バイト単位) も含めることを推奨します。含めない場合、システムは各ファイルのサイズを取得するために
statリクエストを送信します。 -
ファイル名の拡張子は
.csvまたは.csv.*である必要があります。他の拡張子を持つファイルは無視されます。 -
CSV ファイルを
oss://bucket/<oss_prefix>/<csv_file_dir>/に保存します。システムはこのディレクトリ直下のファイルのみを読み取り、サブディレクトリはトラバースしません。 -
タスクで複数の CSV ファイルを使用する場合は、すべてのファイルを同じディレクトリに保存します。
CSV ファイルの例
スラッシュ (/) で終わるパスはディレクトリを示します。それ以外の場合は、ファイルを示します。Name 列は必須であり、最初の行のヘッダー行が存在する必要があります。存在しない場合、タスクはエラーを返します。
Name,Size
/dir1/dir2/,0
/dir1/file1,1048576
/dir2/file,2097152
-
存在しないエントリはスキップされます。自動的には作成されません。
-
単一の CSV ファイルには、200 万エントリ以下を含めることを推奨します。エントリがそれ以上ある場合は、複数のファイルに分割してください。
-
単一のデータフロータスクの CSV ファイルリストの合計サイズは、2 GB を超えないことを推奨します。2 GB を超える場合は、ワークロードを複数のタスクに分割してください。
-
パフォーマンスを向上させるために、エントリをパスの辞書順昇順で事前にソートすることを推奨します。
タスクの失敗原因の確認
データフロータスクが失敗した場合、システムは失敗の原因を表示するか、失敗レポートを生成します。コンソールで原因を確認するか、レポートをダウンロードして問題をトラブルシューティングできます。
-
データフロー タブで、対象のデータフローを見つけ、[操作] 列の タスク管理 をクリックします。
-
タスク管理 パネルで目的のタスクを探し、失敗 ステータスの横にあるアイコンにポインターを合わせると、原因を表示するか、失敗レポートをダウンロードできます。
説明障害原因が表示されない、レポートが利用できない、またはレポートを基に問題を解決できない場合は、してサポートを依頼してください。
タスク設定とステータスの確認
バッチタスクの設定とステータスは、コンソールで表示できます。ストリーミングタスクの詳細を表示するには、DescribeDataFlowTasks API 操作を呼び出します。
-
データフロー タブで、目的のデータフローを見つけ、[操作] 列の タスク管理 をクリックします。
-
タスク管理 パネルで、タスクの設定と実行状況を確認できます。
パラメータ
説明
タスク ID
データフロータスクの一意の識別子です。
タイプ
タスクのタイプです。有効な値: インポートまたはエクスポート。
競合解決ポリシー
送信先ファイルシステムにすでに存在する同名のデータを処理するためのポリシーです。有効な値:
-
[同名ファイルをスキップする (デフォルト)]
-
[最新の状態を保つ]
-
[同名ファイルの上書き]
ソースアドレス
データ転送のソース、デスティネーション、および特定のサブディレクトリパスです。
デスティネーションアドレス
ソースディレクトリ
ソースでスキャンされた合計データ量
ソースでスキャンされたデータ量 (バイト単位) です。
同期されたデータ
スキップされたデータを含む、同期されたデータ量 (バイト単位) です。
転送されたデータ
タスクによって実際に転送されたデータ量 (バイト単位) です。
平均速度
データフロータスクの平均転送速度です。単位: B/s。
残り時間
現在の転送速度に基づく、タスク完了までの推定残り時間です。
期間
タスクの開始時刻と終了時刻です。
進捗状況
現在のタスクの実行進捗状況です。単位:%。
ステータス
タスクの現在のステータスです。有効な値:
-
保留中:データフロータスクが作成され、キューで待機しています。
-
実行中:データフロータスクが進行中です。
-
失敗:データフロータスクが失敗しました。
-
キャンセル済み:データフロータスクはキャンセルされ、完了しませんでした。
-
キャンセル中:データフロータスクはキャンセル処理中です。
-
完了:データフロータスクが完了しました。
ファイルリストパス
CSV ファイルリストを保存する OSS バケットディレクトリです。このフィールドは、CSV ファイルリストモードを使用するタスクにのみ表示されます。他のタスクの場合、このフィールドは空です。
-
タスクレポートの確認
データフロータスクが完了すると、結果に応じて、システムは **スキップされたファイルレポート**、**失敗したファイルレポート**、または **成功したファイルレポート** を生成します。コンソールからレポートをダウンロードして、ファイルの詳細情報を確認できます。
-
データフロー タブで、対象のデータフローを探し、「アクション」列の タスク管理 をクリックします。
-
タスク管理 パネルで目的のタスクを見つけ、[操作] 列の タスクレポートのダウンロード をクリックします。
-
ダウンロードするレポートを見つけ、
アイコンをクリックします。
タスクパフォーマンスの確認またはアラートルールの設定
タスクパフォーマンスメトリクスを確認するか、アラートルールを設定するには、CPFS for Lingjun ファイルシステムのバージョン 2.6.0 以降を使用し、データフロータスクを作成している必要があります。
-
データフローのインポートまたはエクスポートタスクにおける、読み取り/書き込みスループット、読み取り/書き込み IOPS、およびメタデータ QPS などの主要なパフォーマンスメトリックを表示するには、「CPFS パフォーマンスメトリックを表示する」をご参照ください。
-
dataflow タスクの特定の監視メトリックに対してアラートルールを設定し、メトリックの例外をタイムリーに検出して処理するには、「基本的なアラートルールを設定する」をご参照ください。