hive 临时表 with_Kettle(PDI)转换中输入表输入详解
概述
Table input(表輸入)此步驟使用SQL語(yǔ)句從連接的數(shù)據(jù)庫(kù)中讀取信息。通過(guò)單擊獲取SQL查詢語(yǔ)句按鈕,可以自動(dòng)生成基本SQL語(yǔ)句。
選項(xiàng)
Table input(表輸入)步驟有以下選項(xiàng):
Step name(步驟名稱):在畫布上指定Table input(表輸入)步驟的唯一名稱。您可以自定義名稱或?qū)⑵浔A魹槟J(rèn)名稱。
Connection(數(shù)據(jù)庫(kù)連接):使用列表選擇現(xiàn)有數(shù)據(jù)庫(kù)連接的名稱。根據(jù)所訪問(wèn)的數(shù)據(jù)庫(kù)選擇連接。如果您在AEL上通過(guò)Spark使用以下數(shù)據(jù)庫(kù)類型,請(qǐng)選擇以下數(shù)據(jù)庫(kù)類型之一:Cloudera Impala:選擇是否使用Impala數(shù)據(jù)庫(kù);Hadoop Hive 2/3:選擇是在安全HDP集群上使用Hive中的小型非托管表,還是在Amazon EMR集群上使用Hive表;Hive Warehouse Connector:選擇是在Hive中使用大型的非托管表,還是在安全HDP集群上使用托管的Hive表。對(duì)于所有其他連接,請(qǐng)根據(jù)關(guān)系數(shù)據(jù)庫(kù)類型選擇連接。如果您沒(méi)有現(xiàn)有的連接,請(qǐng)單擊新建或Wizard。如果需要修改現(xiàn)有的連接,請(qǐng)單擊編輯。
SQL:指定一條SQL語(yǔ)句從連接的數(shù)據(jù)庫(kù)讀取信息。您還可以單擊獲取SQL查詢語(yǔ)句按鈕來(lái)瀏覽表并自動(dòng)生成一個(gè)基本的select語(yǔ)句。
Store column info in step meta:選擇這個(gè)選項(xiàng)可以使用存儲(chǔ)在KTR中的緩存元數(shù)據(jù),而無(wú)需建立數(shù)據(jù)庫(kù)連接來(lái)查詢表。注意:如果您使用Spark作為您的處理引擎,請(qǐng)必須選擇此選項(xiàng)。
Enable lazy conversion(允許簡(jiǎn)易轉(zhuǎn)換):選擇此選項(xiàng)以啟用簡(jiǎn)易轉(zhuǎn)換算法。如果選擇簡(jiǎn)易轉(zhuǎn)換,則盡可能避免不必要的數(shù)據(jù)類型轉(zhuǎn)換,這可以顯著提高性能。
Replace variables in script?(替換SQL語(yǔ)句里的變量):選擇此選項(xiàng)以替換腳本中的變量。該特性提供了使用或不使用變量替換的測(cè)試功能。
Insert data from step(從步驟插入數(shù)據(jù)):明確PDI可以獲得信息的輸入步驟名稱。然后可以將該信息插入到SQL語(yǔ)句中。PDI插入信息的定位器用問(wèn)號(hào)表示:?。
Execute for each row?(執(zhí)行每一行?):選擇此選項(xiàng)為每個(gè)單獨(dú)的行執(zhí)行查詢。
Limit size(記錄數(shù)量限制):指定要從數(shù)據(jù)庫(kù)中讀取的行數(shù)。值為0表示讀取所有行。
Preview(預(yù)覽):單擊預(yù)覽打開一個(gè)新窗口,并查看由臨時(shí)轉(zhuǎn)換派生的執(zhí)行日志,該臨時(shí)轉(zhuǎn)換有兩個(gè)步驟:表輸入步驟和空操作 (什么也不做)步驟。要查看日志,在打開的預(yù)覽窗口中單擊Logs。
示例
示例采用mysql數(shù)據(jù)庫(kù)作為示例,首先下載mysql驅(qū)動(dòng)https://mvnrepository.com/artifact/mysql/mysql-connector-java/5.1.47,然后放在在文件夾data-integrationlib下。然后重啟Spoon。
雙擊輸入中的表輸入,添加一個(gè)表輸入。
表輸入
然后雙擊添加的步驟進(jìn)行編輯。
編輯表輸入
然后在數(shù)據(jù)庫(kù)鏈接后面點(diǎn)擊新建,選項(xiàng)mysql輸入相關(guān)信息。
配置數(shù)據(jù)鏈接
然后點(diǎn)擊測(cè)試,對(duì)數(shù)據(jù)庫(kù)進(jìn)行連接測(cè)試。如果連接成功,則會(huì)出現(xiàn)如下提示。
鏈接成功提示
最后點(diǎn)擊確定,可以看到數(shù)據(jù)庫(kù)連接設(shè)置了剛創(chuàng)建的名稱demo。
設(shè)置數(shù)據(jù)庫(kù)連接
然后點(diǎn)擊“獲取SQL查詢語(yǔ)句”,然后選擇對(duì)應(yīng)的表。
選擇表
獲取的sql語(yǔ)句
然后點(diǎn)擊預(yù)覽,預(yù)覽選擇表的數(shù)據(jù)列表。
預(yù)覽數(shù)據(jù)
AEL注意事項(xiàng)
在使用帶有Adaptive Execution Layer的表輸入步驟時(shí),請(qǐng)考慮Hive和Impala數(shù)據(jù)庫(kù)連接的以下因素,這些因素可能會(huì)影響性能和結(jié)果。
- 不支持步驟中的以下選項(xiàng):
- 不支持結(jié)構(gòu)、數(shù)組和用戶定義的數(shù)據(jù)類型。
- 由于CDH 6.x中Apache Spark支持的CD的限制, AEL不支持Hive或Impala的YARN模式。如果您想了解具體信息,請(qǐng)參閱Cloudera文檔(https://docs.cloudera.com/):
- 您可以使用Hortonworks以O(shè)RC格式訪問(wèn)Hive托管表,如在Hortonworks集群上為Hive Warehouse連接器配置AEL守護(hù)進(jìn)程中所述(https://help.pentaho.com/Documentation/9.1/Setup/Set_up_the_Adaptive_Execution_Layer_(AEL)#r_pentaho_configure_the_ael_daemon_for_hive_warehouse_connector_on_hdp_ael_setup_specific_to_hive)。
- 您可以對(duì)Hive中的受管表使用AEL來(lái)執(zhí)行聯(lián)結(jié)表的輸入到表的輸出轉(zhuǎn)換步驟。但是,您必須遵循特定的工作流來(lái)進(jìn)行正確的數(shù)據(jù)處理。有關(guān)詳細(xì)信息,請(qǐng)參見使用AEL對(duì)Hive中的受管表使用表輸入到表輸出步驟(https://help.pentaho.com/Documentation/9.1/Products/Using_Table_input_to_Table_output_steps_with_AEL_for_managed_tables_in_Hive)。
- 如果您在Hive中使用外部表的AEL,那么使用Hadoop輸入和Hadoop輸出步驟來(lái)處理表格數(shù)據(jù)。
連接Hive數(shù)據(jù)庫(kù)
當(dāng)使用表輸入和表輸出步驟時(shí),您可以通過(guò)兩種方式之一連接到Hive,從而在同一個(gè)集群內(nèi)實(shí)現(xiàn)對(duì)小型和大型表的最佳處理速度:
- 使用AEL訪問(wèn)安全HDP集群或Amazon EMR集群上的小型非托管Hive表。有關(guān)詳細(xì)信息,請(qǐng)參見配置Hive服務(wù)的AEL守護(hù)進(jìn)程(https://help.pentaho.com/Documentation/9.1/Setup/Set_up_the_Adaptive_Execution_Layer_(AEL)#t_pentaho_config_ael_daemon_for_hive_on_emr_ael_setup_specific_to_hive)。
- 使用帶Hive Warehouse連接器(HWC)的AEL來(lái)訪問(wèn)安全HDP集群上的Hive中的托管表或大型非托管表。詳情請(qǐng)參閱為Hive Warehouse連接器配置AEL守護(hù)進(jìn)程在你Hortonworks集群(https://help.pentaho.com/Documentation/9.1/Setup/Set_up_the_Adaptive_Execution_Layer_(AEL)#r_pentaho_configure_the_ael_daemon_for_hive_warehouse_connector_on_hdp_ael_setup_specific_to_hive)。
連接Impala數(shù)據(jù)庫(kù)
我們支持Impala版本2.2.x。在使用表格輸入步驟通過(guò)AEL連接到Impala數(shù)據(jù)庫(kù)之前,您必須下載并安裝Cloudera Impala驅(qū)動(dòng)程序。
按以下步驟下載安裝Cloudera Impala驅(qū)動(dòng)程序:
現(xiàn)在可以使用表輸入步驟通過(guò)AEL連接到Impala數(shù)據(jù)庫(kù)。
總結(jié)
以上是生活随笔為你收集整理的hive 临时表 with_Kettle(PDI)转换中输入表输入详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: mysql注入攻击实_三十三、MySQL
- 下一篇: redis 存储数据不设置过期时间 会自