當前位置:首頁 » 網頁前端 » hiveweb界面
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

hiveweb界面

發布時間: 2022-07-20 15:19:08

Ⅰ 如何判斷hive的遠程服務介面已經打開

1、hive 命令行模式,直接輸入/hive/bin/hive的執行程序,或者輸入 hive --service cli
用於linux平台命令行查詢,查詢語句基本跟mysql查詢語句類似
2、 hive web界面的 (埠號9999) 啟動方式
hive –service hwi &
用於通過瀏覽器來訪問hive,感覺沒多大用途
3、 hive 遠程服務 (埠號10000) 啟動方式
hive --service hiveserver &
或者
hive --service hiveserver 10000>/dev/null 2>/dev/null &
備註:
連接Hive JDBC URL:jdbc:hive://192.168.6.116:10000/default (Hive默認埠:10000 默認資料庫名:default)

Ⅱ 求助帖,hive sql的web客戶端

你網路搜索一下"hive squirrel sql client lxw的大數據田地", 裡面詳細介紹了連接Hive的客戶端界面工具–SQuirrel SQL Client的詳細用法。

Ⅲ hive報錯FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask

首先,code 2 經常是再試一次就好了。
如果不好的話,你提供的信息不足以排錯,需要詳細的錯誤棧

Ⅳ 集群我想連接hive 怎麼查找ip地址和埠

1、hive命令行模式,直接輸入/hive/bin/hive的執行程序,或者輸入hive--servicecli用於linux平台命令行查詢,查詢語句基本跟mysql查詢語句類似2、hiveweb界面的(埠號9999)啟動方式hive–servicehwi&用於通過瀏覽器來訪問hive,

Ⅳ python連接hive,怎麼安裝thrifthive

HiveServer2的啟動

啟動HiveServer2

HiveServer2的啟動十分簡便:

$ $HIVE_HOME/bin/hiveserver2

或者

$ $HIVE_HOME/bin/hive --service hiveserver2

默認情況下,HiverServer2的Thrift監聽埠是10000,其WEB UI埠是10002。可通過http://localhost:10002來查看HiveServer2的Web UI界面,這里顯示了Hive的一些基本信息。如果Web界面不能查看,則說明HiveServer2沒有成功運行。

使用beeline測試客戶端連接

HiveServer2成功運行後,我們可以使用Hive提供的客戶端工具beeline連接HiveServer2。

$ $HIVE_HOME/bin/beeline

beeline > !connect jdbc:hive2://localhost:10000

如果成功登錄將出現如下的命令提示符,此時可以編寫HQL語句。

0: jdbc:hive2://localhost:10000>

報錯:User: xxx is not allowed to impersonate anonymous

在beeline使用!connect連接HiveServer2時可能會出現如下錯誤信息:

Caused by: org.apache.hadoop.ipc.RemoteException:
User: xxx is not allowed to impersonate anonymous

這里的xxx是我的操作系統用戶名稱。這個問題的解決方法是在hadoop的core-size.xml文件中添加xxx用戶代理配置:

<property> <name>hadoop.proxyuser.xxx.groups</name> <value>*</value></property><property> <name>hadoop.proxyuser.xxx.hosts</name> <value>*</value></property>

重啟HDFS後,再用beeline連接HiveServer2即可成功連接。

常用配置

HiveServer2的配置可以參考官方文檔《Setting Up HiveServer2》

這里列舉一些hive-site.xml的常用配置:

hive.server2.thrift.port:監聽的TCP埠號。默認為10000。

hive.server2.thrift.bind.host:TCP介面的綁定主機。

hive.server2.authentication:身份驗證方式。默認為NONE(使用 plain SASL),即不進行驗證檢查。可選項還有NOSASL, KERBEROS, LDAP, PAM and CUSTOM.

hive.server2.enable.doAs:是否以模擬身份執行查詢處理。默認為true。

Python客戶端連接HiveServer2

python中用於連接HiveServer2的客戶端有3個:pyhs2,pyhive,impyla。官網的示例採用的是pyhs2,但pyhs2的官網已聲明不再提供支持,建議使用impyla和pyhive。我們這里使用的是impyla。

impyla的安裝

impyla必須的依賴包括:

  • six

  • bit_array

  • thriftpy(python2.x則是thrift)

  • 為了支持Hive還需要以下兩個包:

  • sasl

  • thrift_sasl

  • 可在Python PI中下載impyla及其依賴包的源碼。

    impyla示例

    以下是使用impyla連接HiveServer2的示例:

  • from impala.dbapi import connect


  • conn = connect(host='127.0.0.1', port=10000, database='default', auth_mechanism='PLAIN')


  • cur = conn.cursor()


  • cur.execute('SHOW DATABASES')print(cur.fetchall())


  • cur.execute('SHOW Tables')print(cur.fetchall())

Ⅵ hive中怎麼刪除表中的部分數據

Hive的數據管理:

(1)元數據存儲

Hive 將元數據存儲在 RDBMS 中,有三種模式可以連接到資料庫:

Single User Mode:此模式連接到一個 In-memory 的資料庫 Derby,一般用於 Unit Test。

Multi User Mode:通過網路連接到一個資料庫中,這是最常用的模式。

Remote Server Mode:用於非 Java 客戶端訪問元資料庫,在伺服器端啟動一個 MetaStoreServer,客戶端則利用 Thrift 協議通過 MetaStoreServer來訪問元資料庫。

(2)數據存儲

首先,Hive 沒有專門的數據存儲格式,也沒有為數據建立索引,用戶可以非常自由地組織 Hive 中的表,只需要在創建表的時候告訴 Hive 數據中的列分隔符和行分隔符,它就可以解析數據了。

其次,Hive 中所有的數據都存儲在 HDFS 中,Hive 中包含4種數據模型:Table、External Table、Partition、Bucket。

Hive 中的 Table 和資料庫中的 Table 在概念上是類似的,每一個 Table 在 Hive 中都有一個相應的目錄來存儲數據。例如,一個表 pvs,它在 HDFS 中的路徑為:/wh/pvs,其中,wh 是在 hive-site.xml 中由 ${hive.metastore.warehouse.dir} 指定的數據倉庫的目錄,所有的 Table 數據(不包括 External Table)都保存在這個目錄中。

Partition 對應於資料庫中Partition 列的密集索引,但是 Hive 中 Partition 的組織方式與資料庫中的很不相同。在 Hive 中,表中的一個 Partition 對應於表下的一個目錄,所有的 Partition 數據都存儲在對應的目錄中。例如:pvs 表中包含 ds 和 city 兩個 Partition,則對應於 ds = 20090801, city = US 的 HDFS 子目錄為:/wh/pvs/ds=20090801/city=US;對應於 ds = 20090801, city = CA 的 HDFS 子目錄為:/wh/pvs/ds=20090801/city=CA。

Buckets 對指定列計算 hash,根據 hash 值切分數據,目的是為了便於並行,每一個 Buckets對應一個文件。將 user 列分散至 32 個Bucket上,首先對 user 列的值計算 hash,比如,對應 hash 值為 0 的 HDFS 目錄為:/wh/pvs/ds=20090801/city=US/part-00000;對應hash 值為 20 的 HDFS 目錄為:/wh/pvs/ds=20090801/city=US/part-00020。

External Table 指向已經在 HDFS 中存在的數據,可以創建 Partition。它和 Table 在元數據的組織結構上是相同的,而在實際數據的存儲上則有較大的差異。

在Table 的創建過程和數據載入過程(這兩個過程可以在同一個語句中完成)中,實際數據會被移動到數據倉庫目錄中。之後對數據的訪問將會直接在數據倉庫的目錄中完成。刪除表時,表中的數據和元數據將會被同時刪除。

External Table 只有一個過程,因為載入數據和創建表是同時完成的。實際數據是存儲在 Location 後面指定的 HDFS 路徑中的,它並不會移動到數據倉庫目錄中。

(3)數據交換

數據交換主要分為以下幾個部分

用戶介面:包括客戶端、Web界面和資料庫介面。

元數據存儲:通常是存儲在關系資料庫中的,如MySQL、Derby等。

解釋器、編譯器、優化器、執行器。

Hadoop:用 HDFS進行存儲,利用 MapRece 進行計算。

用戶介面主要有三個:客戶端、資料庫介面和Web界面,其中最常用的是客戶端。Client 是 Hive 的客戶端,當啟動 Client 模式時,用戶會想要連接Hive Server,這時需要指出 Hive Server 所在的節點,並且在該節點啟動 Hive Server。Web界面是通過瀏覽器訪問 Hive的。

Hive 將元數據存儲在資料庫中,如 MySQL、Derby中。Hive 中的元數據包括表的名字、表的列和分區及其屬性、表的屬性(是否為外部表等)、表數據所在的目錄等。

解釋器、編譯器、優化器完成 HQL 查詢語句從詞法分析、語法分析、編譯、優化到查詢計劃的生成。生成的查詢計劃存儲在 HDFS 中,並在隨後由 MapRece調用執行。

Hive 的數據存儲在 HDFS 中,大部分的查詢由 MapRece 完成(包含 * 的查詢不會生成 MapRedcue 任務,比如 select * from tbl)。

以上從Hadoop的分布式文件系統HDFS、分布式資料庫HBase和數據倉庫工具Hive入手介紹了Hadoop的數據管理,它們都通過自己的數據定義、體系結構實現了數據從宏觀到微觀的立體化管理,完成了Hadoop平台上大規模的數據存儲和任務處理

Ⅶ 程序中的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機制,

Ⅷ python連接hive的時候必須要依賴sasl類庫嗎

客戶端連接Hive需要使用HiveServer2。HiveServer2是HiveServer的重寫版本,HiveServer不支持多個客戶端的並發請求。當前HiveServer2是基於Thrift RPC實現的。它被設計用於為像JDBC、ODBC這樣的開發API客戶端提供更好的支持。Hive 0.11版本引入的HiveServer2。

HiveServer2的啟動

啟動HiveServer2

HiveServer2的啟動十分簡便:

$ $HIVE_HOME/bin/hiveserver2

或者

$ $HIVE_HOME/bin/hive --service hiveserver2

默認情況下,HiverServer2的Thrift監聽埠是10000,其WEB UI埠是10002。可通過來查看HiveServer2的Web UI界面,這里顯示了Hive的一些基本信息。如果Web界面不能查看,則說明HiveServer2沒有成功運行。

使用beeline測試客戶端連接

HiveServer2成功運行後,我們可以使用Hive提供的客戶端工具beeline連接HiveServer2。

$ $HIVE_HOME/bin/beeline

beeline > !connect jdbc:hive2://localhost:10000

如果成功登錄將出現如下的命令提示符,此時可以編寫HQL語句。

0: jdbc:hive2://localhost:10000>

報錯:User: xxx is not allowed to impersonate anonymous

在beeline使用!connect連接HiveServer2時可能會出現如下錯誤信息:

12Caused by: org.apache.hadoop.ipc.RemoteException:User: xxx is not allowed to impersonate anonymous

這里的xxx是我的操作系統用戶名稱。這個問題的解決方法是在hadoop的core-size.xml文件中添加xxx用戶代理配置:

123456789<spanclass="hljs-tag"><<spanclass="hljs-title">property><spanclass="hljs-tag"><<spanclass="hljs-title">name>hadoop.proxyuser.xxx.groups<spanclass="hljs-tag"></<spanclass="hljs-title">name><spanclass="hljs-tag"><<spanclass="hljs-title">value>*<spanclass="hljs-tag"></<spanclass="hljs-title">value><spanclass="hljs-tag"></<spanclass="hljs-title">property><spanclass="hljs-tag"><<spanclass="hljs-title">property><spanclass="hljs-tag"><<spanclass="hljs-title">name>hadoop.proxyuser.xxx.hosts<spanclass="hljs-tag"></<spanclass="hljs-title">name><spanclass="hljs-tag"><<spanclass="hljs-title">value>*<spanclass="hljs-tag"></<spanclass="hljs-title">value><spanclass="hljs-tag"></<spanclass="hljs-title">property></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span>

重啟HDFS後,再用beeline連接HiveServer2即可成功連接。

常用配置

HiveServer2的配置可以參考官方文檔《Setting Up HiveServer2》

這里列舉一些hive-site.xml的常用配置:

hive.server2.thrift.port:監聽的TCP埠號。默認為10000。

hive.server2.thrift.bind.host:TCP介面的綁定主機。

hive.server2.authentication:身份驗證方式。默認為NONE(使用 plain SASL),即不進行驗證檢查。可選項還有NOSASL, KERBEROS, LDAP, PAM and CUSTOM.

hive.server2.enable.doAs:是否以模擬身份執行查詢處理。默認為true。

Python客戶端連接HiveServer2

python中用於連接HiveServer2的客戶端有3個:pyhs2,pyhive,impyla。官網的示例採用的是pyhs2,但pyhs2的官網已聲明不再提供支持,建議使用impyla和pyhive。我們這里使用的是impyla。

impyla的安裝

impyla必須的依賴包括:

  • six

  • bit_array

  • thriftpy(python2.x則是thrift)

  • 為了支持Hive還需要以下兩個包:

  • sasl

  • thrift_sasl

  • 可在Python PI中下載impyla及其依賴包的源碼。

    impyla示例

    以下是使用impyla連接HiveServer2的示例:

    1234567891011
  • fromimpala.dbapi import<span class="hljs-keyword">connectconn =<span class="hljs-keyword">connect(host=<span class="hljs-string">'127.0.0.1', port=<span class="hljs-number">10000, database=<span class="hljs-string">'default', auth_mechanism=<span class="hljs-string">'PLAIN')cur =conn.cursor()cur.execute(<span class="hljs-string">'SHOW DATABASES')<span class="hljs-keyword">print(cur.fetchall())cur.execute(<span class="hljs-string">'SHOW Tables')<span class="hljs-keyword">print(cur.fetchall())</span></span></span></span></span></span></span></span></span></span>

Ⅸ 學習hive可以不安裝mysql嗎

1、hive 命令行模式,直接輸入/hive/bin/hive的執行程序,或者輸入 hive --service cli
用於linux命令行查詢,查詢語句基本跟mysql查詢語句類似
2、 hive web界面的 (埠號9999) 啟動方式
hive –service hwi
用於通過瀏覽器來訪問hive,感覺沒多大用途
3、 hive 遠程服務 (埠號10000) 啟動方式
hive --service hiveserver
或者
hive --service hiveserver 10000>/dev/null 2>/dev/null
備註:
連接Hive JDBC URL:jdbc:hive://192.168.6.116:10000/default (Hive默認埠:10000 默認資料庫名:default)

Ⅹ hadoop web管理Hue,Ambari 和CM 的區別是什麼

1.hue是什麼?
hue是hadoop生態系統的統一webUI。你可以通過hue的界面,鏈接hive,發出hive語句。這個類似phpmysql。 你可以瀏覽hdfs的文件。 你可以定義oozie的工作流,可以寫pig的腳本,可以配置zookeeper,可以可視化的配置kafka。總之,hue的目標就是作一個hadoop各種生態組建的webUI的平台。
hue既然是平台,那組件就是app。參考這里。App Store | Hue
我未來的工作會讀hue的 python代碼,挖掘更多hue的功能。國內有hue的玩家,或者感興趣的玩家,歡迎一起交流噢。
2.clouera manager。
是管理hadoop集群運維的webUI。你可以用cloudera manager在集群中,簡單的搭建hadoop,hbase集群。通過cloudera manager,你能看到哪些datenode結點和namenode 結點聯結有問題了,哪些磁碟快滿了,哪些cpu高,哪些磁碟io高。等等。 當你有個datenode的一塊硬碟壞了時,你可以在cm中輕松的把這個datenode先停止工作,然後把結點移除。在磁碟修好了之後,再添加回集群。 當你新添加了一批機器,需要運行集群負載平衡的指令時,cm也能簡單滿足。 cloudera manager的用處,是用來簡化hadoop運維人員的工作門檻的,webUI所見所得,提高效率。
更詳細的clouderamanager介紹,就去cm的官網擼文檔吧。Cloudera QuickStart
3.ambari
做hadoop商業化的公司,有3家比較大的。cloudera manager 、 hortonworks、mapR.
這里是個簡單的對比 Cloudera vs. Hortonworks vs. MapR
一句話。cloudera manager的自家管理套件就是同名的cm。 ambari是hortonworks公司的,純開源的用來對標cm的hadoop生態管理套件。