Ruby 的 ETL 框架 Kiba

码农软件 · 软件分类 · ETL工具框架 · 2020-02-15 09:59:30

软件介绍

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

本文地址:https://www.codercto.com/soft/d/25652.html

引力

引力

保罗·X.麦卡锡 / 王正林 / 中信出版社 / 2018-3-1 / CNY 59.00

作者在书中提出一个全新的概念“网络引力”。我们全都受网络引力的影响,这种强大的力量正推动着数字经济前行。网络引力催生了像行星那样巨大的公司,它们以闪电般的速度击垮竞争对手,并且正在改变着商业、工作和娱乐休闲的面貌。作者在向读者展示这种令人震惊的现象的同时,还介绍了一系列独特的规则及其巨大力量,我们可以充分利用它们来创造属于自己的成功。这是在日益数字化的世界中为你赢得美好未来的一部理性指南,是一部互......一起来看看 《引力》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

在线进制转换器
在线进制转换器

各进制数互转换器

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码