Kiba 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
Kiba 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票

软件简介

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

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (0)

加载中
更多评论
暂无内容
发表了博客
2018/12/03 08:31

【我们一起写框架】领域驱动设计的CodeFirst框架(一)—序篇

前言 领域驱动设计,其实已经是一个很古老的概念了,但它的复杂度依旧让学习的人头疼不已。 互联网关于领域驱动的文章有很多,每一篇写的都很好,理解领域驱动设计的人都看的懂。 不过,这些文章对于那些初学者而言,还是如同天书一样。 买本驱动领域的书来看?别逗了,这可不是C#语法入门,哪里有书能写明白的。 想学会...

0
0
发表了博客
2019/04/10 10:10

一个C#开发者重温C++的心路历程

对于骂街的C++开发,我在这篇文章里统一回复了《我对C++开发人员有偏见》,请移步。 前言 这是一篇C#开发重新学习C++的体验文章。 作为一个C#开发为什么要重新学习C++呢?因为在C#在很多业务场景需要调用一些C++编写的COM组件,如果不了解C++,那么,很容易。。。注定是要被C++同事忽悠的。 我在和很多C++开发者沟通的时...

0
0
发表了博客
2018/11/12 12:52

【我们一起写框架】C#的AOP框架

原文:【我们一起写框架】C#的AOP框架 前言 AOP,大家都是听过的,它是一种面向切面的设计模式。 不过AOP虽然是被称为设计模式,但我们应该很少能看到AOP设计的框架。为什么呢? 因为,AOP单独设计的框架几乎是无法使用的。普遍的情况是,AOP要是和其他设计模式结合在一起使用。 所以,AOP虽然是设计模式,但我认为它更接...

0
0
发表了博客
2019/05/23 09:12

一个C#开发者重温C++的心路历程

前言 这是一篇C#开发重新学习C++的体验文章。 作为一个C#开发为什么要重新学习C++呢?因为在C#在很多业务场景需要调用一些C++编写的COM组件,如果不了解C++,那么,很容易。。。注定是要被C++同事忽悠的。 我在和很多C++开发者沟通的时候,发现他们都有一个非常奇怪的特点,都很爱装X,都觉得自己技术很好,还很爱瞧不起...

0
0
发表了博客
2019/10/09 09:04

C#调用OpenCV开发简易版美图工具

前言 在C#调用OpenCV其实非常简单,因为C#中有很多OPenCV的开源类库。 本文主要介绍在WPF项目中使用OpenCVSharp3-AnyCPU开源类库处理图片,下面我们先来做开发前的准备工作。 准备工作 首先,我们先创建一个WPF项目。 然后,在Nuget上搜索OpenCVSharp,如下图: 接着,我们选择OpenCVSharp3-AnyCPU选项进行安装 。 安装了...

0
0
发表了博客
2019/04/10 10:10

WPF滑块控件(Slider)的自定义样式

前言 每次开发滑块控件的样式都要花很久去读样式代码,感觉有点记不牢,所以特此备忘。 自定义滑块样式 首先创建项目,添加Slider控件。 然后获取Slider的Window样式,如下图操作。 然后弹出界面如下.我们点击确定。 点击确定后,我们的页面的Resources中,增加了一系列样式代码,而滑块代码会被修改为如下样子: <Slide...

0
0
发表了博客
2019/04/10 10:10

C#开发可播放摄像头及任意格式视频的播放器

前言 本文主要讲述,在WPF中,借助Vlc.DotNet调用VLC类库,实现视频播功能,下面我们先来做开发前的准备工作。 准备工作 首先,我们创建一个项目WpfVLC,然后,进入Neget搜索Vlc.DotNet,得到如下界面: 我们选择Vlc.DotNet.Wpf,点击安装(这里我已经安装了,所以图中显示为卸载)。 然后,我们去VLC官网,下载VLC播放器...

0
0
发表了博客
2019/04/10 10:10

详解Net Core Web Api项目与在NginX下发布

前言 本文将介绍Net Core的一些基础知识和如何NginX下发布Net Core的WebApi项目。 测试环境 操作系统:windows 10 开发工具:visual studio 2019 框架:Net Core 3 Net Core Web Api项目创建 首先创建一个Net Core Web Api项目——CorePublishForNginX。 首先选择Asp.Net Core Web应用程序,如下图: 然后修改项目名称,...

0
0
发表了博客
03/19 20:25

详解Net Core Web Api项目与在NginX下发布

https://www.cnblogs.com/kiba/archive/2020/02/25/12286225.html 前言 本文将介绍Net Core的一些基础知识和如何NginX下发布Net Core的WebApi项目。 测试环境 操作系统:windows 10 开发工具:visual studio 2019 框架:Net Core 3 Net Core Web Api项目创建 首先创建一个Net Core Web Api项目——CorePublishForNginX。...

0
0
发表了博客
03/19 20:04

详解Net Core Web Api项目与在NginX下发布

https://www.cnblogs.com/kiba/archive/2020/02/25/12286225.html 前言 本文将介绍Net Core的一些基础知识和如何NginX下发布Net Core的WebApi项目。 测试环境 操作系统:windows 10 开发工具:visual studio 2019 框架:Net Core 3 Net Core Web Api项目创建 首先创建一个Net Core Web Api项目——CorePublishForNginX。...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
0 评论
4 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部