zoukankan      html  css  js  c++  java
  • 大数据技术暑期实习二___Kettle技术认识及简单案例操作

    知识结构图:

    kettle是一款开源的ETL(extract抽取、transform转换、load加载)工具,纯java编写,可以在Windows、Linux、Unix上运行,绿色无需安装,图形化界面拖拽操作,数据抽取高效稳定。

    在公司中对公司数据库直接进行改动是大忌,所以需要将数据拷贝一份,ETL工具由此诞生,由于kettle开源,相比高额的付费软件,很划算。

    Kettle以xml形式或资源库方式存储,有两种设计:Transformation(转换)——完成针对数据的基础转换;Job(作业)——完成整个工作流的控制。其中作业是步骤流,转换是数据流。

    Kettle有三个主要组件:

    Spoon(勺子):图形化界面,windows选择.bat,linux选择.sh。

    Kitchen(厨房):利用kitchen命令可以用命令行调用Job。

    Pan(锅):利用pan可以用命令行的形式调用Trans。

    另外,Carter(菜单)是一个轻量级的web容器,用于建立专用、远程的ETL server。

    Windows下kettle的安装使用

    一、安装

    1.概述

    在实际企业开发中,都是在本地环境下进行kettle的Job和Transformation开发,可以在本地运行,也可以连接远程机器运行。

    2.安装jdk

    不再赘述(kettle要在java环境中运行)

    3.下载解压kettle

    kettle为绿色软件,可下载后直接解压到本地任意路径,即可用。下载地址

    4.数据库安装

    不再赘述,以mysql为例(强烈建议大家数据库版本不要追新,由于版本问题在其他软件的协同工作时会出很多问题,目前稳定版本mysql5.6  5.7就可以了。)

    5.启动

    找到spoon.bat文件,打开,第一次开启时间略长

    (文件中有.sh和.bat文件,Linux下使用.sh文件,windows下用.bat文件)

    二、案例

    案例一

    把stu1的数据按id同步到stu2,stu2有相同id则更新数据

    在mysql中创建两张表

    1.打开 作业

    2.在mysql中创建两张表并插入一些数据

    mysql>
    create database kettle;
    
    use kettle;
    
    create table stu1 (id int ,name varchar(20),age int);
    
    create table stu2 (id int ,name varchar(20));
    
    insert  into stu1  values (1001,'bajie',20),(1002,'shaseng',18),(1003,'sanzang',23);
    
    insert into stu2 values (1001,'wukong');

     

       

    3.kettle操作

       

         

     

    Kettle连接数据库时,总是连接失败,原因是mysql版本太高


    解决博客:https://blog.csdn.net/weixin_40818105/article/details/86248915
     

     

     连接成功过后,输入sql语句,点击预览查看。

    打开插入/更新,在目标表预览处选择stu2,然后获取字段

    由于stu1stu2通过id关联,故删除另2个字段,然后点击编辑映射,编辑2个表之间的映射

     

    更新处,修改id的属性为n,确定

    保存运行,到数据库中查看结果。

  • 相关阅读:
    Apex API 请求
    Apex 的 API 简介
    Salesforce 自定义元数据类型
    Apex 中 DML 进阶知识小结
    深度学习中的Attention机制
    从FM推演各深度CTR预估模型(附代码)
    深入浅出Word2Vector原理解析
    GBDT算法用于分类问题
    特征交叉
    方差膨胀因子VIF
  • 原文地址:https://www.cnblogs.com/wjwjs/p/11459513.html
Copyright © 2011-2022 走看看