導航:首頁 > 源碼編譯 > hive編譯

hive編譯

發布時間:2022-02-21 16:17:26

A. eclipse怎麼開發hive udf

Hive進行UDF開發十分簡單,此處所說UDF為Temporary的function,所以需要hive版本在0.4.0以上才可以。
Hive的UDF開發只需要重構UDF類的evaluate函數即可。例:
package com.hrj.hive.udf;
import org.apache.hadoop.hive.ql.exec.UDF;
public class helloUDF extends UDF {
public String evaluate(String str) {
try {
return "HelloWorld " + str;
} catch (Exception e) {
return null;
}
}
}

將該java文件編譯成helloudf.jar
hive> add jar helloudf.jar;
hive> create temporary function helloworld as 'com.hrj.hive.udf.helloUDF';
hive> select helloworld(t.col1) from t limit 10;
hive> drop temporary function helloworld;

註:
1.helloworld為臨時的函數,所以每次進入hive都需要add jar以及create temporary操作
2.UDF只能實現一進一出的操作,如果需要實現多進一出,則需要實現UDAF

B. Apache Hive的工作原理是什麼

Hadoop處理完全依賴於MapRece框架,這要求用戶了解Java編程的高級樣式,以便成功查詢數據。Apache Hive背後的動機是簡化查詢,並將Hadoop非結構化數據開放給公司中更廣泛的用戶群。
Hive有三個主要功能:數據匯總,查詢和分析。它支持名為HiveQL或HQL的語言表達的查詢,HQL是一種聲明性的類SQL語言,在其第一個版本中,它自動將SQL樣式的查詢轉換為在Hadoop平台上執行的MapRece。此外,HiveQL支持自定義MapRece腳本,以便查詢。
當通過Hive提交SQL查詢時,它們最初由創建會話句柄的驅動程序組件接收,通過Java資料庫連接/開放資料庫連接介面將請求轉發給編譯器,隨後轉發作業以供執行。Hive支持數據序列化/反序列化,並通過包含名為Hive-Metastore的系統目錄來提高模式設計的靈活性。

C. 如何用sql來寫動態sql,本文主要是hiveql

動態SQL語句在編譯時,並不知道SQL語句的內容,SQL語句的內容「不確定」,只有在運行時,才建立、解析並執行SQL語句。利用動態SQL,在存儲過程中,可以動態創建表、視圖、觸發器等。
動態SQL主要用在以下兩種場景:
編譯時,無法確定SQL語句的內容
靜態SQL不支持的SQL語句,就比如上面代碼中的create
我們可以看到,靜態SQL在編譯時就已經提前檢查了SQL正確性,以及涉及的資料庫對象和對應的許可權關系,而動態SQL則需要在運行的時候才能判斷,所以,靜態SQL的效率高於動態SQL。說了這么多概念的東西,我們現在就來實際看看如何編寫動態SQL,以及如何運行動態SQL。

D. 如何編譯hive_hbase-handler.jar

之前上傳了一個文檔:http://wenku..com/view/faec57fb04a1b0717fd5dd00.html?st=1你可以看看。

E. hive的安裝配置

你可以下載一個已打包好的hive穩定版,也可以下載源碼自己build一個版本。
安裝需要 java 1.6,java 1.7或更高版本。 Hadoop 2.x或更高, 1.x. Hive 0.13 版本也支持 0.20.x, 0.23.x linux,mac,windows操作系統。以下內容適用於linux系統。 安裝打包好的hive
需要先到apache下載已打包好的hive鏡像,然後解壓開該文件 $tar-xzvfhive-x.y.z.tar.gz設置hive環境變數 $cdhive-x.y.z$exportHIVE_HOME={{pwd}}設置hive運行路徑 $exportPATH=$HIVE_HOME/bin:$PATH編譯Hive源碼
下載hive源碼
此處使用maven編譯,需要下載安裝maven。
以Hive 0.13版為例 編譯hive 0.13源碼基於hadoop 0.23或更高版本
$cdhive$mvncleaninstall-Phadoop-2,dist$cdpackaging/target/apache-hive-{version}-SNAPSHOT-bin/apache-hive-{version}-SNAPSHOT-bin$lsLICENSENOTICEREADME.txtRELEASE_NOTES.txtbin/(alltheshellscripts)lib/(requiredjarfiles)conf/(configurationfiles)examples/(sampleinputandqueryfiles)hcatalog/(hcataloginstallation)scripts/(upgradescriptsforhive-metastore) 編譯hive 基於hadoop 0.20
$cdhive$antcleanpackage$cdbuild/dist#lsLICENSENOTICEREADME.txtRELEASE_NOTES.txtbin/(alltheshellscripts)lib/(requiredjarfiles)conf/(configurationfiles)examples/(sampleinputandqueryfiles)hcatalog/(hcataloginstallation)scripts/(upgradescriptsforhive-metastore) 運行hive
Hive運行依賴於hadoop,在運行hadoop之前必需先配置好hadoopHome。 exportHADOOP_HOME=<hadoop-install-dir>在hdfs上為hive創建 mp目錄和/user/hive/warehouse(akahive.metastore.warehouse.dir) 目錄,然後你才可以運行hive。
在運行hive之前設置HiveHome。 $exportHIVE_HOME=<hive-install-dir>在命令行窗口啟動hive $$HIVE_HOME/bin/hive若執行成功,將看到類似內容如圖所示

F. hive的源代碼的編譯與調試怎麼做

windows自帶的記事本只能做編輯源代碼使用,要編譯需要有編譯器才行,找些其他的集成化軟體,編輯編譯連接調試集成一體的,如vc6.0,wintc等

G. 我想學習hive,請問安裝hive之前,必須安裝centos、hadoop、java這些嗎

安裝需要
java 1.6,java 1.7或更高版本。
Hadoop 2.x或更高, 1.x. Hive 0.13 版本也支持 0.20.x, 0.23.x
Linux,mac,windows操作系統。以下內容適用於linux系統。
安裝打包好的hive
需要先到apache下載已打包好的hive鏡像,然後解壓開該文件
$ tar -xzvf hive-x.y.z.tar.gz

設置hive環境變數
$ cd hive-x.y.z$ export HIVE_HOME={{pwd}}

設置hive運行路徑
$ export PATH=$HIVE_HOME/bin:$PATH

編譯Hive源碼
下載hive源碼
此處使用maven編譯,需要下載安裝maven。

以Hive 0.13版為例
編譯hive 0.13源碼基於hadoop 0.23或更高版本
$cdhive$mvncleaninstall-Phadoop-2,dist$cdpackaging/target/apache-hive-{version}-SNAPSHOT-bin/apache-hive-{version}-SNAPSHOT-bin$lsLICENSENOTICEREADME.txtRELEASE_NOTES.txtbin/(alltheshellscripts)lib/(requiredjarfiles)conf/(configurationfiles)examples/(sampleinputandqueryfiles)hcatalog/(hcataloginstallation)scripts/(upgradescriptsforhive-metastore)
編譯hive 基於hadoop 0.20
$cdhive$antcleanpackage$cdbuild/dist#lsLICENSENOTICEREADME.txtRELEASE_NOTES.txtbin/(alltheshellscripts)lib/(requiredjarfiles)conf/(configurationfiles)examples/(sampleinputandqueryfiles)hcatalog/(hcataloginstallation)scripts/(upgradescriptsforhive-metastore)
運行hive
Hive運行依賴於hadoop,在運行hadoop之前必需先配置好hadoopHome。
export HADOOP_HOME=<hadoop-install-dir>

在hdfs上為hive創建\tmp目錄和/user/hive/warehouse(akahive.metastore.warehouse.dir) 目錄,然後你才可以運行hive。
在運行hive之前設置HiveHome。
$ export HIVE_HOME=<hive-install-dir>

在命令行窗口啟動hive
$ $HIVE_HOME/bin/hive

若執行成功,將看到類似內容如圖所示

閱讀全文

與hive編譯相關的資料

熱點內容
顯卡雲伺服器對比知乎 瀏覽:176
怎麼判斷雨棚旁柱子是否加密 瀏覽:394
android掛號源碼 瀏覽:393
買車有什麼app可以查看車型 瀏覽:1000
如何保證公司伺服器安全 瀏覽:586
如何在本地iis伺服器寫代碼 瀏覽:938
劍靈電信伺服器怎麼樣 瀏覽:652
骨科手術學pdf 瀏覽:772
監控伺服器與交換機需要什麼技術 瀏覽:58
為什麼文件解壓txt後亂碼 瀏覽:785
力學軸向拉伸和壓縮 瀏覽:115
一點公益系統源碼 瀏覽:1003
python怎麼創建新文本 瀏覽:963
redis操作命令 瀏覽:283
安卓加密後輸入密碼黑屏 瀏覽:527
如何讓安卓沒有升降按鍵 瀏覽:769
網易伺服器炸了游戲怎麼辦 瀏覽:814
會逐年減產的加密貨幣有哪些 瀏覽:779
吉祥碼安卓手機怎麼能敲出來 瀏覽:804
怎樣在蘋果手機上查找定位伺服器地址 瀏覽:198