目录
【第四章:Sentosa_DSML社区版-数据读入】
4.1 数据库读入
1.算子介绍
数据库读入算子(JDBCSourceNode)支持读取JDBC 兼容关系数据库,读取外部数据库数据。
2.算子类型
数据读入算子
3.算子属性说明
属性 | 页面显示名称 | 选项 | 类型 | 默认值 | 约束规则 | 属性说明 |
database_source | 数据库类型 | 必填 | String | 默认(mysql) | mysql,sqlserver,db2,oracle | 指定读取的数据库类型 |
url | 数据库地址 | 必填 | String | 默认(无) | 指定读取数据库的地址 | |
port | 端口 | 必填 | Integer | 默认(无) | 指定读取数据库的端口号 | |
database_name | 库名 | 必填 | String | 默认(无) | mysql,sqlserver,db2 | 读取的库名 |
table | 表名 | 必填 | String | 默认(无) | 读取的表名 | |
user | 用户名 | 必填 | String | 默认(无) | 数据库用户名 | |
password | 密码 | 必填 | String | 默认(无) | 数据库密码 | |
schema | Schema名称 | 必填 | String | 默认(system) | db2 | DB2的schema |
sid | Oracle系统标识号sid | 必填 | String | 默认(orcl) | oracle | Oracle系统标识号sid |
userProperty | 连接属性 | 选填 | HashMap<String,Object> | 默认(无 | mysql,sqlserver | 用户自定义连接属性 |
数据库读入算子属性设置
4.算子使用介绍
(1)算子初始化
参考公共功能算子初始化操作。
(2)算子属性设置
数据库读入算子属性设置
注:点击图中“+”,可以添加额外的数据库连接属性;点击图中“-”,可以删除之前额外添加的数据库属性
(3)算子的运行
操作参考公共操作。
(4)可接算子类型说明
该算子后可接数据写出算子,数据处理算子(例,行处理,列处理等),图表分析算子等形成算子流运行,算子流运行参考公共操作。
4.2 文本算子
1.算子介绍
文本算子(FileSourceNode)支持从HDFS和本地文件读取数据。如果Sentosa_DSML社区版是以YARN集群启动,则只支持从HDFS读取数据;如果Sentosa_DSML社区版以LOCAL模式启动,则只支持从服务启动的机器本地读取数据。支持的文件格式共六种:csv、text、json、parquet、libsvm、orc。
2.算子类型
数据读入算子。
3.算子属性说明
文件格式csv时,输入参数说明
属性 | 页面显示名称 | 选项 | 类型 | 默认值 | 约束规则 | 属性说明 |
path | 文件路径 | 必选 | String | 无 | 设置读取文件的路径。可以手写,也可以点击后面文件夹图标进行选择。如果做了路径限制,则只能写或者选允许的路径。 | |
format | 文件格式 | 必选 | String | csv | 单选:csv,json,text,parquet,libsvm,orc | 设置读入文件格式 |
header | 以首行字段作为列的名称 | 必选 | Boolean | 是 | 单选:是,否 | 是否使用第一行作为列的名称,如果选false,系统会自动设置列名。 |
sep | 分隔符设置 | 必选 | String | 逗号 | 单选:逗号,分号,制表符,空格,其他 | 设置数据的分隔符 |
encoding | 编码 | 必选 | String | utf-8 | 单选:UTF-8,GBK | 设置编码格式 |
infer_schema | 自动推断列的数据类型 | 必选 | Boolean | 是 | 单选:是,否 | 是否自动推断列的类型 |
ignore_leading_white_space | 是否跳过正在读取数据的前导空格 | 必选 | Boolean | 是 | 单选:是,否 | 是否跳过正在读取数据的前导空白 |
ignore_trailing_white_space | 是否跳过正在读取数据的尾随空格 | 必选 | Boolean | 是 | 单选:是,否 | 是否跳过正在读取数据的尾随空白 |
discard_quote_pairs | 是否成对丢弃首尾英文引号 | 必选 | Boolean | 是 | 单选:是,否 | 是否成对丢弃首尾英文引号 |
quote_type | 需要丢弃的引号类型 | 必选 | String | 双引号 | 单选:双引号,单引号 | 需要丢弃的引号类型 |
文件格式为json时,输入参数说明
属性 | 页面显示名称 | 选项 | 类型 | 默认值 | 约束规则 | 属性说明 |
encoding | 编码 | 必填 | String | utf-8 | 单选:UTF-8,GBK | 设置编码格式 |
primitives_as_string | 推断字段为字符串类型 | 必填 | Boolean | 是 | 单选:是,否 | 是否把原始值推断字段为字符串类型 |
multi_line | 可以跨越多行 | 必填 | Boolean | 是 | 单选:是,否 | 是否跨多行数据 |
注:文件格式选择text、parquet、libsvm或orc时,无额外参数配置。
4.算子使用介绍
(1)算子初始化
参考公共功能算子初始化操作
(2)算子属性设置
1)文件读入操作:
当文件格式选择csv
当文件格式选择json
当文件格式选择text、parquet、libsvm或orc
2)文件上传操作:上传一个文件,文件保存路径自动填充至读取位置,上传如图所示:
①点击上传按钮
②选择上传路径
③选择上传文件或拖拽文件至空白位置
④点击确定上传文件
点击下图最右边的上传按钮:
文件上传
出现如下界面:
文件上传
可以直接选择本地文件上传,也可以拖拽上传,上传到指定目录。上传的文件路径会自动填充到文件读入算子的路径参数里。
(3)算子的运行
1)可预览输出效果
操作参考算子流操作管理-算子流构建-运行算子流章节
2)可接算子类型说明
该算子后可接任意个数据处理算子,以数据写出算子或图表分析算子等算子为终节点构成算子流
4.3 Excel读入
1.算子介绍
Excel读入算子(ExcelSourceNode) 支持Linux/local模式下读取hdfs/本地的excel文件,并提供上传功能。
2.算子类型
数据读入算子
3.算子属性说明
属性 | 页面显示名称 | 选项 | 类型 | 默认值 | 约束规则 | 属性说明 |
file_path | 文件路径 | 必填 | String | 无 | 设置读取文件的路径。可以手写,也可以点击后面文件夹图标进行选择。如果做了路径限制,则只能写或者选允许的路径 | |
sheet_name | sheet名称 | 必填 | String | 无 | 自动读取Excel的所有sheet名称,提供选项 | |
read_mode | 读取模式 | 必填 | String | 无 | 单选: 整张表,给定起止单元格,列模式,行模式 | 设置读取模式 |
infer_schema | 自动推断列的类型 | 必填 | Boolean | 是 | 单选:是,否 | 自动推断列的类型 |
use_header | 使用首行作为列的名称 | 必填 | Boolean | 是 | 单选:是,否 | 使用首行作为列的名称 |
start_col | 起始列 | 必填 | String | 无 | 当读取模式设置为给定起止单元格,列模式,行模式三个中的一个时设置 | 设置起始列(必须为大写字母或者小写字母,和正常的Office Excel格式保持一致) |
end_col | 终止列 | 必填 | String | 无 | 当读取模式设置为给定起止单元格,列模式,行模式三个中的一个时设置 | 设置终止列(必须为大写字母或者小写字母,和正常的Office Excel格式保持一致) |
start_row | 起始行 | 必填 | Integer | 无 | 当读取模式设置为给定起止单元格,列模式,行模式三个中的一个时设置 | 设置起始行 |
end_row | 终止行 | 必填 | Integer | 无 | 当读取模式设置为给定起止单元格,列模式,行模式三个中的一个时设置 | 设置终止行 |
4.算子使用介绍
(1)算子初始化
参考公共功能算子初始化操作
(2)算子属性设置
填写excel文件路径,选取此文件中的任意sheet页获取此页签数据,
Excel读入算子属性设置
上传一个excel文件,文件保存路径自动填充至读取位置,上传如图所示:
①点击上传按钮
②选择上传路径
③选择上传文件或拖拽文件至空白位置
④点击确定上传文件
上传Excel
(3)算子的运行
1)可预览指定表格sheet页签的数据
预览Excel
2)可接算子类型说明
该算子后可接数据写出算子,数据处理算子(例,行处理,列处理等),图表分析算子等构成算子流运行。
4.4 拟合数据生成
1.算子介绍
拟合数据生成算子(FitDataGenerateNode)用来按照不同分布方式生成不同类型的数据,数据类型包括:String,Int,Double,Date,DateTime,Boolean。
2.算子类型
数据读入算子
3.算子属性说明
属性 | 页面显示名称 | 选项 | 类型 | 默认值 | 约束规则 | 属性说明 |
line_number | 数据生成行数 | 必填 | Integer | 200 | >0 | 设置数据生成行数 |
column_name | 列名 | 必填 | String | 无 | 各列名之间不可重复 | 列名中字母大小写的差异看做是相同列名 |
column_type | 列类型 | 必填 | String | 无 | 单选,支持String,Integer,Double,Date,DateTime,Boolean | 设置列存储类型 |
column_distribute | 分布方式 | 必填 | String | 无 | 单选:支持Beta,Binomial,Normal,Uniform,Lognormal,Exponential,Weibull,Categorical | 分布方式 |
column_value | 值列表 | 必填 | HashMap<String,Double> | 无 | HashMap<key,value>,value为double类型数字,且所有value加和为1 | 设置列值 |
column_max | 最大值 | 可选 | String | 无 | String和Boolean类型时,不填;Date类型时,格式为“yyyy-MM-dd”;DateTime格式时,格式为”yyyy-MM-dd hh:mm:ss“;Double类型时为Double格式数字;Integer类型时为Integer格式数字 | 设置最大值 |
column_min | 最小值 | 可选 | String | 无 | String和Boolean类型时,不填;Date类型时,格式为“yyyy-MM-dd”;DateTime格式时,格式为”yyyy-MM-dd hh:mm:ss“;Double类型时为Double格式数字;Integer类型时为Integer格式数字 | 设置最小值 |
beta_alpha | alpha值 | 必填 | Double | 无 | column_distribute=Beta;x>0 | 设置alpha值 |
beta_beta | beta值 | 必填 | Double | 无 | column_distribute=Beta;x>0 | 设值beta值 |
binomial_prob | prob值 | 必填 | Double | 无 | column_distribute=Binomial;0<=x<=1 | 设置prob值 |
binomial_trials | trials值 | 必填 | int | 无 | column_distribute=Binomial;x>=0 | 设置trials值 |
exponential_mean | 平均值 | 必填 | Double | 无 | column_distribute=Exponential | 设置平均值 |
lognormal_scale | scale值 | 必填 | Double | 无 | column_distribute=Lognormal | 设置scale值 |
lognormal_shape | shape | 必填 | Double | 无 | column_distribute=Lognormal;x>0 | 设置shape |
normal_mean | 平均值 | 必填 | Double | 无 | column_distribute=Normal | 设置平均值 |
normal_stddev | 标准差 | 必填 | Double | 无 | column_distribute=Normal;x>0 | 设置标准差 |
normal_period | 时间间隔 | 必填 | Integer | 3 | column_distribute=Normal ;x>0 | 设置时间间隔 |
normal_frequency | 时间频率 | 必填 | String | day | column_distribute=Normal;单选:year,month,day,hour,minute,second,millisecond | 设置时间频率 |
uniform_lower | 下限 | 必填 | Double | 无 | column_distribute=Uniform且uniform_lower小uniform_upper | 设置下限 |
4.算子使用介绍
(1)算子初始化
参考公共功能算子初始化操作
(2)算子属性设置
参考算子属性line_number(数据生成行数)介绍。
列名(参数算子属性column_name),列类型(参考算子属性column_type),
分布方式(参考算子属性column_distribute),点击值列表,弹出图4.1.5-2,列值填写需要生成的列值,占比填写该列值所占比列,所有列值的占比和为1,点击“+”,添加列值和占比,点击“-”,删除该列值和占比;点击“+”,生成新的列;点击“-”,将鼠标移动至右上角,出现“x”,点击删除该列。
拟合数据生成算子配置
构建值配置
(3)算子的运行
(1)可预览获取拟合数据结果
预览拟合数据结果
(2)可接算子类型说明
该算子后可接数据写出算子,数据处理算子(例,行处理,列处理等),图表分析算子等构成算子流运行。
4.5 随机数据生成
1.算子介绍
随机数据生成算子(RandomDataGetNode)用来随机生成不同类型的数据,数据类型包括:String,Int,Double,Date,DateTime,Boolean。
2.算子类型
数据读入算子
3.算子属性说明
属性 | 页面显示名称 | 选项 | 类型 | 默认值 | 约束规则 | 属性说明 |
row_num | 数据生成数目 | 必填 | Integer | 1000 | 大于0的整数 | 设置数据生成数目 |
col_name | 列名 | 必填 | String | Column1,Column2,...,ColumnN | 各列名之间不可重复 | 列名中字母大小写的差异看做是相同列名 |
storage_type | 存储类型 | 必选 | String | Double | String,Integer,Double,Date,DateTime,Boolean | 设置存储类型 |
value_range | 取值下限 | 必填 | Double | 无 | 设置取值范围最小值 | |
value_range | 取值上限 | 必填 | Double | 无 | 设置取值范围最大值 |
4.算子使用介绍
(1)算子初始化
参考公共功能算子初始化操作。
(2)算子属性设置
图4.1.6-1:参考算子属性row_num(数据生成数目)介绍。
图4.1.6-2:列名(参考数据属性col_name),存储类型(参考数据属性storage_type),取值下限和取值上限(参考数据属性value_range);点击“+”,可以添加另一列数据;点击“-”,删除一列数据。
随机数据生成配置
注:选择Boolean类型时,不需要填充,默认为true和false;选择string类型时界面如下:
随机数据生成配置
(3)算子的运行
1)可预览获取随机数据结果
随机数据生成配置
2)可接算子类型说明
该算子后可接数据写出算子,数据处理算子(例,行处理,列处理等),图表分析算子等构成算子流运行。
4.6 马尔可夫数据源
1.算子介绍
马尔科夫数据源算子(MarkovSourceNode)是基于用户需求,根据马尔可夫过程生成随机数据的算子。马尔可夫过程(Markov process)是一类随机过程,即:每个状态的转移只依赖于其之前的那个状态。
2.算子类型
数据读入算子
3.算子属性说明
属性 | 页面显示名称 | 选项 | 类型 | 默认值 | 约束规则 | 属性说明 |
line_number | 数据生成行数 | 必填 | Integer | 1000 | >0 | 最终生成数据的行数 |
column_names | 列名 | 必填 | List<String> | 无 | 不为空 | 用户需要配置的属性列名 |
column_states | 属性值 | 必填 | 离散型 | 无 | 不为空 | 用户针对每一个属性所配置的可能取值 |
org_state | 初始状态 | 必填 | String | 无 | 不为空 | 用户配置的初始组合状态 |
combine_states | 组合状态 | 必填 | List<String> | 无 | 不为空 | 用户配置的所有属性对应所有状态的自由组合状态 |
4.算子使用介绍
(1)算子初始化
参考公共功能算子初始化操作。
(2)算子属性设置
算子属性line_number(数据生成行数)介绍
列名和属性值对应关系为一对多关系
列名和属性值对应关系为多对多关系
(3)算子的运行
1)可预览输出效果
马尔科夫数据源预览结果
2)可接算子类型说明
该算子后可接数据写出算子,数据处理算子(例,行处理,列处理等),图表分析算子等构成算子流运行。
4.7 XML读入
1.算子介绍
XML读入算子(XMLSourceNode)支持从HDFS和本地文件读取XML数据。如果Sentosa_DSML社区版是以YARN集群启动,则只支持从HDFS读取数据;如果Sentosa_DSML社区版以LOCAL模式启动,则只支持从服务启动的机器本地读取数据。
2.算子类型
数据读入算子
3.算子属性说明
属性 | 页面显示名称 | 选项 | 类型 | 默认值 | 约束规则 | 属性说明 |
path | 文件路径 | 必填 | String | 无 | 设置读取文件的路径。可以手写,也可以点击后面文件夹图标进行选择。如果做了路径限制,则只能写或者选允许的路径。 | |
charset | 编码 | 必填 | String | UTF-8 | 单选:UTF-8,GBK | 设置编码格式 |
rowValidationXSDPath | XSD文件路径 | 选填 | String | 无 | Xsd文件路径指定,文件上传功能。用来验证xml文件的xsd文件。Xsd文件为可选项,如果没有指定则不进行验证 | |
rowTag | 提取行标签 | 必填 | String | 无 | 用来标志用来从xml里提取行的标签。需要用户输入。 | |
samplingRatio | 抽样因子 | 必填 | Double | 1 | (0,1]之间的数字 | 用来推断datamodel的数据比例 |
4.算子使用介绍
(1)算子初始化
参考公共功能算子初始化操作
(2)算子属性设置
1)XML文件读入操作:
XML文件读入算子属性配置
2)文件上传操作:
上传一个文件,文件保存路径自动填充至读取位置,上传如图所示:
①点击上传按钮
②选择上传路径
③选择上传文件或拖拽文件至空白位置
④点击确定上传文件
点击下图最右边的上传按钮:
XML文件上传界面
可以直接选择本地文件上传,也可以拖拽上传,上传到指定目录。上传的文件路径会自动填充到文件读入算子的路径参数里。
(3)算子的运行
1)可预览输出效果
操作参考算子流操作管理-算子流构建-运行算子流章节
2)可接算子类型说明
该算子后可接任意个数据处理算子,以数据写出算子或图表分析算子等算子为终节点构成算子流
为了非商业用途的科研学者、研究人员及开发者提供学习、交流及实践机器学习技术,推出了一款轻量化且完全免费的Sentosa_DSML社区版。以轻量化一键安装、平台免费使用、视频教学和社区论坛服务为主要特点,能够与其他数据科学家和机器学习爱好者交流心得,分享经验和解决问题。文章最后附上官网链接,感兴趣工具的可以直接下载使用
Sentosa_DSML算子流开发视频