在阿里云E-MapReduce(EMR)中,Hive支持通過配置外部表來訪問和處理存儲在Phoenix系統中的數據。本文通過示例為您介紹,如何使用EMR上的Hive處理EMR Phoenix數據。
前提條件
使用限制
本文檔僅適用于EMR-3.x系列版本。
操作步驟
如果已經在Phoenix中創建了表phoenix_hive_create_internal,想通過Hive訪問,則可以使用Hive外表的方式與Phoenix中的表建立映射關系,進而通過Hive訪問Phoenix中已經存在的表。
執行以下命令,進入Hive命令行。
hive
- 執行以下命令,在Hive中創建外表,建立與Phoenix表的映射關系。
create external table ext_table( s1 string, i1 int, f1 float, d1 double ) stored by 'org.apache.phoenix.hive.PhoenixStorageHandler' tblproperties( "phoenix.table.name" = "phoenix_hive_create_internal", "phoenix.rowkeys" = "s1, i1", "phoenix.column.mapping" = "s1:s1, i1:i1, f1:f1, d1:d1" );
執行以下命令,在Hive中查看Phoenix表的數據。
select * from ext_table;
如果可以正常查詢數據,說明Hive已經成功訪問了Phoenix的數據。
相關文檔
Phoenix更多的介紹,請參見Phoenix。
Phoenix接入Hive的內容,請參見Phoenix Storage Handler for Apache Hive。
文檔內容是否對您有幫助?