- 授权协议: LGPL
- 开发语言: Ruby
- 操作系统: 跨平台
- 软件首页: http://www.kiba-etl.org/
- 软件文档: https://github.com/thbar/kiba
软件介绍
Kiba 是一个轻量级的 Ruby 的 ETL 框架。
作业定义 xxx.etl:
# declare a ruby method here, for quick reusable logic def parse_french_date(date) Date.strptime(date, '%d/%m/%Y') end # or better, include a ruby file which loads reusable assets # eg: commonly used sources / destinations / transforms, under unit-test require_relative 'common' # declare a pre-processor: a block called before the first row is read pre_process do # do something end # declare a source where to take data from (you implement it - see notes below) source MyCsvSource, 'input.csv' # declare a row transform to process a given field transform do |row| row[:birth_date] = parse_french_date(row[:birth_date]) # return to keep in the pipeline row end # declare another row transform, dismissing rows conditionally by returning nil transform do |row| row[:birth_date].year < 2000 ? row : nil end # declare a row transform as a class, which can be tested properly transform ComplianceCheckTransform, eula: 2015 # before declaring a definition, maybe you'll want to retrieve credentials config = YAML.load(IO.read('config.yml')) # declare a destination - like source, you implement it (see below) destination MyDatabaseDestination, config['my_database'] # declare a post-processor: a block called after all rows are successfully processed post_process do # do something end
执行作业:bundle exec kiba my-data-processing-script.etl
无懈可击的Web设计
【美】Dan Cederholm / 马跃 / 清华大学出版社 / 2012-5 / 39.00元
本书将指导您采用标准设计策略来满足以各种方式浏览网页的各类用户的需要。每章首先列举一个沿用传统HTML技术的实例,然后指出该实例的局限性,并利用XHTML和CSS对其进行重构。从中您将学会如何用简洁高效的HTML标记和CSS来取代臃肿的代码,从而创建加载速度极快、能供所有用户使用的网站。本书最后将前面各章讨论的所有页面组件珠联璧合地结合在一起,制作了一个页面模板。这一版全面润色和更新了上一版本,介......一起来看看 《无懈可击的Web设计》 这本书的介绍吧!