一百五十二、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.pswp.cn/news/36135.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/36135.shtml
英文地址,請注明出處:http://en.pswp.cn/news/36135.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

layui的基本使用-日期控件的業務場景使用入門實戰案例一

效果鎮樓&#xff1b; 1 前端UI層面&#xff1b; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport&…

TypeScript教程(五)條件語句,循環,函數

一、條件語句 條件語句基于不同的條件來執行不同的動作 1.if語句&#xff1a;只有當指定條件為true時&#xff0c;使用該語句來執行代碼 2.if...else語句&#xff1a;當條件為true時執行代碼&#xff0c;當條件為else時執行其他代碼 3.if...else if...else語句&#xff1a;…

Shell函數調用

定義一個函數&#xff0c;計算所有參數的和&#xff1a; #!/bin/bashfunction getsum(){local sum0for n in $do((sumn))donereturn $sum }getsum 10 20 55 15 #調用函數并傳遞參數 echo $?運行結果&#xff1a; 100

spss--數據分析Log-Binonial模型

在橫斷面研究中&#xff0c;Log-binomial 模型能夠獲得研究因素與結局變量的關聯強度指標患病率比&#xff08;PR&#xff09;&#xff0c;是一種研究二分類觀察結果與多因素之間關系的重要方法&#xff0c;在醫學研究等領域中得到了廣泛的應用。 采用log-binomial 模型可直接估…

elementUi表單恢復至初始狀態并不觸發表單驗證

elementUi表單恢復至初始狀態并不觸發表單驗證 1.場景再現2.解決方法 1.場景再現 左側是樹形列表&#xff0c;右側是顯示節點的詳情&#xff0c;點擊按鈕應該就是新增一個規則的意思&#xff0c;表單內容是沒有改變的&#xff0c;所以就把需要把表單恢復至初始狀態并不觸發表單…

大語言模型(LLM)與 Jupyter 連接起來了

現在&#xff0c;大語言模型&#xff08;LLM&#xff09;與 Jupyter 連接起來了&#xff01; 這主要歸功于一個名叫 Jupyter AI 的項目&#xff0c;它是官方支持的 Project Jupyter 子項目。目前該項目已經完全開源&#xff0c;其連接的模型主要來自 AI21、Anthropic、AWS、Co…

MSP432自主開發筆記6:定時器多通道捕獲多條編碼器線脈沖數

所用開發板&#xff1a;MSP432P401R 今日在此更新一下編碼器測速的定時器捕獲寫法&#xff0c;之前學習時竟然忘記更新了~~ 本文講如何用定時器的通道來 捕獲編碼器的脈沖信號數量&#xff0c;不提供速度路程的計算方式&#xff0c; 文章提供源碼&#xff0c;測試工程下載&a…

積木報表集成前端加載js文件404

項目場景&#xff1a; 在集成積木報表和shiro時候&#xff1a; 集成積木報表&#xff0c;shrio&#xff0c;shrio是定義在另一個模塊下的&#xff0c;供另一個啟動類使用&#xff0c;積木報表集成shrio的時候&#xff0c;需要依賴存放shrio的核心包&#xff0c;該核心包除了存…

android 如何分析應用的內存(十七)——使用MAT查看Android堆

android 如何分析應用的內存&#xff08;十七&#xff09;——使用MAT查看Android堆 前一篇文章&#xff0c;介紹了使用Android profiler中的memory profiler來查看Android的堆情況。 如Android 堆中有哪些對象&#xff0c;這些對象的引用情況是什么樣子的。 可是我們依然面臨…

【ArcGIS】經緯度數據轉化成平面坐標數據

將點位置導入Gis中&#xff0c;如下&#xff08;經緯度表征位置&#xff09;&#xff1a; 如何利用Gis將其轉化為平面坐標呢&#xff1f; Step1 坐標變換 坐標變換&#xff0c;打開ArcToolbox&#xff0c;找到“數據管理工具”->“投影和變換”->“要素”->“投影”…

MySQL—緩存

目錄標題 為什么要有Buffer Poolbuffer pool有多大buffer pool緩存什么 如何管理Buffer Pool如何管理空閑頁如何管理臟頁如何提高緩存命中率預讀失效buffer pool污染 臟頁什么時候會被刷入到磁盤 為什么要有Buffer Pool 雖然說MySQL的數據是存儲在磁盤中&#xff0c;但是也不能…

抖音關鍵詞搜索小程序排名怎么做

抖音關鍵詞搜索小程序排名怎么做 1 分鐘教你制作一個抖音小程序。 抖音小程序就是我的視頻&#xff0c;左下方這個藍色的鏈接&#xff0c;點進去就是抖音小程序。 如果你有了這個小程序&#xff0c;發布視頻的時候可以掛載這個小程序&#xff0c;直播的時候也可以掛載這個小…

Express 實戰(一):概覽

在正式學習 Express 內容之前&#xff0c;我們有必要從大的方面了解一下 Node.js 。 在很長的一段時間里&#xff0c;JavaScript 一門編寫瀏覽器中運行腳本的語言。不過近些年&#xff0c;隨著互聯網的發展以及技術進步&#xff0c;JavaScript 迎來了一個集中爆發的時代。一個…

谷歌關閉跨域限制.(生成一個開發瀏覽器),Chrome關閉跨域

(一)、首先找到瀏覽器在電腦磁盤中的位置,并復制 (二)、復制一個瀏覽器的快捷方式到桌面(不影響正常瀏覽器) (三)、chrom鼠標右鍵屬性&#xff0c;修改快捷方式的目標 &#xff08;四&#xff09;chrome.exe 后面添加 --disable-web-security --user-data-dir 復制的Chrome瀏覽…

787. 歸并排序

文章目錄 QuestionIdeasCode Question 給定你一個長度為 n 的整數數列。 請你使用歸并排序對這個數列按照從小到大進行排序。 并將排好序的數列按順序輸出。 輸入格式 輸入共兩行&#xff0c;第一行包含整數 n 。 第二行包含 n 個整數&#xff08;所有整數均在 1~109 范圍…

JUC并發編程(JUC核心類、TimeUnit類、原子操作類、CASAQS)附帶相關面試題

目錄 1.JUC并發編程的核心類 2.TimeUnit&#xff08;時間單元&#xff09; 3.原子操作類 4.CAS 、AQS機制 1.JUC并發編程的核心類 雖然java中的多線程有效的提升了程序的效率&#xff0c;但是也引發了一系列可能發生的問題&#xff0c;比如死鎖&#xff0c;公平性、資源管理…

【100天精通python】Day34:使用python操作數據庫_ORM(SQLAlchemy)使用

目錄 專欄導讀 1 ORM 概述 2 SQLAlchemy 概述 3 ORM&#xff1a;SQLAlchemy使用 3.1 安裝SQLAlchemy&#xff1a; 3.2 定義數據庫模型類&#xff1a; 3.3 創建數據表&#xff1a; 3.4 插入數據&#xff1a; 3.5 查詢數據&#xff1a; 3.6 更新數據&#xff1a; 3.7 刪…

C/C++中volatile關鍵字詳解

1. 為什么用volatile? C/C 中的 volatile 關鍵字和 const 對應&#xff0c;用來修飾變量&#xff0c;通常用于建立語言級別的 memory barrier。這是 BS 在 "The C Programming Language" 對 volatile 修飾詞的說明&#xff1a; A volatile specifier is a hint to a…

【Git】 git push origin master Everything up-to-date報錯

hello&#xff0c;我是索奇&#xff0c;可以叫我小奇 git push 出錯&#xff1f;顯示 Everything up-to-date 那么看看你是否提交了message 下面是提交的簡單流程 git add . git commit -m "message" git push origin master 大多數伙伴是沒寫git commit -m "…

AI自動駕駛

AI自動駕駛 一、自動駕駛的原理二、自動駕駛的分類三、自動駕駛的挑戰四、自動駕駛的前景五、關鍵技術六、自動駕駛的安全問題七、AI數據與自動駕駛八、自動駕駛的AI算法總結 自動駕駛技術是近年來備受關注的熱門話題。它代表了人工智能和機器學習在汽車行業的重要應用。本文將…