讀CSV檔案支援從OSS、HTTP、HDFS讀取CSV類型的檔案資料。本文為您介紹讀CSV檔案的參數配置。
使用限制
通過可視化方式使用時,支援的計算資源為MaxCompute或Flink。
通過PyAlink指令碼方式使用時,需要使用PyAlink指令碼組件進行代碼調用,詳情請參見PyAlink指令碼。
前提條件
(可選)已完成OSS授權,詳情請參見雲產品依賴與授權:Designer。
僅檔案來源選擇OSS時,需要完成此操作。
組件配置
您可以通過以下任意一種方式,配置讀CSV檔案組件參數。
方式一:可視化方式
在Designer工作流程頁面配置組件參數。
頁簽 | 參數名稱 | 描述 |
參數設定 | 檔案來源 | 支援OSS和OTHERS。 |
檔案路徑 | 讀取CSV檔案的路徑:
| |
Schema | 配置每一列對應的資料類型,格式為 重要 配置的資料類型需要與CSV檔案每一列的資料類型保持一致,否則該列內容會讀取失敗。 | |
欄位分隔符號 | 欄位的分隔字元,預設為半形逗號(,)。 | |
處理無效值的方法 | 解析Tensor、Vector和MTable類型的資料失敗時,處理無效資料的方法。它們是Alink演算法架構所定義的資料類型,有固定的解析格式。處理無效值的方法取值如下:
| |
是否忽略第一行資料 | 是否忽略第一行的資料,當CSV檔案首行為表頭資訊時,需要勾選此參數。 | |
是否容錯 | 輸入資料與Schema中定義的不一致時,例如類型不一致或列數不一致的容錯方法:
| |
引號字元 | 預設為半形雙引號(")。 | |
行分隔字元 | 預設為分行符號(\n)。 | |
是否忽略空行 | 是否忽略空行。 | |
執行調優 | 節點個數 | 節點個數,與參數單個節點記憶體大小配對使用,正整數。範圍[1, 9999]。 |
單個節點記憶體大小,單位M | 單個節點記憶體大小,單位MB,正整數。範圍[1024, 64*1024]。 |
方式二:PyAlink指令碼方式
使用PyAlink指令碼方式,配置該組件參數。您可以使用PyAlink指令碼組件進行Python代碼調用,組件詳情請參見PyAlink指令碼。
參數名稱 | 是否必選 | 描述 | 預設值 |
schemaStr | 是 | 格式為colname0 coltype0[, colname1 coltype1[, ...]]。例如f0 string,f1 bigint,f2 double。 | 無 |
filePath | 否 | 檔案路徑。 | 無 |
fieldDelimiter | 否 | 欄位分隔符號。 | 半形逗號(,) |
handleInvalidMethod | 否 | 解析Tensor、Vector和MTable類型的資料失敗時,處理無效資料的方法。它們是Alink演算法架構所定義的資料類型,有固定的解析格式。處理無效值的方法取值如下:
| ERROR |
ignoreFirstLine | 否 | 是否忽略第一行的資料,當CSV檔案首行為表頭資訊時,需要將ignoreFirstLine設為True。 | False |
lenient | 否 | 輸入資料的格式與Schema中定義的不一致時,例如類型不一致或列數不一致的容錯方法:
| False |
quoteString | 否 | 引號字元。 | 半形雙引號(") |
rowDelimiter | 否 | 行分隔字元。 | 分行符號(\n) |
skipBlankLine | 否 | 是否忽略空行。 | True |
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)