(图片来源于网络,侵删)
Kettle实战1(将Hive表的数据输出到Hdfs)
【1】环境准备
1)进入Kettle的plugins\pentaho-big-data-plugin
目录,编辑
文件
根据自己的hadoop版本添加不同的类型,我的是cdh的,所以添加cdh514
有哪些版本可以在该目录下查看plugins\pentaho-big-data-plugin\hadoop-configurations
2)修改完成后进入自己对应的版本,我的是cdh514,所以进入plugins\pentaho-big-data-plugin\hadoop-configurations\cdh514
目录
将集群的Hadoop、Hive配置复制到该目录中
分别是、
、
、
、
hive-site.xml
3)然后启动Kettle!!!
注意: 如果在连接Hive的时候报错Error connecting to database: (using class org.apache.hive.jdbc.HiveDriver) Illegal Hadoop Version: Unknown (expected A.B.* format)
,就将自己hadoop对应版本的(我的是)放到根目录的
lib
目录下,然后重启Kettle即可!
【2】在Hive中创建库表
前提:开启HDFS、Yarn、HiveMetaStore、HiveServer2
1)创建Kettle库
create database kettle;
use kettle;
2)创建Emp、Dept表
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';
3)插入数据
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);