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

这篇具有很好参考价值的文章主要介绍了一百五十二、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页面为空,如下图所示

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

 所以,这可能是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

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

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

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

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

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

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

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

 四、安装步骤

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

1、文件路径

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

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

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

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

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

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

  只要设置       active.hadoop.configuration=hdp30

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

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

1、第一部分

把kettle8.2的hdp30文件夹里原先的hive、Hadoop的5个配置文件(Hbase文件非必需

如果项目中kettle的使用过程需要用到Hbase则加上hbase-site.xml文件,如果没用到则不需要

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

 复制到kettle9.3的hdp30文件夹

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

2、第二部分 

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

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

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

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

2023年8月16日续写

注意:经测试,其实还是只需要hive中hive开头的jar包以及hadoop-common-3.1.3.jar

修改后的kettle9.3的hdp30\lib如下

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

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

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

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

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

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

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

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

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

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

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

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

kettle任务运行成功!

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

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

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

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

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

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

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

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

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

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

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

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

乐于奉献共享,帮助你我他!!!文章来源地址https://www.toymoban.com/news/detail-648400.html

到了这里,关于一百五十二、Kettle——Kettle9.3.0本地连接Hive3.1.2(踩坑,亲测有效)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 一百五十一、Kettle——Linux上安装的kettle8.2开启carte服务以及配置子服务器

    kettle8.2在Linux上安装好可以启动界面、并且可以连接MySQL、Hive、ClickHouse等数据库后,准备在Linux上启动kettle的carte服务 kettle的Linux运行的carte服务文件是carte.sh 文件路径是/opt/install/data-integration/pwd 1、修改主节点配置文件 [root@hurys22 pwd]# vi  carte-config-master-8080.xml  注意:修改8

    2024年02月13日
    浏览(45)
  • 一百六十、Kettle——Linux上安装的Kettle9.2.0连接Hive3.1.2

    Kettle9.2.0在Linux上安装好后,需要与Hive3.1.2数据库建立连接 之前已经在本地上用kettle9.2.0连上Hive3.1.2 kettle9.2.0安装包网盘链接 链接:https://pan.baidu.com/s/15Zq9wNDwyMnc3qFVxYOMXw?pwd=zwae  提取码:zwae 1、Hive312的lib里面MySQL驱动包的版本是mysql-connector-java-5.1.37.jar 2、Kettle9.2里MySQL驱动包的

    2024年02月12日
    浏览(51)
  • 每天一个数据分析题(一百五十九)

    主成分分析(PCA)不适宜单独用于哪种情况? A. 员工绩效的评估和排名 B. 描述产品情况,如子公司的业务发展状况 C. 消除数据分析中的共线性问题 D. PCA可以作为异常识别的算法使用 题目来源于CDA模拟题库 点击此处获取答案

    2024年02月20日
    浏览(38)
  • Android12之如何查看hidl服务(一百五十五)

    简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏: Audio工程师进阶系列 【 原创干货持续更新中…… 】🚀 人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药. 更多原创,欢迎关注:An

    2024年02月09日
    浏览(33)
  • npm与node版本不匹配问题解决思路(一百五十八)

    1.报错 npm WARN EBADENGINE Unsupported engine { npm WARN EBADENGINE package: ‘electron-packager@17.1.1’, npm WARN EBADENGINE required: { node: ‘= 14.17.5’ }, npm WARN EBADENGINE current: { node: ‘v12.22.9’, npm: ‘8.5.1’ } npm WARN EBADENGINE } npm WARN EBADENGINE Unsupported engine { npm WARN EBADENGINE package: ‘mdui@1.0.2’, npm WARN E

    2024年02月09日
    浏览(33)
  • C++之std::enable_if_t用法(一百五十九)

    简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏: Audio工程师进阶系列 【 原创干货持续更新中…… 】🚀 人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药. 更多原创,欢迎关注:An

    2024年02月15日
    浏览(53)
  • CentOS7部署kettle9.3.0并部署自服器远程提交任务

    主机名:cmcc01为例  操作系统:centos7 kettle版本:9.3.0 官网:https://sourceforge.net/projects/pentaho/files/ 使配置生效 此处有告警   复制驱动到data-integration/lib下 可能会报错:File exists,可忽略  创建job测试   如不进行此操作则在向子服务器提交任务时会报如下错误:Invalid byte 1 of 1-

    2024年02月13日
    浏览(31)
  • C++之GNU C的__attribute__常用属性(一百五十)

    简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏: Audio工程师进阶系列 【 原创干货持续更新中…… 】🚀 人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药. 更多原创,欢迎关注:An

    2024年02月12日
    浏览(37)
  • 一百零一、Kettle——Kettle8.2.0本地连接Hive3.1.2(踩坑,亲测有效)

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

    2024年02月07日
    浏览(35)
  • npm之报错:npm WARN deprecated @npmcli/move-file@2.0.1(一百五十九)

    1.报错: npm WARN deprecated @npmcli/move-file@2.0.1: This functionality has been moved to @npmcli/fs 2.解决

    2024年02月11日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包