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