制作管道或ETL的简单库
pypelines-etl的Python项目详细描述
Pypelines ETL公司
制作管道或ETL的简单库
安装
$ pip install pypelines-etl
使用
pypelines
允许您构建ETL管道。为此,你只需要
一个Extractor
,一些Transformer
或{Loader
的组合。在
抽取器
制作提取器相当容易。简单地装饰一个返回的函数
带有Extractor
的数据:
变压器或滤波器
Transformer
和{
制作Transformer
或Filter
更容易:
importpandasfrompypelinesimportFilter,Transformer@Filterdefkeep_setosa(df:pandas.DataFrame)->pandas.DataFrame:returndf[df['class']=='Iris-setosa']@Filterdefkeep_petal_length(df:pandas.DataFrame)->pandas.Series:returndf['petallength']@Transformerdefmean(series:pandas.Series)->float:returnseries.mean()
注意,可以将Transformer
和{
new_transformer=keep_setosa|keep_petal_length|meanpipeline=read_iris_dataset('filepath.csv')|new_transformerprint(pipeline.value)# 1.464
装载机
为了构建Loader
,只需修饰一个接受at的函数就足够了
至少一个data
参数。在
importjsonfrompypelinesimportLoader@Loaderdefwrite_to_json(output_filepath:str,data:float)->None:withopen(output_filepath,'w')asfile:json.dump({'mean-petal-lenght':{'value':data,'units':'cm'}},file)
调用Loader
时不需要data
参数,
它加载参数(如URL或路径)。例如,调用write_to_json(output.json)
将不执行函数,但在管道中存储output_filepath
参数,直到Loader
执行为止。
但是,函数的标准执行(带有data
参数)仍然可用write_to_json(output.json, data=1.464)
。在
ETL管道
要创建并运行管道,只需将Extractor
与Transformer
、Filter
和{
read_iris_dataset('filepath.csv')|keep_setosa|keep_petal_length|mean|write_to_json('output.json')
- 项目
标签: