【第二十二章:Sentosa_DSML社区版-扩展编程】
扩展编程类算子是算子里支持sql语句编写及脚本编程,用户可以根据自己的需要在算子中编写自己需要执行的sql语句或者脚本对数据进行处理。扩展编程类算子数据算子流中的中间算子。
22.1 Sql
1.算子介绍
SQL算子(SQLNode)是为了满足sql语句查询的算子,目前只支持select操作。SQL算子将数据注册成表,通过sql语句的代码逻辑来获取数据。
2.算子类型
扩展编程算子
3.算子属性说明
属性 | 页面显示名称 | 选项 | 类型 | 默认值 | 约束规则 | 属性说明 |
tables | 建表 | 必填 | Map<String, HashMap< String, Object>> | 无 | 表名应符合sql 表名规范 | 将前继数据注册为 sql 表 |
execute_sql | sql 语句 | 必填 | String | 无 | 只支持select sql 语句,并且表名使用 $引用 | 用户要执行的 sql语句 |
4.算子使用介绍
(1)算子初始化
参考公共功能算子初始化操作
(2)算子属性设置
sql算子属性设置如图所示
sql算子属性设置
如图所示,前继算子 iris2 注册为表 b , 前继算子iris1 注册为表 a ,在要执行的Sql 语句中,必须通过 $b 来引用t2表,通过$a来引用t1表。
sql算子算子流
sql算子可以有一个或多个输入。当有多个输入时可以做多个表的连接查询,sql算子将数据iris注册为表“a”,将数据iris_binary注册为表“b”,若a中Species与b中Species的值相等,则取出a表中的该行。
sql算子运行结果
(3)算子的运行
通过数据读入算子读取数据,中间可以接任意个数据处理算子(例,行处理,列处理等),然后接一个sql算子,后可接任意个数据处理算子,再接图表分析算子或数据写出算子,形成算子流执行。
22.2 PySpark
1.算子介绍
PySpark算子(PySparkNode)是为了向客户提供编写PySpark语句处理数据的能力,使客户可以通过编程的方式快速完成一系列数据操作。
用户在界面使用PySpark语法进行编程。以下变量为预定义的变量:
input_data:输入数据,是Python DataFrame的实例;
sc:sparkContext实例;
conf:sparkConf实例;
spark:SparkSession实例。
当用户数据处理完成后,需要将输出数据定义为:output_data。如下面例子说述output_data = input_data.select(input_data['Sepal_Length'])。
2.算子类型
扩展编程算子
3.算子属性说明
属性 | 页面显示名称 | 选项 | 类型 | 默认值 | 约束规则 | 属性说明 |
script | PySpark脚本 | 必填 | String | 无 | 脚本需要有基本的Python语法,每行代码定格,每行结束以回车符换行。 | 用户在界面使用PySpark语法进行编程。 |
measurementType | 测量类型 | 必选 | String | 无 | "Categorical","Flag","Continuous","Typeless" | 客户在使用PySaprk操作数据的过程中,可以修改原有Column的测量类型,也可以对新生成列的测量类型进行设置。 |
modelType | 模型类型 | 必选 | String | 无 | "Feature","Label","Predicted","Weight" ,"Censor","Offset","None" | 客户在使用PySaprk操作数据的过程中,可以修改原有Column的模型类型,也可以对新生成列的模型类型进行设置。 |
4.算子使用介绍
(1)算子初始化
参考公共功能算子初始化操作
(2)算子属性设置
PySpark算子的属性设置如图所示
PySpark算子的属性设置
输入数据为input_data,输出数据为output_data,输出列名必须与原数据列名一致,可以修改输出列的测量类型和模型类型,可以通过类型算子查看是否修改成功。
PySpark算子运行结果
4.算子的运行
通过数据源算子读取数据,中间可以接任意个数据处理算子,然后接一个PySpark算子,后可接任意个数据处理算子,再接图表分析算子或数据写出算子,形成算子流执行。
PySpark算子流示例
为了非商业用途的科研学者、研究人员及开发者提供学习、交流及实践机器学习技术,推出了一款轻量化且完全免费的Sentosa_DSML社区版。以轻量化一键安装、平台免费使用、视频教学和社区论坛服务为主要特点,能够与其他数据科学家和机器学习爱好者交流心得,分享经验和解决问题。文章最后附上官网链接,感兴趣工具的可以直接下载使用
Sentosa_DSML社区版官网
Sentosa_DSML算子流开发视频