大数据学习第七天(kettle数据采集)

知识点1:kettle的介绍

  1. 数据库和数据仓库的认识:

数据库: mysql 对于数据进行增删改查操作,一般都是业务数据库

  • 需要数据高速处理,及时响应

  • 对数据的安全性有极高的要求

  • 数据内容,数据形式比较单一.

  • 数据库一般是app或者用户通过接口访问.

数据仓库: 一般是用于数据分析的数据集中平台

  • 将多重数据源(业务数据库, 日志信息, 备份文件,爬虫文件,问卷调查等)的数据集中存放在数据仓库中,便于分析统计

  • 数据仓库更加重视的是数据的吞吐量.对及时响应和高效读写没有太高的要求.

  • 数据仓库一般是数据业务人员使用

注意: 目前我们还没有学习常用的数据仓库,暂时先用mysql代替,真正开发中我们会存储在hive数仓或者其他数据仓库类软件中.

  1. 什么是ETL:

E: extract 抽取数据

  • 从多种不同的数据源中抽取数据(从不同数据源中抽取数据的方式不一样)

T: transform 转换数据

  • 数据处理 : 数据的拆分, 合并,单位统一.统一逻辑等

  • 数据清洗 : 处理异常值,缺失值,重复值 (不破坏数据的客观规律)

L: load 数据加载

  • 一般是将数据加载到数据仓库中,但是也可以加载到备份文件或者日志记录中.

  • 在开发中,重要的数据信息,我们通常会保存不止一份(数据仓库存储+文件备份)

知识点2:Windows安装Kettle

安装kettle 之前必须先安装jdk

jdk : java 开发工具包 (java开发环境)

jre : java 运行时环境 (java运行环境)

jvm : java 虚拟机环境 (java跨平台基础)

为什么市面上使用jdk8的应用居多????

  1. 我们在开发中使用的jdk8 和 jdk1.8 其实是一个版本,只不过编号规则不一样.

  2. jdk的版本不是每一个都会长期维护, LTS版本(长期维护版本) jdk 6 jdk 8 jdk 11 jdk 17

  3. jdk 17 22 年才推出, 没有经过市场验证不敢随便用

  4. jdk 11 在2023年统计已经占有市场超过40%

  5. jdk 8 还在持续使用 , 足够稳定, 而且老旧项目还在使用, 但是已经于2019年停止维护, 所以新项目在逐渐向jdk11迁移.

  6. 已经使用jdk8开发的老旧项目一般不会更换新版本, 重构维护成本过高.

安装过程:

  1. 安装jdk8, 存放到指定位置即可,但是务必要能够找到该软件

  2. 找到java.exe文件的文件路径,并复制该文件路径

  1. 添加环境变量,在搜索栏中搜索"环境变量", 点击下方查询结果打开系统环境变量

  1. 点击环境变量进入编辑界面

  1. 点击编辑系统环境变量 >> 新建 >> 输入变量信息后点击确定

  1. 双击Path添加新的环境变量%JAVA_HOME%bin\,点击确定,保存环境变量修改内容.

  1. 验证环境变量的添加

  • 在搜索栏输入cmd ,点击命令提示符

  • 在终端窗口输入java -version如果能够输出版本信息,则java环境变量配置成功

  1. 将kettle压缩包解压后 点击spoon.bat 即可开启kettle

  1. 打开后状态

目前最常用的ETL工具:

  • flume

  • sqoop

  • datax

知识点3:将txt文件抽取到excel中

1、双击转换, 创建转换标签

也可以点击文件 >>> 新建 >>> 转换

也可以使用ctrl +n快速创建

2、从输入输出对象中拖拽 文本文件输入和excel输出到操作区域

3、点击shift从文本文件输入拖转一个箭头到excel输出

4、设置文本文件输入内容

        4.1双击进入文本文件输入编辑, 点击浏览,选择我们要作为输入源的文本文件

         4.2点击增加,将文件路径,加载到选中的文件中

        4.3修改内容中的分隔符和编码格式

        4.4选择字段, 点击获取字段,查看字段的类型和格式

        4.5获取 字段信息后, 点击预览记录, 如果出现与预期不符的数据类型或格式,在上方字段处修            改后,重新预览

        4.5获取 字段信息后, 点击预览记录, 如果出现与预期不符的数据类型或格式,在上方字段处修            改后,重新预览

        4.6点击确定, 完成文本文件对象编辑

5、设置excel输出内容

        5.1双击进入excel输出编辑.点击浏览, 选择excel输出位置,编辑输出文件名,点击保存

        5.2 删掉扩展名信息

        5.3选择格式, 设置输出excel的样式

        5.4选择字段,点击获取字段,查看字段与预期格式和数据类型是否匹配,不匹配则在字段内容中          修改,修改后点击确定

6、保存本次转换脚本

7、点击运行按钮, 然后启动脚本

8、查看输出文件,  发现格式不正确

 例如: id 存在小数位, age也存在小数位, 生日存在时间点.

9、回到excel输出位置,修改输出字段格式

   > `#` 代表以字符串形式输出
   > 0 代表数字仅保留整数部分
   > 0.00 代表保留两位小数
   > yyyy-MM-dd  年-月-日格式
   > yyyy-MM-dd HH:mm:ss  年-月-日 时:分:秒 格式  

10、重新保存并执行脚本, 查看最终输出结果,发现结果已经正常显示

知识点4:将excel表数据抽取到表中

准备工作:

如果我们需要将数据从excel中使用kettle抽取到mysql中, 需要先在mysql中创建对应的数据库

因为 **kettle不支持创建数据库, 但是可以创建数据表.**

drop database if exists kettle_demo;
create database kettle_demo charset = 'utf8';

操作流程

1、创建一个新的转化脚本, 在kettle中使用ctrl _ n 快速创建

2、从核心对象中, 将excel输入对象, 和表输出对象拖拽到操作区

3、按住shift从Excel将箭头拖拽到表输出位置, 指定数据的流转方向

4、编辑excel输入内容

        4.1双击打开excel输入编辑界面, 点击浏览找到要加载的excel数据,选择成功后点击增加

        4.2选择工作表标签, 获取工作表名称, 选择需要的工作表移动到右侧,点击确定

        4.3点击获取来自头部数据的字段, 点击预览记录, 查看输出内容时,发现数据格式不正确.

        4.4修改数据格式后,点击确定

5、编辑表输出内容

        5.1双击打开表述出编辑界面, 点击新建, 编辑数据库连接信息,测试连接成功后点击确定.

此时不一定会成功, 失败原因有两个

        1)服务器没有开启, 在连接数据库之前,确保node1是开启状态.

        2)没有放置mysql连接驱动

上述驱动包,放置在 安装目录的lib文件夹下即可

        5.2书写目标表名称, 点击下方sql按钮,修改建表语句中的字段类型, 点击执行成功后,确定,完成          编辑.

此时数据表已经被创建

6、保存脚本数据

7、执行脚本查看最终结果

8、如果我们出现了中文问号问题,就要在mysql连接信息中增加一个键值对

characterEncoding = utf8

9、增加选项后,重新保存并执行脚本即可

努力做最好的自己

  • 28
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值