大数据流水线系统PiFlow V1.5版本正式发布,该版本新增多语言组件扩展功能:基于容器技术,通过将领域模型算法内置于容器内部,打通上下游数据通路,实现不同语言(Python/R等)组件扩展。
一、Python组件开发指南
1. 导入data_connect.py中的依赖函数DataConnect;
2. 自定义输入端口,用于数据读取(如有多个输入源,可多次调用);
3. 自定义输出端口,用于数据输出(如有多个输出源,可多次调用);
4. 自定义算法属性。如果模型算法需要参数输入,则需要自定义算法属性;
5. 将python组件打包成zip包(zip包中必须包含模型算法及其需要的依赖(requirements.txt))。
示例文档可详见https://github.com/cas-bigdatalab/piflow/blob/master/doc/V1.5/python。
示例代码:
# -*- coding: utf-8 -*-
import os
from data_connect import DATAConncet
from sys import argv
import pandas as pd
import numpy as np
if __name__ == '__main__':
# Define the inputPort and outputPort
input_port = "input_path_port"
output_port = "output_path_port"
# Get dataConnect
dataConnect = DATAConncet()
# Get upstream delivery data (path)
input_file = dataConnect.dataInputStream(input_port).iloc[0, 0]
# Get the custom properties
result_tif_path = argv[1]
# Core codes of the component
# ...
dataConnect.downloadFileFromHdfs(input_file, input_file, False)
dataConnect.putFileToHdfs(result_tif_path,input_file)
df = pd.DataFrame({'out_path': [result_tif_path]})
# Pass the data downstream
dataConnect.dataOutputStream(df ,output_port)
二、Python组件使用示例
1. 上传并编辑Python组件。
上传zip包并mount,mount成功后选择组件并编辑基本信息以及图标。自定义输入输出端口(如果不填,默认有一个输入输出DefaultPort);如果需要参数输入,则设置参数及输入样例。
上传Python组件
编辑Python组件
2. 流水线配置Python组件并运行。
将python组件拖拽至画板并配置相应的参数即可点击运行并监控。
运行Python组件
三、相关链接
我们希望通过πFlow技术人员和更多大数据领域的有志之士,一起将πFlow开源社区打造成国内一流的大数据处理开源社区,欢迎你的加入!
GitHub 地址: https://github.com/cas-bigdatalab/piflow
Gitee 地址: https://gitee.com/opensci/piflow
还没有评论,来说两句吧...