HCatalog
HCatalog是Hadoop中的表和存儲管理層,能夠支持用戶用不同的工具(Pig、MapReduce)更容易地表格化讀寫數據。
HCatalog從Apache孵化器畢業,並於2013年3月26日與Hive項目合並。
Hive版本0.11.0是包含HCatalog的第一個版本。(隨Hive一起安裝)
概述
HCatalog的表抽象向用戶提供了Hadoop分布式文件系統(HDFS)中數據的關系視圖,並確保用戶不必擔心數據存儲在哪里或以什么格式存儲 - RCFile格式,文本文件,SequenceFiles或ORC文件。
HCatalog支持讀寫任意格式的SerDe(序列化 - 反序列化)文件。默認情況下,HCatalog支持RCFile,CSV,JSON和SequenceFile以及ORC文件格式。要使用自定義格式,您必須提供InputFormat,OutputFormat和SerDe。
結構
HCatalog構建於Hive metastore,並包含Hive的DDL。HCatalog為Pig和MapReduce提供讀寫接口,並使用Hive的命令行界面發布數據定義和元數據探索命令。
安裝
從Hive版本0.11.0開始,Hatalog集成於Hive。
命令行
如果從二進制tarball安裝Hive,hcat命令在hcatalog / bin目錄中可用。
hcat命令行類似於hive命令行;主要區別在於它限制了可以運行到僅元數據操作的查詢,例如用於讀取元數據的DDL和DML查詢(例如“show tables”)。
CLI手冊:https://cwiki.apache.org/confluence/display/Hive/HCatalog+CLI
大多數hcat命令可以作為hive命令發出,除了“hcat -g”和“hcat -p”。
請注意,hcat命令使用-p標志的權限,但是hive使用它來指定端口號
sqoop使用HCatalog導入數據到Hive,並指定多個分區
sqoop import -connect jdbc:oracle:thin:@192.168.186.65:1521:orcl -username ultrapower -password 123456 -table BMS_CONGRUENT_COUNT \ -m 1 -z --delete-target-dir \ --create-hcatalog-table \ --hcatalog-database tj \ --hcatalog-table BMS_CONGRUENT_COUNT \ --hcatalog-partition-keys in_month,in_date \ --hcatalog-partition-values "201601","20160101" \ --verbose