導航:首頁 > 源碼編譯 > 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編譯相關的資料

熱點內容
安卓怎麼看在哪個地方呆了多久 瀏覽:571
120萬程序員徵婚 瀏覽:245
對稱可搜索加密演算法 瀏覽:647
uc如何免費解壓 瀏覽:652
一本電子書怎麼編譯目錄 瀏覽:256
手機壓縮軟體官方下載 瀏覽:218
如何關閉文件夾左邊的導航 瀏覽:219
鏈路狀態路由演算法的實現 瀏覽:936
遺傳演算法錦標賽選擇 瀏覽:477
我的世界is命令 瀏覽:156
python和php哪個強大 瀏覽:225
批處理啟動文件夾寫文件 瀏覽:85
app怎麼看是第幾層 瀏覽:68
python復雜驗證碼識別 瀏覽:508
python位置變數 瀏覽:436
python和SQLserver 瀏覽:247
華為大數據伺服器有什麼用 瀏覽:842
Windows應用程序捆綁核心編程 瀏覽:480
源碼時代php怎麼樣 瀏覽:990
命令提示符以管理員身份運行 瀏覽:820