kettle-数据源配置化-开发、生产采用不同配置

数据etl常用工具kettle。

1、说明:

kettle-数据源配置化:是指kettle的数据源连接信息全部或者部分从配置文件中读取(如果是数据库的资源库,那么资源库也可以配置化)。

2、优点:

1、这样程序本身就和kettle的业务解绑了,开发、生产采用不同配置;每次开发完成就可以直接导入线上,再也不用手动去修改连接信息(少改少错,不改就不错)。

2、可以对开发人员保密线上的连接信息,保证数据安全。

在开发和部署的时候不用再关心线上、开发、测试环境的数据源不一样,每次上线需要手动修改的麻烦。

3、资源库的方式有2种:

(1)、文件方式。方便迁移、分布式环境下需要自己解决文件同步。

(2)、数据库方式。会有数据库锁的问题。不用维护文件同步问题。集群部署支持好。

(3)、读取配置文件的方式,对上面2中资源库类型都是支持的,没有影响。

                          数据库方式的资源库中的数据源连接信息,也可以从配置文件读取(共享的数据源、非共享的数据源都可以)。

4、kettle配置文件的位置:

windows 默认在:C:\Users\用户\.kettle

linux 默认在:/root/.kettle/

5、配置文件:

下图是kettle的三个核心配置文件。依次是配置信息文件、资源库配置文件、共享数据源配置文件

6、我们在kettle界面上看看具体的配置是怎么样的

(1)、资源库的连接信息:从配置文件中读取

(2)、数据源的连接信息:从配置文件中读取

(3)、hadoop的连接信息:从配置文件中读取

7、下面分别看一下三个文件的内容

(1)、配置信息文件

这里特别说明:配置好之后,线上、线下只有这个配置文件的内容不一样。其他配置都是一样的。这样在开发好之后可以直接导入线上。连数据源、资源库的连接名都不用改。

(2)、资源库配置文件

(3)、共享数据源配置文件

如果没有配置共享数据源,则这个文件是空的,如果有,跟上图的连接信息类似。

原文地址:https://www.cnblogs.com/double-kill/p/8213894.html

时间: 2024-10-16 14:49:24

kettle-数据源配置化-开发、生产采用不同配置的相关文章

.Net下实现配置化调用JAVA开发的WebService

各个系统之间进行数据交互是重要的部分,WebService是一个平台独立的,低耦合的,自包含的.基于可编程的web的应用程序,使用较为方便,闲话少说,正式进入到关于在.Net中调用java开发的接口. 目前JAVA开发WebService的方式很很多种:Axis2.CXF.xfire等等,但是在.Net中调用这些接口无法实现配置IP的形式进行替换调用服务,那这个问题该如何解决? 笔者测试发现相同框架开发的接口是可以进行配置URL来改变调用接口,前提是需要对JAVA基于不同框架的接口进行引用,在V

一个十分简单的、关于生产环境和开发环境的webpack配置

关于这个开发环境和生产环境的配置代码,之所有要分开是因为他们有些代码相同,有的又不同. 例如:开发模式下需要启动本地服务器,需要热重载,而生产模式不需要这些需要代码压缩.DefinePlugin等. 我们都是将两种环境都用用到的提取出来,放在一个公共.js文件.然后在相应的环境配置中使用  webpack-merge  将公共js合并进来. 我所了解到的配置思路,有两种: 方法一: 使用webpack-dev-server配置开发环境(这个简洁一些): 方法二: 使用webpack-dev-mi

采用sqlserver的缺省配置,在生产环境经常碰到系统响应慢(甚至hung的情况)

请重视并正确配置sqlserver实例及数据库的参数,一般化的配置推荐如下: 1.数据和日志文件的初始大小分别设置为10G和2G,均设置为按照固定200M大小增长,不限制最大值: 2.sever实例设置最大并行度为1(最大不要超过4),或并行的开销阈值为20:   没有更改sqlserver的缺省配置,在生产环境经常碰到系统响应慢(甚至hung的情况),日志扩展与并行计算引起线程交互的等待事件如下:

Asp.Net MVC 插件化开发简化方案

Web 管理系统可以庞大到不可想像的地方,如果想就在一个 Asp.Net MVC 项目中完成开发,这个工程将会变得非常庞大,协作起来也会比较困难.为了解决这个问题,Asp.Net MVC 引入了 Areas 的概念,将模块划分到 Area 中去--然而 Area 仍然是主项目的一部分,多人协作的时候仍然很容易造成 .csproj 项目文件的冲突. 对于这类系统,比较好的解决办法是采用 SOA 的方式,把一个大的 Web 系统划分成若干微服务,通过一个含授权中心的 Web 集散框架组织起来.不过这

自定义数据源是报表开发的常态

报表项目中,大部分报表经过简单的设计.制作即可完成.但是,总有一部分复杂报表需要自定义数据集才能实现.自定义数据集是指报表的数据源不能通过简单SQL实现,需要用报表工具提供的API,调用项目组人员开发的程序来实现.这部分报表数量不多,但是编程.调试工作量较大,在整个项目中占用的时间反而更长. 那么为什么自定义数据集会成为报表项目的常态,会在每个项目中出现呢?如果是一定会出现,有没有更加高效的开发工具,让自定义数据集更容易实现呢? 我们知道,报表是由两部分组成的:数据计算和报表呈现.自定义报表出现

【组件化开发】前端进阶篇之如何编写可维护可升级的代码

前言 我还在携程的做业务的时候,每个看似简单的移动页面背后往往会隐藏5个以上的数据请求,其中最过复杂的当属机票与酒店的订单填写业务代码 这里先看看比较“简单”的机票代码: 然后看看稍微复杂的酒店业务逻辑: 机票一个页面的代码量达到了5000行代码,而酒店的代码竟然超过了8000行,这里还不包括模板(html)文件!!! 然后初略看了机票的代码,就该页面可能发生的接口请求有19个之多!!!而酒店的的交互DOM事件基本多到了令人发指的地步: 当然,机票团队的交互DOM事件已经多到了我笔记本不能截图了

【转】Web应用的组件化开发(二)

原文转自:http://blog.jobbole.com/56170/ 管控平台 在上一篇中我们提到了组件化的大致思路,这一篇主要讲述在这么做之后,我们需要哪些外围手段去管控整个开发过程.从各种角度看,面对较大规模前端开发团队,都有必要建立这么一个开发阶段的协作平台. 在这个平台上,我们要做哪些事情呢? 1. HTML片段 我们为什么要管理HTML片段?因为有界面要用它们,当这些片段多了之后,需要有个地方来管理起来,可以检索.预览它们,还能看到大致描述. 这应该是整个环节中一个相对很简单的东西,

SpringBoot系列四:SpringBoot开发(改变环境属性、读取资源文件、Bean 配置、模版渲染、profile 配置)

1.概念 SpringBoot 开发深入 2.具体内容 在之前已经基本上了解了整个 SpringBoot 运行机制,但是也需要清楚的认识到以下的问题,在实际的项目开发之中,尤其是 Java 的 MVC 版项目里面,所有的项目都一定需要满足于如下几点要求: · 访问的端口不能够是 8080,应该使用默认的 80 端口: · 在项目之中为了方便进行数据的维护,建议建立一系列的*.properties 配置文件,例如:提示消息.跳转路径: · 所有的控制器现在都采用了 Rest 风格输出,但是正常来讲

Android项目模块化/组件化开发(非原创)

文章大纲 一.项目模块化初步介绍二.项目模块化的两种模式与比较三.大型项目模块化的演进四.项目模块化总结五.参考文章 一.项目模块化初步介绍 1. 前言 在Android开发中,随着项目的不断扩展,项目会变得越来越庞大,而随之带来的便是项目维护成本与开发成本的增加!每次调试时,不得不运行整个项目:每当有新成员加入团队时,需要更多的时间去了解庞大的项目...而为了解决这些问题,团队通常会将项目模块化,以此来降低项目的复杂度和耦合度,让团队可以并行开发与测试,让团队成员更加专注于自己所负责的功能模块