`

kettle迁移创建表和表数据

阅读更多

public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException
 {
     // First, get a row from the default input hop
  //
  Object[] r = getRow();

  String databasesXML =
         "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
         "<connection>" +
           "<name>kettle</name>" +
           "<server>127.0.0.1</server>" +
           "<type>Oracle</type>" +
           "<access>Native</access>" +
           "<database>orcl</database>" +
           "<port>1521</port>" +
           "<username>kscenter20151207</username>" +
           "<password>kscenter</password>" +
         "</connection>";
  org.pentaho.di.core.database.DatabaseMeta dbmeta = new org.pentaho.di.core.database.DatabaseMeta(databasesXML);;

  if(dbmeta!=null)
  {
   org.pentaho.di.core.database.Database db=new org.pentaho.di.core.database.Database(dbmeta);
   
   try
   {
    db.connect();

    String tablename = getVariable("TABLENAME");

    logBasic("开始创建表:" + tablename);
    
    if(tablename!=null && tablename.trim().length()>0)
    {
     org.pentaho.di.core.row.RowMetaInterface outputRowMeta = getInputRowMeta().clone();
     logBasic("row:"+outputRowMeta);
     String sql = db.getDDL(tablename, data.inputRowMeta);//${TABLENAME}
     //String sql = db.getDDL(tablename, outputRowMeta);//${TABLENAME}
     db.execStatement(sql.replace(";", ""));

     logBasic(sql);
    }
   }
   catch(Exception e)
   {   
    logError("创建表出现异常",e);
    
   }finally{
    db.disconnect();
   }
  }
  return false;
 }

分享到:
评论

相关推荐

    kettle迁移示例

    在这个"Kettle迁移示例"中,我们将探讨如何利用Kettle从MySQL数据库中的表迁移数据到Oracle数据库中。这涉及到多个步骤,包括数据源连接、数据抽取、数据转换以及目标数据库的数据加载。 1. **数据源连接**:在...

    kettle全量多表数据同步

    1. **创建数据源**: 在Kettle Spoon中创建一个新的转换,并添加Oracle数据库连接作为数据源。 2. **添加核心对象**: - **获取表名字**: 使用“获取表”步骤获取指定模式下的所有表名。 - **复制记录到结果**: 使用...

    Kettle实现多表数据全量抽取

    【标题】"Kettle实现多表数据全量抽取"涉及的主要知识点是Kettle(Pentaho Data Integration,简称...以上就是基于给定信息的Kettle多表数据全量抽取的相关知识点,这些知识对于理解和实施数据仓库的维护策略至关重要。

    kettle工具——用于数据迁移等

    1. **图形化工作流设计**:Kettle提供了一个名为Spoon的可视化开发环境,用户可以通过拖拽方式创建、配置和连接各种数据转换步骤,使得复杂的ETL流程设计变得简单直观。 2. **广泛的数据源支持**:Kettle支持多种...

    kettle循环抽取表数据.zip

    标题中的“kettle循环抽取表数据”指的是使用Kettle(也称为Pentaho Data Integration,简称PDI)工具进行的一种数据处理方式。Kettle是一款强大的ETL(提取、转换、加载)工具,常用于大数据环境下的数据整合。在这...

    Kettle迁移数据库的示例

    Kettle,也称为Pentaho Data Integration(PDI),是一款强大的ETL(Extract, Transform, Load)工具,常用于数据整合、数据清洗和数据库迁移等任务。本示例将详细介绍如何利用Kettle来实现整套数据库的迁移操作。 ...

    数据迁移kettle

    Kettle(也称为Pentaho Data Integration,简称PDI)是一个强大的ETL(提取、转换、加载)工具,用于处理各种数据迁移和整合任务。在本实例中,我们将探讨如何使用Kettle进行数据迁移,特别是针对MySQL数据库的操作...

    使用kettle实现多表数据全量抽取.rar

    描述中提到的前提是“两边表结构一模一样”,这意味着源数据库和目标数据库中的对应表应该具有相同的字段名、字段类型和顺序,这样可以直接进行数据迁移。同时,"维护的话请注意月度里面的readMe.md文件"提示我们,...

    kettle7.0下实现数据库迁移

    - **设计数据抽取**:使用Kettle的"Table Input"步骤读取Oracle中的表,然后通过"Select Values"进行数据选择和过滤。 - **数据转换**:根据需求,可能需要利用Kettle的转换步骤(如"Filter Rows"、"Join Rows"、...

    kettle数据迁移工具使用文档介绍

    ### Kettle 数据迁移工具使用详解 #### 一、Kettle 概述 Kettle 是一款功能强大的开源 ETL(Extract, Transform, Load)工具,它采用纯 Java 编写,支持在 Windows、Linux 和 Unix 等多种操作系统上运行。Kettle ...

    kettle同步数据库所有的表数据到其他库.rar

    Kettle,全称为Pentaho Data Integration(PDI),是一款强大的ETL(Extract, Transform, Load)工具,常用于数据整合、数据清洗和数据迁移等任务。本示例中的"Kettle同步数据库所有的表数据到其他库.rar"是一个具体...

    kettle数据迁移操作文档

    ### Kettle 数据迁移操作文档详解 #### 工具版本与环境 本文档旨在介绍如何使用 Kettle (Spoon 4.1.0 版本) 进行数据迁移操作,适用于从 Oracle 数据库向 SQL Server 数据库进行数据迁移的任务。 #### 建立资源库 ...

    kettle实现数据库迁移

    Kettle的“创建表”步骤允许我们根据源表的结构定义新表,包括字段名、数据类型、长度、精度等。也可以使用“修改数据库表”步骤来调整已存在的目标表结构,以确保与源表匹配。 4. **抽取表数据**:数据迁移的核心...

    Kettle生成1亿条数据导入oracle

    在这个案例中,它可能是负责整个流程调度和监控的部分,确保生成数据和导入数据库的操作按照预定的时间和顺序执行。 - "生成亿级随机数据.ktr":这是Kettle的转换文件(Transformation),直接执行数据生成的任务。...

    使用kettle转换oracle与 mysql的表数据

    Kettle,又称为Pentaho Data Integration(PDI),是一个强大的ETL(提取、转换、加载)工具,能够有效地处理不同数据源之间的数据迁移和转换。在这个场景中,我们将探讨如何使用Kettle来实现Oracle数据库与MySQL...

    kettle批量导出mysql建表语句

    在这个场景中,“kettle批量导出mysql建表语句”是一个关于如何使用Kettle来自动化地从MySQL数据库中提取建表语句,包括数据表和视图的创建语句,以便于备份或在其他环境中重建相同结构的过程。 首先,我们需要了解...

    kettle数据抽取

    在配置数据环境时,需要创建表和插入数据。例如,在 Oracle 中,创建了一个名为 userInfo 的表,具有三个字段:id、name 和 age。在 MySql 中,创建了一个名为 login 的表,具有四个字段:id、realname、username 和...

    kettle 从oracle数据库导数据到hive 表

    1. **新建转换**:在 Kettle 中创建一个新的转换,用于从 Oracle 数据库抽取数据至 Hive 表。 - **配置 Hadoop 连接**:指定 Hadoop 集群的主机名(例如:192.168.0.180)、Hive 数据库名称(例如:jykj)、端口号...

    kettle之gbase8s数据迁移

    ### Kettle之GBase8s数据迁移详解 #### Kettle简介与安装启动 Kettle是一款开源的数据集成工具,主要用于ETL(Extract-Transform-Load)操作,即数据抽取、转换和加载过程。Kettle提供了丰富的插件支持多种数据源...

    用Kettle的一套流程完成对整个数据库迁移

    使用kettle重复的画着:表输入-表输出、创建表,很烦恼。 实现了一套通用的数据库迁移流程。 做一个批量抽取的job

Global site tag (gtag.js) - Google Analytics