CSVファイルの読み取りコンポーネントを使用すると、OSS (Object Storage Service) 、HTTP、およびHDFS (Hadoop Distributed File System) データソースからCSVファイルを読み取ることができます。 このトピックでは、CSVファイルの読み取りコンポーネントを設定する方法について説明します。
制限事項
Machine Learning Platform for AI (PAI) コンソールでCSVファイルの読み取りコンポーネントを設定した場合、MaxComputeおよびRealtime Compute for Apache Flinkのコンピューティングリソースのみがサポートされます。
PyAlinkスクリプトコンポーネントを使用してCSVファイルの読み取りコンポーネントを構成する場合は、PyAlinkスクリプトコンポーネントを使用してコードを呼び出す必要があります。 詳細については、「PyAlinkスクリプト」をご参照ください。
前提条件
(オプション) PAIはOSSへのアクセスが許可されています。 詳細については、「Machine Learning Designerの使用に必要な権限の付与」をご参照ください。
fileSourceにOSSを選択した場合、権限付与を実行する必要があります。
CSVファイルの読み取りコンポーネントの設定
次のいずれかの方法を使用して、CSVファイルの読み取りコンポーネントを設定できます。
方法1: PAIコンソール
次の表に、[Visualized Modeling (Designer)] ページで設定する必要があるパラメーターを示します。
タブ | パラメーター | 説明 |
パラメーター設定 | fileSource | CSVファイルのソース。 有効な値: OSSおよびOTHERS。 |
ossFilePathまたはfilePath | CSVファイルのパス。
| |
スキーマ | 各列のデータ型。 このパラメーターを 重要 各列に設定されたデータ型は、読み取りたいCSVファイルのデータ型と同じである必要があります。 そうしないと、システムはCSVファイルの特定の列のデータを読み取ることができません。 | |
fieldDelimiter | フィールド区切り文字。 デフォルトでは、コンマ (,) が使用されます。 | |
handleInvalidMethod | Tensor、Vector、またはMTable型のデータの解析に失敗した場合に、これらの型の無効なデータを処理するために使用されるメソッド。 これらのデータ型は、Alinkアルゴリズムフレームワークによって定義され、固定の構文解析フォーマットを有する。 有効な値:
| |
ignoreFirstLine | 最初の行のデータをスキップするかどうかを指定します。 読み取りたいCSVファイルの最初の行がテーブルヘッダーの場合は、このスイッチをオンにする必要があります。 | |
寛大な | 入力データレコードのスキーマがschemaパラメーターで指定された情報と一致しない場合に、不一致を処理するために使用されるメソッド。 不整合の問題は、データ型または列の数にある可能性があります。
| |
quoteString | 引用文字。The quote character. デフォルトでは、二重引用符 (") が使用されます。 | |
rowDelimiter | 行の区切り文字。 デフォルトでは、改行フィード (\n) が使用されます。 | |
skipBlankLine | 空白行をスキップするかどうかを指定します。 | |
実行チューニング | 数の労働者 | ノードの数を示します。 値は正の整数でなければなりません。 このパラメーターは、Memory per workerパラメーターと共に使用する必要があります。 有効な値: 1 ~ 9999 |
workerあたりのメモリ | 各ノードのメモリサイズ。 単位:MB。 値は正の整数でなければなりません。 有効な値: 1024〜65536。 |
方法2: PyAlinkスクリプトコンポーネント
次の表に、PyAlinkスクリプトコンポーネントを使用してCSVファイルの読み取りコンポーネントを設定するときに設定する必要があるパラメーターを示します。PyAlinkスクリプトコンポーネントの詳細については、「PyAlinkスクリプト」をご参照ください。
パラメーター | 必須 | 説明 | デフォルト値 |
schemaStr | Yes | CSVファイルのデータ型。 このパラメーターは、colname0 coltype0[, colname1 coltype1[, ...]] 形式で指定します。 例: f0 string,f1 bigint,f2 double | なし |
filePath | No | CSVファイルのパス。 | なし |
fieldDelimiter | No | フィールド区切り文字。 | コンマ (,) |
handleInvalidMethod | No | Tensor、Vector、またはMTableタイプの無効なデータを処理するために使用されるメソッド。 これらの型のデータは解析に失敗します。 これらのデータ型は、Alinkアルゴリズムフレームワークによって定義され、固定の構文解析フォーマットを有する。 有効な値:
| ERROR |
ignoreFirstLine | No | 最初の行のデータをスキップするかどうかを指定します。 読み取りたいCSVファイルの最初の行がテーブルヘッダーの場合、このパラメーターをTrueに設定する必要があります。 | False |
寛大な | No | 入力データレコードのスキーマがschemaパラメーターで指定された情報と一致しない場合に、不一致を処理するために使用されるメソッド。 不整合の問題は、データ型または列の数にある可能性があります。
| False |
quoteString | No | 引用文字。The quote character. | 二重引用符 (") |
rowDelimiter | No | 行の区切り文字。 | ラインフィード (\n) |
skipBlankLine | No | 空白行をスキップするかどうかを指定します。 | 正しい |
サンプルPyAlinkスクリプト:
filePath = 'https://alink-test-data.oss-cn-hangzhou.aliyuncs.com/iris.csv'
schema = 'sepal_length double, sepal_width double, petal_length double, petal_width double, category string'
csvSource = CsvSourceBatchOp()\
.setFilePath(filePath)\
.setSchemaStr(schema)\
.setFieldDelimiter(",")
BatchOperator.collectToDataframe(csvSource)