讀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)