数据抽取工具 kettle使用案例(二)

223 阅读1分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第7天,点击查看活动详情

Hive-HDFS案例

案例三:将hive表的数据输出到hdfs

(1)因为涉及到hive和hbase的读写,需要先修改相关配置文件。

修改kettle安装目录下的data-integration\plugins\pentaho-big-data-plugin下的plugin.properties,设置active.hadoop.configuration=hdp26,并将如下配置文件拷贝到data-integration\plugins\pentaho-big-data-plugin\hadoop-configurations\hdp26下

image.png

(2)启动hdfs,yarn,zookeeper,hbase集群的所有进程,启动hiveserver2服务

[root@hadoop102 ~]$ hadoop.sh start    //自己写的hadoop启动脚本

[root@hadoop102 ~]$ zk.sh start //自己写的zookeeper启动脚本

[root@hadoop102 ~]$ /opt/module/hbase-1.3.1/bin/start-hbase.sh

[root@hadoop102 ~]$ /opt/module/hive/bin/hiveserver2

(3)进入beeline,查看10000端口开启情况

[root@hadoop102 ~]$ /opt/module/hive/bin/beeline

Beeline version 1.2.1 by Apache Hive

beeline> !connect jdbc:hive2://hadoop102:10000(回车)

Connecting to jdbc:hive2://hadoop102:10000

Enter username for jdbc:hive2://hadoop102:10000: atguigu(输入atguigu)

Enter password for jdbc:hive2://hadoop102:10000:(直接回车)

Connected to: Apache Hive (version 1.2.1)

Driver: Hive JDBC (version 1.2.1)

Transaction isolation: TRANSACTION_REPEATABLE_READ

0: jdbc:hive2://hadoop102:10000>(到了这里说明成功开启10000端口)

(4)创建两张表dept和emp

CREATE TABLE dept(deptno int, dname string,loc string)

ROW FORMAT DELIMITED

FIELDS TERMINATED BY '\t';
 

CREATE TABLE emp(

empno int,

ename string,

job string,

mgr int,

hiredate string,

sal double,

comm int,

deptno int)

ROW FORMAT DELIMITED

FIELDS TERMINATED BY '\t';

(5)插入数据

insert into dept values(10,'accounting','NEW YORK'),(20,'RESEARCH','DALLAS'),(30,'SALES','CHICAGO'),(40,'OPERATIONS','BOSTON');

 

insert into emp values

(7369,'SMITH','CLERK',7902,'1980-12-17',800,NULL,20),

(7499,'ALLEN','SALESMAN',7698,'1980-12-17',1600,300,30),

(7521,'WARD','SALESMAN',7698,'1980-12-17',1250,500,30),

(7566,'JONES','MANAGER',7839,'1980-12-17',2975,NULL,20);

(6)按下图建立流程图

image.png (7)设置表输入,连接hive

image.png

image.png (8)设置排序属性

image.png (9)设置连接属性

image.png (10)设置字段选择

image.png (11)设置文件输出,点击浏览按钮

image.png 选择存储路径为HDFS,并且新建一个Hadoop Cluster连接

image.png 按照集群配置输入对应的参数

image.png 选择创建好的大数据集群连接

image.png 然后再依次设置文本文件输出控件的文件,内容,字段三个设置页,注意一定要获取字段。

image.png

image.png

image.png (12)保存并运行转换,然后查看hdfs

image.png

HDFS-Hbase案例

案例四:读取hdfs文件并将sal大于1000的数据保存到hbase中

(1) 在HBase中创建一张表用于存放数据

[root@hadoop102 ~]$ /opt/module/hbase-1.3.1/bin/hbase shell

hbase(main):004:0> create 'people','info'

(2)按下图建立流程图

image.png (3)设置文件输入,连接hdfs

image.png

image.png 注意千万别忘记获取字段,然后给字段设置格式

image.png (4)设置过滤记录

image.png (5)设置HBase output控件

1.选择一个大数据集群连接

2.选择上面复制过来的hbase-site.xml

3.去第二个配置页面创建映射,然后保存映射(选择rowkey字段)

4.再回第一个配置页选择Hbase表以及刚刚创建好的映射

image.png

image.png 注意:若报错没有权限往hdfs写文件,在Spoon.bat中第119行添加参数

"-DHADOOP_USER_NAME=atguigu" "-Dfile.encoding=UTF-8"
(6)保存转换并运行,然户去hbase里面查看数据

image.png