python的extract transform load(etl)工具包

rdc.etl的Python项目详细描述


rdc.etl是Python2.7+的提取转换加载(ETL)工具包(否 python 3支持)。它提供了创建复杂数据所需的所有工具 来自简单的原子IO连接转换块的集成作业。

Build Status

文档

Full documentation for rdc.etl on ReadTheDocs

这是一个正在进行的工作,1.0API可能会更改,直到1.0发布。

示例用法

>>># Sample data extract transformation.>>># Use hardcoded data here for sample purpose.>>>fromrdc.etl.transform.extractimportExtract>>>@Extract...defsample_extract():...yield{'first_name':'John','last_name':'Doe',}...yield{'first_name':'Jane','last_name':'Dae',}
>>># Sample data transformation.>>>fromrdc.etl.transformimportTransform>>>@Transform...defsample_transform(hash,channel):...hash['last_name']=hash['last_name'].upper()...hash['initials']='{0}.{1}.'.format(hash['first_name'][0],hash['last_name'][0]).upper()...yieldhash
>>># Sample load. This is only a screen log for sample purpose.>>>fromrdc.etl.transform.utilimportLog>>>sample_load_to_screen=Log()
>>># Tie everything together, then run!>>>fromrdc.etl.harness.threadedimportThreadedHarness>>>job=ThreadedHarness()>>>job.add_chain(sample_extract,sample_transform,sample_load_to_screen)>>>job()

运行测试套件

pip install nose
make test

发行说明

1.0.0a6

  • 数据库转换:现在出现在rdc.etl.extra子包中,以避免 混合核心API和糖盒。
  • 数据库转换:允许(插入/更新)更灵活。
  • 更好的标准遵从性(感谢python)
  • 为了简单起见,马具现在被称为工作。旧名也将保留(公元前)。
  • xmlmap增强。
  • http状态接口(早期的极简版本)。
  • 更改示例名称以避免导入地狱。
  • 更少的黑客http阅读器,更好的unicode支持(@jmorel)。
  • 现在可以使用pastescript生成一个空的工作etl项目。
  • 基于文件代理的下载管理器。
  • 小修小修。

1.0.0a5

  • 状态:控制台现在有令人惊奇的ANSI,详细的IO统计信息,总体统计信息 (内存,时间)添加,实验http状态,数据库加载的db stats。
  • API稳定化、清理和简化为1.0.0。
  • 键盘操作中断:CTRL—C将退出正在运行的作业 而不是让你的程序过时。
  • 地图简化。
  • 对各种转换类的增强:load.database.databaseload, filter.filter,map.xml.xmlmap,util.log,join.database.databasejoin
  • 新转换:util.limit
  • 各种错误修复。
  • 小的改进:在转换中自定义名称,更多的测试。
  • 将存储库移动到github.com/rdcli/etl。

贡献

我是罗曼·多尔盖尔。

rdc.etlGitHub上。

通过Github或其他方式联系,如果你有什么要贡献的, 非常欢迎!

如果你非常感激,或者想支持这个项目,你可以给小费 我在Gittip上。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java是安卓的子类。所容纳之物ClipData或ClipData。项目   毕加索中的java错误get()无法应用于(安卓.content.Context)   管道接受来自控制台和管道文本文件的Java输入   Java Windows文件权限   java如何在Selenium中找到此按钮?我尝试了partiallinktext并多次尝试cssSelector   java如何在spring jdbc模板中生成流式sql?   方法中的java全局值变为null   java设备“Mobile Intel(R)4 Series Express芯片组系列”(\\.\DISPLAY1)初始化失败:   java查找单独文件夹中的资源到类文件   java iCal4j添加会议说明   java如何处理InvalidTokenException?   oop如果Java不支持运算符重载,增量运算符如何在整数实例上工作?   java如何在Hibernate中获取<map>