ETL工具

作者: PeterWang2017 | 来源:发表于2017-05-25 15:41 被阅读0次

    1.Kettle

    1.多多使用获取字段按钮
    2.表输入中的数字字段(如:COUNT(1))会自动转换为小数点后一位,可以在获取变量时转为Integer,或者to_char(count(1))
    3.从表输入如果SQL中有变量,设置环境变量时需要手动获取变量
    4.读取环境变量需要和设置环境变量在不同的转换中
    5.JNDI配置在data-integration\simple-jndi\jdbc.properties中

    1.配置例子

    zzb_oracle_username/type=javax.sql.DataSource
    zzb_oracle_username/driver=oracle.jdbc.driver.OracleDriver
    zzb_oracle_username/url=jdbc:oracle:thin:@ip:port:ORCL
    zzb_oracle_username/user=username
    zzb_oracle_username/password=password
    

    6.调试转换时可以在执行时给变量赋值并调节日志级别
    7.[添加文件到结果文件中]中需点击增加才能添加文件
    8.linux上job中使用hadoop copy files下载文件到本地,通过shell执行下载不了,通过UI可以(有可能是个bug,坑了我好几天ToT)

    1.暂时可以变通使用FTP下载对象

    9.javascript的date2str格式化时HH代表24小时制hh是12小时制
    10.转换中的步骤是并行执行的(以为有箭头相连就有顺序了,细心还是好呀~)
    11.etl调用存储过程
    12.转换中的DB存储过程中指定的存储过程如果返回值是小数则类型需要指定为BigNumber,否则有可能会出现截位现象

    13.实现循环执行

    1.转换参照1
    2.作业参照2
    3.说明

    1.对于作业表输入会转换为列名,SQL脚本不可以,而转换无此限制

    14.linux安装pentaho(被日立收购了)

    1.参照1
    2.参照2

    15.关于执行SQL脚本组件

    16.关于csv导入数据库

    16.1.可以通过计算器计算生成新列

    16.1.1.计算器可以通过增加一个Set field to constant value A来设置常数,而后参见运算
    16.2.通过增加常量新增列,但值为常量
    16.3.通过switch/case筛选数据
    16.4.通过记录关联(笛卡尔输出)新增列,可以使用变量

    17.调用存储过程,传入的参数名和顺序必须和procedure一致

    18.Kettle教程

    1.Kettle手册

    19.Kettle下载链接

    1.社区版

    20.执行SQL语句中【变量替换】替换的是SQL中的?,不支持${}
    21.设置命名参数
    22.作业的sql和转换的执行sql语句如想执行以下sql需要选择将SQL脚本作为一条语句发送Execute as a single statement

    begin
        for cur in (select 'drop table '||table_name txt
                    from user_tables)
        loop
         execute immediate cur.txt;
        end loop;
    
    end;
    

    23.解决kettle去除空格类型设置不上
    24.解决kettle抽取Excel字段添加.0

    1.时间加.0可以通过设置时间格式去除

    相关文章

      网友评论

          本文标题:ETL工具

          本文链接:https://www.haomeiwen.com/subject/hjlzxxtx.html