Kettle8.2.0连接Hive3.1.2(踩坑,亲测有效)

news2025/1/22 17:51:01

这是目前遇到的最简单但最头疼的安装,因为是在公司之前用过的服务器上进行安装测试,加上又使用比较新的版本,结果踩了不少坑。Kettle连接Hive这个坑,从2023年4月11日下午开始,一致到2023年4月12日中午才弄好,不得不写篇博客记录一下这段难忘的经历。

真是郁闷了半天,明明就几个步骤,却搞了半天都没搞好。后来,我现在自己电脑试了一遍,成功后再在公司电脑试了一下,终于成功啦!

一、版本说明

kettle8.2.0    Hive3.1.2   Hadoop3.1.3

二、前提

Hadoop、Hive因为是环境搭建测试,所以就只是单机版,没有搭建集群

1.在Kettle连接Hive之前,Hadoop和Hive、Hbase等必须安装好

2.Hive的hiveserver2还可以后台启动远程访问

3.注意kettle8.2里MySQL驱动包的版本以及hive312里MySQL驱动包的版本

3.1         Hive312的lib里面MySQL驱动包的版本是mysql-connector-java-5.1.37.jar

3.2          Kettle8.2的lib里面我放了2个MySQL驱动包,一个高版本,一个普通版本,为了防止出现驱动包不匹配

mysql-connector-java-8.0.30.jar                ;              mysql-connector-java-5.1.49-bin.jar

三、开始步骤

(一)根据你的Hadoop、hive安装版本,在D:\java\kettle\pdi-ce-8.2.0.0-342\data-integration\plugins\pentaho-big-data-plugin\hadoop-configurations选择相应的文件

这个很重要!!!千万不要随便选

Hadoop、Hive版本hadoop-configurations对应文件夹
Hive3.1.2   Hadoop3.1.3hdp30
Hadoop260-cdh、hive110-cdhcdh514

这两个版本我都亲测过,我自己电脑之前 安装的是Hadoop260-cdh、hive110-cdh,所以我在自己电脑选的文件是cdh514;公司服务器上安装的版本是Hive3.1.2   Hadoop3.1.3,所以我在公司电脑里选的文件是hdp30

这里就展示公司服务器里选择修改文件夹hdp30,从而实现kettle8.2连接hive3.1.2

(二)修改kettle里pentaho-big-data-plugin文件夹里的源文件plugin.properties

文件路径:D:\java\kettle\pdi-ce-8.2.0.0-342\data-integration\plugins\pentaho-big-data-plugin

 只要设置       active.hadoop.configuration=hdp30

 (三)从我们安装的Hadoop、hive、hbase里拉取需要的文件从而替代hdp30文件里的原有文件

主要替换6个文件

Hadoop4个文件:    yarn-site.xml、mapred-site.xml、hdfs-site.xml、core-site.xml

Hive1个文件:         hive-site.xml

HBase1个文件:        hbase-site.xml

成果如下图,结束后可以按照修改日期排序确认一下

(四)从Hive安装路径的lib目录复制以hive开头的jar包,并替换hdp30\lib里hive开头的jar包

kettle替换jar包文件路径:D:\java\kettle\pdi-ce-8.2.0.0-342\data-integration\plugins\pentaho-big-data-plugin\hadoop-configurations\hdp30\lib

步骤说明:在hdp30\lib的文件夹下,先删除原本自带的hive开头的jar包,然后把我们Hive312里lib目录下的hive开头的jar包全都复制过去

注意不是像MySQL驱动包直接放在kettle的lib文件下,hive的驱动jar包要放在hdp30\lib的文件夹下

1.Hive312里lib目录,里面hive开头的jar包都要

 2.在hdp30\lib的文件夹下,除了复制hive312里lib目录下hive开头的jar包,为了后面Hadoop的操作,最好现在一起复制一下Hadoop安装路径里的  hadoop-common-3.1.3.jar

jar包路径: /opt/soft/hadoop313/share/hadoop/common

3.最后, 在hdp30\lib的文件夹下,需要复制的jar截图如下

(五)这些准备好后,开启Hadoop服务和hiveserver2服务

(六)开启kettle,创建hive2数据库连接

创建成功!

 乐于奉献共享,共助你我他!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/414097.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

uni-app常用配置

保存自动格式化 工具》设置》编辑器设置》保存时自动格式化 JS语法检查 安装eslint-js插件eslint-js - DCloud 插件市场 用于校验js和html中的js代码https://ext.dcloud.net.cn/plugin?id2037工具》设置》插件配置》eslint-js 启用实时校检 Vue语法检查 安装eslint-vue插…

【星界探索——通信卫星】铱星:从“星光坠落”到“涅槃重生”,万字长文分析铱星卫星系统市场

【星界探索——通信卫星】铱星:从“星光坠落”到“涅槃重生”一、铱星简介二、铱星系统设计思路2.1 工作原理2.2 铱星布局三、铱星优势四、发展历程五、第一代铱星公司的破产原因分析5.1 终端和资费价格高昂,市场用户群体小5.2 财务危机5.3 市场分析不足…

一文吃透低代码平台源代码交付的重要性(避坑指南)

一、前言 作为这两年IT界的风口,低代码在众人眼里已经不是什么陌生的概念。 对标于传统的纯代码开发,低代码是一种快速开发软件(应用程序)的方法,平台通过对大量功能与场景做提前封装,使得用户可以在可视…

MySQL开发05-MySQL开发规范

文章目录1、命名规范2、表设计规范3、索引规范4、SQL语句规范5、SQL脚本规范6、数据架构规范7、配置文件建议8、其他规范9、总结1、命名规范 命名应有意义,包括库名、表名、用户名等,以使用方便记忆、描述性强的可读性名称为第一准则,尽量避…

Docker网络案例

bridge 是什么 Docker 服务默认会创建一个 docker0 网桥(其上有一个 docker0 内部接口),该桥接网络的名称为docker0,它在内核层连通了其他的物理或虚拟网卡,这就将所有容器和本地主机都放到同一个物理网络。Docker 默认指定了 docker0 接口 的 IP 地址和子网掩码,让主机…

C#基础复习

语句 目录 语句 switch: 跳转语句 标签语句 标签: 标签语句的作用域 goto语句 using 语句 资源的包装使用 using 语句示例: 多个资源和嵌套 语句是描述某个类型或让程序执行某个动作的源代码指令 块在语法上算作一个单条嵌入语句。任何语…

【cmake学习】搭建一个简单的cmake工程(初级版)

目录 1、工程框架介绍 2、编写CMakeLists.txt (1) 限制cmake最低版本、工程命名 (2) 引入头文件目录 (3) 引入库目录(可选) (4) 引入源文件 (5) 生成可执行文件 / 生成动静态库 (6) 链接库文件(可选) 3、完整CMakeLists…

uefi 内存管理

PEI 阶段 PEI 阶段最为重要的结构是HOB, 初始化内存服务前,PEI 申请的内存其实是插入到FV 文件 也就是FLASH 里面去运行。 在此状态下,FLASH 可读不可写,所以是不能使用全局变量的。如果有需要模块间共享信息,需要申请HOB. HO…

gtkmm给组件添加css

设置方式 使用CSS分为两步,1:为组件设这css名称,2:加载样式表。 样式表我们写在文件中就行(似乎也可以从字符串加载,不过不推荐)。 1. 设置css名称 使用gtk的接口:gtk_widget_class_set_css_name()。 这…

rk3568点亮E-ink

rk3568 Android11/12 适配 E-ink “EINK”是英语ElectronicInk的缩写。翻译成中文为“电子墨水”。电子墨水由数百万个微胶囊(Microcapsules)所构成,微胶囊的大小约等同于人类头发的直径。每个微胶囊里含有电泳粒子──带负电荷的白色以及带正电荷的黑色粒子&#…

Ubuntu 交叉编译Windows 版本的ffmpeg最佳实践

之前介绍在Windows上采用msys2+minGW或者cygwin在Windows编译方法。很多读者觉得在Windows搭建一个类Linux比较麻烦或者说方法不够通用,本文就介绍在流行的Linux发行版Ubuntu上编译window版本的ffmpeg。即介绍一种通用办法来编译Windows版本ffmpeg,该方法可以推广到android,…

算法 贪心4 || 860.柠檬水找零 406.根据身高重建队列 452. 用最少数量的箭引爆气球

860.柠檬水找零 很简单的一题&#xff0c;完全是常识题 class Solution { public:bool lemonadeChange(vector<int>& bills) {unordered_map<int,int> map;for(int i 0; i < bills.size(); i){map[bills[i]];if(bills[i] ! 5){if(map[5] 0) return fals…

【Linux】程序中获取和设置cpu和mem相关信息

这里是目录一、CPU和MEM信息1.1、CPU信息1.1.1、CPU核心数1.1.2、CPU频率读取和调整1.1.3、CPU温度1.2、MEM信息二、C程序读取CPU和MEM信息三、测试写在前面&#xff1a; 记录一下日常&#xff0c;之前有做过相关工作&#xff0c;但是没有记录下来&#xff0c;因此写一写文章。…

使用hbuilder连接夜神模拟器调试app

1. Hbuilder设置 这里端口号随便用一个没有被占用的&#xff1b; 路径夜神模拟器的安装路径下的nox_adb.exe的路径。 2. 夜神模拟器设置 设置如下&#xff1a; 工具&#xff0c;设置&#xff0c;关于平板电脑&#xff08;这里应该没有开发者模式选项&#xff0c;这是我配好之…

【LeetCode】剑指 Offer 53. 在排序数组中查找数字 p263 -- Java Version

1. 题目介绍&#xff08;53. 在排序数组中查找数字&#xff09; 面试题53&#xff1a;在排序数组中查找数字 一共分为三小题&#xff1a; 题目一&#xff1a;数字在排序数组中出现的次数题目二&#xff1a;0 ~ n-1 中缺失的数字题目三&#xff1a;数组中数值和下标相等的元素 2…

【创作赢红包】面向对象基础概念

什么是面向对象 面向对象&#xff08;Object Oriented&#xff09;是软件开发方法&#xff0c;一种编程范式&#xff0c;它是一种对现实世界理解和抽象的方法&#xff0c;是计算机编程技术发展到一定阶段后的产物。 早期的计算机编程是基于面向过程的方法&#xff0c;如实现算…

前端工程化:环境准备—NodeJs安装-Vue项目开发流程

一、前端工程化-Yapi 介绍&#xff1a;YApi 是高效、易用、功能强大的 api 管理平台&#xff0c;旨在为开发、产品、测试人员提供更优雅的接口管理服务 地址&#xff1a; http://yapi.smart-xwork.cn/ 具体操作步骤&#xff1a; 1、添加项目 2、添加接口&#xff1a;根据ID查…

技术分享 | observer 资源水位介绍

作者&#xff1a;郭斌斌 爱可生 DBA 团队成员&#xff0c;负责项目日常问题处理及公司平台问题排查。 本文来源&#xff1a;原创投稿 *爱可生开源社区出品&#xff0c;原创内容未经授权不得随意使用&#xff0c;转载请联系小编并注明来源。 OceanBase 集群界面会展示 Observer …

MATLAB绘制柱状/饼图填充图

MATLAB绘制柱状填充图方法1&#xff1a;hatchfill2工具1.1 案例1&#xff1a;柱状图填充1.2 案例2&#xff1a;饼图填充方法2&#xff1a;applyhatch函数2.1 案例1&#xff1a;柱状图填充2.2 案例2&#xff1a;饼图填充方法3&#xff1a; applyhatch_plusC函数3.1 案例1&#x…

Python 小型项目大全 31~35

三十一、猜数字 原文&#xff1a;http://inventwithpython.com/bigbookpython/project31.html 猜数字是初学者练习基本编程技术的经典游戏。在这个游戏中&#xff0c;电脑会想到一个介于 1 到 100 之间的随机数。玩家有 10 次机会猜出数字。每次猜中后&#xff0c;电脑会告诉玩…