一百五十二、Kettle——Kettle9.3.0本地连接Hive3.1.2(踩坑,亲测有效)

一、目的

由于先前使用的kettle8.2版本在Linux上安装后,创建共享资源库点击connect时页面为空,后来采用如下方法,在/opt/install/data-integration/ui/menubar.xul文件里添加如下代码

<menuitem id="file-openZiyuanku" label="openZiyuanku" command="spoon.openRepository()"/>

共享资源库创建后又遇到任务Save时为空的问题。

首先,在Windows本地安装的kettle8.2,无论有没有连接共享资源库,kettle任务都可以正常执行;

其次,在Linux上安装的kettle8.2启动后,

如果不连接共享资源库,那么kettle任务可以正常运行,没有问题。

只有在连接共享资源库后,kettle任务才无法保存,save页面为空,如下图所示

 所以,这可能是kettle8.2与Linux的版本匹配问题,因此换成最新的版本kettle9.3尝试一下

二、版本说明

(一)kettle9.3.0   

kettle9.3.0安装包网盘链接

链接:https://pan.baidu.com/s/1MS8QBhv9ukpqlVQKEMMHQA?pwd=dqm0 
提取码:dqm0

(二)Hive3.1.2 

(三)Hadoop3.1.3

三、前提准备

(一)安装前提:掌握Kettle8.2.0本地连接Hive3.1.2

因为我之前一直用的是kettle8.2,所以kettle9.3连接hive3.1.2时我就直接从kettle8.2的文件夹复制jar包

至于kettle8.2如何本地安装后连接hive,详情请参考鄙人拙作

http://t.csdn.cn/qyuDjhttp://t.csdn.cn/qyuDj

(二)Windows本地解压即安装Kettle9.3.0

(三)注意Kettle9.3里MySQL驱动包的版本以及Hive312里MySQL驱动包的版本

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

2、Kettle9.3里MySQL驱动包的版本

mysql-connector-java-5.1.37.jar       ;   mysql-connector-java-8.0.30.jar

 四、安装步骤

(一)根据Hadoop版本在选择对应的文件(千万不要随便选!)

1、文件路径

D:\java\kettle\pdi-ce-9.3.0.0-428\data-integration\plugins\pentaho-big-data-plugin\hadoop-configurations

 2、Hadoop版本与文件夹对应规则 

3、选择文件,复制文件名(Hadoop版本与文件夹一定要匹配!

因为我的Hadoop版本是Hadoop3.1.3,所以我选择的文件夹是hdp30

注意:kettle9.3的hdp30文件夹里最初只有hdp30\lib\pmr这一个文件夹,与kettle8.2里的hdp30文件夹最初状况大不相同,这也是困扰我许久的原因

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

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

  只要设置       active.hadoop.configuration=hdp30

(三)根据kettle8.2的hdp30文件夹,把kettle9.3的hdp30文件夹相比而言缺少的部分复制过去

1、第一部分

把kettle8.2的hdp30文件夹里原先的hive、Hadoop、hbase的6个配置文件

 复制到kettle9.3的hdp30文件夹

2、第二部分 

把kettle8.2的hdp30\lib文件夹里除了pmr和client两个所有jar包

 复制到kettle9.3的hdp30\lib文件夹

 3、第三部分(与kettle8.2不同之处

把hive的安装路径hive312/jdbc里的驱动包

复制到 kettle9.3的data-integration\lib文件下

文件路径:D:\java\kettle\pdi-ce-9.3.0.0-428\data-integration\lib

(四)启动Hadoop和Hive服务,打开kettle9.3,连接Hive数据库

kettle9.3连接hive312,连接成功!

 (五)执行从Hive到ClickHouse的kettle任务,测试一下

kettle任务运行成功!

(六)注意kettle里的中文乱码问题 

解决措施:修改kettle9.3\data-integration里的文件Spoon.bat

文件路径:D:\java\kettle\pdi-ce-9.3.0.0-428\data-integration

注意:Kettle9.3的Spoon.bat文件原有的只是

if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms1024m" "-Xmx2048m" 

然后在它后面加上 "-XX:MaxPermSize=256m" "-Dfile.encoding=UTF-8"

其中, "-XX:MaxPermSize=256m"是kettle8.2默认有的堆内存最大值设置;而"-Dfile.encoding=UTF-8"才是解决中文乱码的,但我这边把两个都加上

到这里,Kettle9.3.0本地连接Hive3.1.2就结束了!

我之前查了好多博文,都没找到Kettle9.3.0如何连接Hive3.1.2,困扰许久,终于一朝解决,整理此博文,公诸于众,希望能够帮助和我受到一样困扰的你!

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

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

聊聊RedisTemplate的各种序列化器

[版权申明] 非商业目的注明出处可自由转载 出自&#xff1a;shusheng007 文章目录 概述序列化器作用和原理JDK 序列化方式多一点 String 序列化方式JSON 序列化方式 总结源码 概述 在SpringBoot中使用redis基本上都是通过Spring Data Redis&#xff0c;那就不得不说RedisTempl…

11 个 Python 编码习惯

让你成为糟糕程序员的 11 个 Python 编码习惯 简介 Python 因其简洁性和可读性而备受推崇&#xff0c;但即使是最有经验的程序员也可能会陷入影响代码质量的习惯中。 在本博客中&#xff0c;我们将探讨 10 种常见的编码习惯&#xff0c;它们会降低您作为 Python 程序员的效率。…

2023年国赛数学建模思路 - 复盘:校园消费行为分析

文章目录 0 赛题思路1 赛题背景2 分析目标3 数据说明4 数据预处理5 数据分析5.1 食堂就餐行为分析5.2 学生消费行为分析 建模资料 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 赛题背景 校园一卡通是集…

Intel汇编和ATT汇编的区别?

一、前缀不同 在 Intel 语法中&#xff0c;没有寄存器前缀或立即前缀。 然而&#xff0c;在 AT&T 中&#xff0c;寄存器的前缀是“%”&#xff0c;而 immed 的前缀是“$”。 Intel 语法十六进制或二进制即时数据分别带有“h”和“b”后缀。 此外&#xff0c;如果第一个十六…

算法通关村第七关——递归和迭代实现二叉树前中后序遍历

1.递归 1.1 熟悉递归 所有的递归有两个基本特征&#xff1a; 执行时范围不断缩小&#xff0c;这样才能触底反弹。终止判断在调用递归的前面。 写递归的步骤&#xff1a; 从小到大递推。分情况讨论&#xff0c;明确结束条件。组合出完整方法。想验证就从大到小画图推演。 …

使用AffNet和HardNet进行图像匹配

一、说明 我们有一个任务是找到与给定查询图像最匹配的图像。首先&#xff0c;我们在OpenCV中尝试了使用SIFT描述符和基于Flann的匹配器的经典图像匹配。结果是完全错误的。然后是词袋...最后&#xff0c;找到了AffNet和HardNet。 二、关于AffNet和HardNet 本文专门介绍如何进…

【枚举倍数+容斥】CF803 F

Problem - F - Codeforces 题意&#xff1a; 思路&#xff1a; 正难则反&#xff0c;考虑容斥 即考虑gcd ! 1的所有子序列个数 因为子序列内部无序&#xff0c;因此不算真正的子序列&#xff0c;考虑枚举倍数 根据经典套路&#xff0c;我们去枚举 gcd&#xff0c;然后去枚…

win10下如何安装ffmpeg

安装ffmpeg之前先安装win10 绿色软件管理软件&#xff1a;scoop. Scoop的基本介绍 Scoop是一款适用于Windows平台的命令行软件&#xff08;包&#xff09;管理工具&#xff0c;这里是Github介绍页。简单来说&#xff0c;就是可以通过命令行工具&#xff08;PowerShell、CMD等…

Pytorch安装教程:最新保姆级教程

目录 概述 重要的事情说三遍&#xff1a;不需要装cuda、不需要装cuda、不需要装cuda 1.查看自己NVIDIA版本 2.创建一个conda 环境 3.安装pytorch 本文意在帮助即将步入深入学习领域的学子 在这之前首先你需要安装好anaconda&#xff0c;不懂的可以下面这篇文章 最新Anaco…

C语言的动态分配空间C++的动态分配空间问题

动态分配空间 C&#xff1a;1、malloc 2、calloc C&#xff1a;new运算符 一 malloc malloc()&#xff1a; 这个函数用于分配一块指定大小的内存块&#xff0c;并返回一个指向该内存块的指针。语法如下&#xff1a; void* malloc(size_t size); 示例&#xff1a; int* ptr …

【软件测试】我的2023面试经验谈

最近行业里有个苦涩的笑话&#xff1a;公司扛过了之前的三年&#xff0c;没扛过摘下最近的一年&#xff0c;真是让人想笑又笑不出来。年前听说政策的变化&#xff0c;大家都满怀希望觉得年后行情一片大好&#xff0c;工作岗位激增&#xff0c;至少能有更多的机会拥抱未来。然而…

nodejs+vue+elementui美食网站的设计与实现演示录像2023_0fh04

本次的毕业设计主要就是设计并开发一个美食网站软件。运用当前Google提供的nodejs 框架来实现对美食信息查询功能。当然使用的数据库是mysql。系统主要包括个人信息修改&#xff0c;对餐厅管理、用户管理、餐厅信息管理、菜系分类管理、美食信息管理、美食文化管理、系统管理、…