python 数据仓库,Python仓库管理数据库开发

  python 数据仓库,Python仓库管理数据库开发

  一般来说,数据仓库的ETL可以通过两种方式实现:ETL和ELT。ELT在装入仓库后执行数据转换。ETL在加载前完成转换,地面上的数据就是转换后的样子。

  ELT多用于基于MPP架构的数据仓库平台,如Teradata、greenplum。主要考虑的是MPP数据仓库的数据处理能力很强,加载后进行转换可以充分利用这一优势。此外,提取和加载的过程非常简单。而数据仓库厂商提供的卸载/加载命令行工具一般都具有并行处理能力,所以可以直接使用这些命令行工具来满足需求。至于转换过程,大多是通过sql查询stage区域新增的记录,然后做一些操作,最后拼sql把计算出来的数据放到另一个区域。

  如果数据仓库建立在Oracle/SQL Server数据库上,经常使用ETL,转换放在数据仓库之外,减轻数据仓库的压力。商业软件如Datastage、SSIS也用于ETL过程。

  在ELT方案中,python也可以发挥很大的作用。即使使用数据仓库厂商提供的命令行工具进行提取和加载,python仍然可以作为胶水。拼写sql,python的三个引号string和string操作超级强,很适合。

  在ETL方案中,使用python来完成流程控制自然是轻而易举的事情,所以重点是提供一个高效的基于记录行的流水线执行机制,以及如何提供高的执行效率。下面有几个不错的开源项目,值得在项目中尝试。事实上,即使没有任何额外的开源项目,用标准库做转换也很容易,因为python支持sqlite内置,所以不用再多讲了。

  基于管道的开源项目:

  (建议* * * * *)http://petl.readthedocs.org/en/latest/PETL

  http://pypi.python.org/pypi/petl

  http://pypi.python.org/pypi/petlx

  特点:项目活跃度高;文档非常好;支持多种数据源;支持迭代器(带懒加载机制);很好学。

  (推荐* * * *)http://people.cs.aau.dk/~chr/pygrametl/,http://pygrametl.org/,皮格拉梅特

  特点:完整的文档和用户示例。我看了,写了代码,代码质量很高;作者实现了几个基于维度建模思想的转换组件,支持cpython/jpython,简单易学。

  (推荐* * *)http://pyfproject.org PYF

  特点:网页,令人眼花缭乱的功能,大量使用python生成器机制,这也是基于flow的编程。很难学。

  ETL也要注意执行效率。至于python并行处理,CPython当然应该在单机上选择多处理模式,这样可以充分利用多核。同时,编程也不难。如果多个任务分布在几台机器上,我认为经过反复试验的gearman是最好的选择,不仅能提供负载平衡,还能提高可用性。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 关系型数据库与非关系型数据库简介一样吗,关系型数据库非关系型数据库有哪些
  • 关系型数据库与非关系型数据库简介一样吗,关系型数据库非关系型数据库有哪些,关系型数据库与非关系型数据库简介
  • 关于redis数据库入门详细介绍图片,redis数据库的使用,关于Redis数据库入门详细介绍
  • 使用php连接mysql数据库,php连接数据库的方法
  • 使用php连接mysql数据库,php连接数据库的方法,一文详解PHP连接MySQL数据库的三种方式
  • 什么是分库分表,为什么要进行分库分表-,分库分表的区别,数据库分库分表是什么,什么情况下需要用分库分表
  • vb中adodb连接数据库,
  • treeview控件绑定数据,wpf treeview数据绑定,详解TreeView绑定数据库
  • sql的多表查询,数据库如何实现多表查询
  • SQL数据库的图形管理界面工具是,sql图形界面创建数据库
  • SQL数据库的图形管理界面工具是,sql图形界面创建数据库,SQLServer2019 数据库的基本使用之图形化界面操作的实现
  • sql数据库定时备份怎么弄,mysql 定期备份
  • sql数据库定时备份怎么弄,mysql 定期备份,MySQL 数据库定时备份的几种方式(全面)
  • sqlserver的nvarchar和varchar,数据库varchar和nvarchar
  • sqlserver的nvarchar和varchar,数据库varchar和nvarchar,SQL中varchar和nvarchar的基本介绍及其区别
  • 留言与评论(共有 条评论)
       
    验证码: