hivehive訪問
你這個問題有問題啊。
第一,mysql是無法直接遠程訪問hive的,兩個是不通的
第二,你的問題可能是hive元數據存放到mysql吧?這個是可以做的,在hive的配置文件hive-site.xml可以配置的哈。
Ⅱ 如何配置hive訪問其他伺服器的hadoop
修改文件 /etc/profile,添加如下的行:
export HADOOP_HOME=/usr/local/hadoopexport ANT_HOME=$HADOOP_HOME/apache-ant-1.7.1export PATH=$PATH:/usr/local/hadoop/bin:$JAVA_HOME/bin:$HADOOP_HOME/contrib/hive/bin:$ANT_HOME/bin
export ANT_LIB=$HADOOP_HOME/apache-ant-1.7.1/lib
export HADOOP=$HADOOP_HOME/bin/hadoop4、修改hive配置文件 /usr/local/hadoop/contrib/hive/conf/hive-default.xml,只要改一個地方,使其內容為:/usr/local/hadoop/contrib/hive/lib/hive_hwi.war。昨天我把它書寫成 「hive-hwi.war」,瀏覽器訪問,就只列出文件目錄,死活都不對,唉!
5、啟動hive web服務: $ hive –service hwi & .監聽埠默認是9999,也可以自己到hive-default.xml定製。瀏覽器的訪問url為 http:/hadoop:9999/hwi.
註:hive表的存放地為hdfs,默認是 /user/hive .這個路徑只有通過hadoop shell才能看見(不是/usr)
Ⅲ 如何用Hive訪問Hadoop上數據
步驟
Hive提供了jdbc驅動,使得我們可以連接Hive並進行一些類關系型資料庫的sql語句查詢等操作,首先我們需要將這些驅動拷貝到報表工程下面,然後再建立連接,最後通過連接進行數據查詢。
拷貝jar包到FR工程
將hadoop里的hadoop-common.jar拷貝至報表工程appname/WEB-INF/lib下;
將hive里的hive-exec.jar、hive-jdbc.jar、hive-metastore.jar、hive-service.jar、libfb303.jar、log4j.jar、slf4j-api.jar、slf4j-log4j12.jar拷貝至報表工程appname/WEB-INF/lib下。
配置數據連接
啟動設計器,打開伺服器>定義數據連接,新建JDBC連接。
在Hive 0.11.0版本之前,只有HiveServer服務可用,在程序操作Hive之前,必須在Hive安裝的伺服器上打開HiveServer服務。而HiveServer本身存在很多問題(比如:安全性、並發性等);針對這些問題,Hive0.11.0版本提供了一個全新的服務:HiveServer2,這個很好的解決HiveServer存在的安全性、並發性等問題,所以下面我們分別介紹HiveServer和HiveServer2配置數據連接的方式。
HiveServer
資料庫驅動:org.apache.hadoop.hive.jdbc.HiveDriver;
URL:jdbc:hive://localhost:10000/default
註:hive服務默認埠為10000,根據實際情況修改埠;另外目前只支持默認資料庫名default,所有的Hive都支持。
測試連接,提示連接成功即可。
4
資料庫驅動:org.apache.hive.jdbc.HiveDriver;
URL:jdbc:hive2://localhost:10000/default
註:該連接方式只支持Hive0.11.0及之後版本。
Ⅳ 集群我想連接hive 怎麼查找ip地址和埠
1、hive命令行模式,直接輸入/hive/bin/hive的執行程序,或者輸入hive--servicecli用於linux平台命令行查詢,查詢語句基本跟mysql查詢語句類似2、hiveweb界面的(埠號9999)啟動方式hive–servicehwi&用於通過瀏覽器來訪問hive,
Ⅳ hive的Hive 體系結構
主要分為以下幾個部分:
用戶介面
用戶介面主要有三個:CLI,Client 和 WUI。其中最常用的是 CLI,Cli 啟動的時候,會同時啟動一個 Hive 副本。Client 是 Hive 的客戶端,用戶連接至 Hive Server。在啟動 Client 模式的時候,需要指出 Hive Server 所在節點,並且在該節點啟動 Hive Server。 WUI 是通過瀏覽器訪問 Hive。
元數據存儲
Hive 將元數據存儲在資料庫中,如 mysql、derby。Hive 中的元數據包括表的名字,表的列和分區及其屬性,表的屬性(是否為外部表等),表的數據所在目錄等。
解釋器、編譯器、優化器、執行器
解釋器、編譯器、優化器完成 HQL 查詢語句從詞法分析、語法分析、編譯、優化以及查詢計劃的生成。生成的查詢計劃存儲在 HDFS 中,並在隨後由 MapRece 調用執行。
Hadoop
Hive 的數據存儲在 HDFS 中,大部分的查詢由 MapRece 完成(包含 * 的查詢,比如 select * from tbl 不會生成 MapRece 任務)。
Ⅵ 程序中的Hive具體是干什麼用的呢
Hive是基於Hadoop平台的數倉工具,具有海量數據存儲、水平可擴展、離線批量處理的優點,解決了傳統關系型數倉不能支持海量數據存儲、水平可擴展性差等問題,但是由於Hive數據存儲和數據處理是依賴於HDFS和MapRece,因此在Hive進行數據離線批量處理時,需將查詢語言先轉換成MR任務,由MR批量處理返回結果,所以Hive沒法滿足數據實時查詢分析的需求。
Hive是由FaceBook研發並開源,當時FaceBook使用Oracle作為數倉,由於數據量越來越大,Oracle數倉性能越來越差,沒法實現海量數據的離線批量分析,因此基於Hadoop研發Hive,並開源給Apacha。
由於Hive不能實現數據實時查詢交互,Hbase可提供實時在線查詢能力,因此Hive和Hbase形成了良性互補。Hbase因為其海量數據存儲、水平擴展、批量數據處理等優點,也得到了廣泛應用。
Pig與HIVE工具類似,都可以用類sql語言對數據進行處理。但是他們應用場景有區別,Pig用於數據倉庫數據的ETL,HIVE用於數倉數據分析。
從架構圖當中,可看出Hive並沒有完成數據的存儲和處理,它是由HDFS完成數據存儲,MR完成數據處理,其只是提供了用戶查詢語言的能力。Hive支持類sql語言,這種SQL稱為Hivesql。用戶可用Hivesql語言查詢,其驅動可將Hivesql語言轉換成MR任務,完成數據處理。
【Hive的訪問介面】
CLI:是hive提供的命令行工具
HWI:是Hive的web訪問介面
JDBC/ODBC:是兩種的標準的應用程序編程訪問介面
Thrift Server:提供異構語言,進行遠程RPC調用Hive的能力。
因此Hiv具備豐富的訪問介面能力,幾乎能滿足各種開發應用場景需求。
【Driver】
是HIVE比較核心的驅動模塊,包含編譯器、優化器、執行器,職責為把用戶輸入的Hivesql轉換成MR數據處理任務
【Metastore】
是HIVE的元數據存儲模塊,數據的訪問和查找,必須要先訪問元數據。Hive中的元數據一般使用單獨的關系型資料庫存儲,常用的是Mysql,為了確保高可用,Mysql元資料庫還需主備部署。
架構圖上面Karmasphere、Hue、Qubole也是訪問HIVE的工具,其中Qubole可遠程訪問HIVE,相當於HIVE作為一種公有雲服務,用戶可通過互聯網訪問Hive服務。
Hive在使用過程中出現了一些不穩定問題,由此發展出了Hive HA機制,
Ⅶ 如何訪問另一台電腦虛擬機的hive服務
要訪問必須滿足以下條件現有的主機必須能連接另一台主機另一台主機上的虛機上的虛擬網卡必須使用橋接方式。
Ⅷ Hive基礎之Hive是什麼以及Hive使用場景
Hive是什麼
1)Hive
是建立在Hadoop
(HDFS/MR)上的用於管理和查詢結果化/非結構化的數據倉庫;
2)一種可以存儲、查詢和分析存儲在Hadoop
中的大規模數據的機制;
3)Hive
定義了簡單的類SQL
查詢語言,稱為HQL,它允許熟悉SQL
的用戶查詢數據;
4)允許用Java開發自定義的函數UDF來處理內置無法完成的復雜的分析工作;
5)Hive沒有專門的數據格式(分隔符等可以自己靈活的設定);
ETL的流程(Extraction-Transformate-Loading):將關系型資料庫的數據抽取到HDFS上,hive作為數據倉庫,經過hive的計算分析後,將結果再導入到關系型資料庫的過程。
Hive是構建在Hadoop之上的數據倉庫
1)使用HQL作為查詢介面;
2)使用HDFS作為存儲;
3)使用MapRece作為計算;
Hive應用場景
數據源:
1)文件數據,如中國移動某設備每天產生大量固定格式的文件;
2)資料庫
以上兩種不同的數據源有個共同點:要使用hive,那麼必須要將數據放到hive中;通常採用如下兩種方式:
1)文件數據:load到hive
2)資料庫:
sqoop到hive
數據的離線處理;
hive的執行延遲比較高,因為hive常用於數據分析的,對實時性要求不高;
hive優勢在於處理大數據,對於處理小數據沒有優勢,因為hive的執行延遲比較高。
處理數據存放在hive表中,那麼前台系統怎麼去訪問hive的數據呢?
先將hive的處理結果數據轉移到關系型資料庫中才可以,sqoop就是執行導入導出的操作
Ⅸ hive訪問hbase有幾種方式
Apache Hive是一個構建在Hadoop基礎設施之上的數據倉庫。通過Hive可以使用HQL語言查詢存放在HDFS上的數據。HQL是一種類SQL語言,這種語言最終被轉化為Map/Rece. 雖然Hive提供了SQL查詢功能,但是Hive不能夠進行交互查詢--因為它只能夠在Haoop上批量的執行Hadoop。
Ⅹ 區域網其他人對於hadoop偽分布式上的hive怎麼連接hive
熟悉了Sqlserver的sqlserver management studio、Oracle的PL/SQL可視化資料庫查詢分析工具,在剛開始使用hive、phoenix等類sql組件時,一直在苦苦搜尋是否也有類似的工具,不負所望,SQuirrel Sql client 可視化資料庫工具基本可滿足要求。 SQuirrel Sql client是一個用Java寫的資料庫客戶端,用JDBC統一資料庫訪問介面以後,可以通過一個統一的用戶界面來操作MySQL、MSSQL、Hive、Phoenix等支持JDBC訪問的資料庫。
可直接從官網下載,最新版本3.7.1
hive driver 配置:
下載基於windows的軟體包:squirrel-sql-3.7.1-standard.jar
運行SQuirrel Sql Client 程序,增加 hive driver, 如圖
雙擊別名,打開 Sql 查詢窗口,創建一個表,Sql如下:
CREATE TABLE web_log(viewTime INT, userid BIGINT, url STRING, referrer STRING, ip STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ';執行:show tables; 能正確顯示剛才創建的 web_log 表即ok.