Loop Files
概要
この演算子は、選択したすべてのファイルで内部プロセスタスクを実行します。
詳細
この演算子を使用すると、ディレクトリのファイルを選択してフィルタリングし、選択したすべてのファイルで内部プロセスを実行できます。マクロを使用して、ファイル名、ファイルパス、およびファイルタイプを抽出できます。
コアオペレータとは対照的に、この高度な実装により、内部プロセスの並列実行が可能になります。 バックグラウンドプロセスパネルをアクティブにして、 同時実行レベルを変更するか、演算子同時実行レベルの設定を使用できます。
入力
- in (IOObject)このポートは、変更されずに内部プロセスに渡されるIOObjectを想定しています。使用すると再現されます。内部ループを実行する場合は、サブプロセスの演算子を内部ループ入力ポートに接続する必要があります。最初の反復では、入力ポートのIOObjectを配信します。
出力
- output_collector(コレクション)このポートは、内部プロセスのすべての結果を収集します。使用すると再現されます。
パラメーター
- directoryファイルのスキャンを開始するディレクトリを選択します。このパラメーターは、 ファイルセットポートが接続されていない場合にのみ使用できます。範囲:文字列
- filter_typeファイル名のフィルタリング方法を指定します。 globフィルタリングのような標準のコマンドシェルまたは正規表現を使用できます。 範囲:選択
- filter_by_glob「ファイル名とディレクトリ名のフィルターとして使用されるグロブ式を指定します。以下に簡単な概要を示します。
- *:任意の数の文字
- **:「*」と同じですが、ディレクトリの境界を越えます。完全なパスを一致させるのに便利です。
- ? :正確に1文字に一致します
- {}:「、」で区切られたコレクションが含まれます。 globフィルターは、文字列をコレクション内の文字列のいずれかに一致させようとします。
- []:文字の範囲または単一の文字(例[az])が含まれます。
- String(*): \*
- String(?): \?
- String(**): \*\*
範囲:文字列
- filter_by_regex 「ファイル名とディレクトリ名のフィルターとして使用される正規表現を指定します。たとえば、「a」で始まり「b」で終わるすべてのファイルの「a。* b」。空の場合は無視されます。」、 範囲:文字列
- recursiveすべてのディレクトリを再帰的に検索するかどうかを設定します。 trueに設定すると、オペレータは選択したディレクトリのサブディレクトリ(およびサブサブディレクトリ…)内のファイルを含めます。 範囲:ブール
- enable_macrosこのパラメーターを有効にすると、3つのマクロ(ファイル名、ファイルタイプ、およびファイルフォルダー)に名前を付けて抽出し、サブプロセスで使用できます。 範囲:ブール
- macro_for_file_name入力すると、この名前のマクロが現在のエントリの名前に設定されます。含むディレクトリを含むフルパスでアクセスするには、これをフォルダマクロと組み合わせます。空白のままにすることができます。 範囲:文字列
- macro_for_file_typeはファイルの拡張子に設定されます。空白のままにすることができます。 範囲:文字列
- macro_for_file_folder満たされている場合、この名前のマクロは現在のファイルを含むフォルダーに設定されます。フルパスでアクセスするには、これを名前マクロと組み合わせることができます。空白のままにすることができます。 範囲:文字列
- reuse_results各反復の結果を次の反復の入力として再使用するかどうかを設定します。 trueに設定すると、各反復の出力が次の反復の入力として使用されます。このパラメーターを有効にすると、オペレーターは強制的に並行して実行されなくなります。 falseに設定すると、各反復の入力は元の入力になります。”, 範囲:ブール
- enable_parallel_executionこのパラメーターは、内部プロセスの並列実行を有効にします。メモリの問題が発生した場合、または内部ループが必要な場合は、並列実行を無効にしてください。最終結果は外部プロセスに伝播され、通常の方法で使用できます。 範囲:ブール
チュートリアルプロセス
ディレクトリ内のすべてのファイルの名前を使用してExampleSetを生成
このプロセス例は、ディレクトリ内のファイルを反復処理するためにループファイルオペレータを使用する方法を示しています。このプロセスを完全に理解するには、少なくともマクロとログの基本的な理解が必要です。このプロセスの目標は、指定されたディレクトリ内のすべてのファイルのリストをExampleSetの形式で単に提供することです。このプロセスは、ループファイルオペレータから始まります。すべてのパラメーターはデフォルト値で使用されます。 Log演算子は、Loop Files演算子のサブプロセスで使用され、各反復でログテーブルにファイルの名前を保存します。 「ログ値としてマクロを提供」演算子は、「ログ」演算子の前に使用され、「ループ」ファイル演算子のファイル名マクロを「ログ」演算子で使用できるようにします。ファイル名マクロの名前(ファイル名マクロパラメーターで指定)は ‘file_name’であるため、ログ値としてマクロを提供演算子のマクロ名パラメーターは ‘file_name’に設定されます。ループファイルオペレータの実行後、指定されたディレクトリ内のすべてのファイルの名前がログテーブルに保存されます。このデータをExampleSetに変換するには、Log to Data演算子が適用されます。結果のExampleSetはプロセスの結果ポートに接続され、結果ワークスペースで表示できます。 RapidMinerリポジトリのパスがLoop Filesパラメーターのディレクトリパラメーターで指定されたため、ExampleSetにはRapidMinerリポジトリ内のすべてのファイルの名前が含まれます。 「.properties」および「.rmp」拡張子を持つファイルを含むすべてのファイルの名前を確認できます。 「.rmp」拡張子を持つファイル名のみが必要な場合は、フィルターパラメーターを「。* rmp」に設定できます。