什么是 HCatalog?
Apache HCatalog 是 Hadoop 的存储管理层,可帮助 Hadoop 生态系统中不同数据处理工具(如 Hive、Pig 和 MapReduce)的用户轻松地从集群读取和写入数据。 HCatalog 支持存储在 HDFS 上的 RCFile 格式、Parquet、ORC 文件或序列文件中数据的关系视图。它还向外部系统公开 REST API 以访问元数据。
HCatalog 函数
Apache HCatalog 提供以下好处:
- 使用户不必知道数据存储在哪里(使用表抽象)
- 启用数据可用性通知
- 为数据清理和归档工具提供可见性
怎么运行的?
HCatalog 支持读取和写入任何格式的文件,可以为其编写 Hive SerDe(序列化器-解串器)。默认情况下,HCatalog 支持 RCFile、Parquet、ORCFile CSV、JSON 和 SequenceFile 格式。要使用自定义格式,您必须提供 InputFormat、OutputFormat 和 SerDe。
HCatalog 构建在 Hive 元存储之上,并包含来自 Hive DDL 的组件。 HCatalog 为 Pig 和 MapReduce 提供读写接口,并使用 Hive 的命令行接口来发布数据定义和元数据探索命令。它还提供了一个 REST 接口,允许外部工具访问 Hive DDL(数据定义语言)操作,例如“创建表”和“描述表”。
HCatalog 提供数据的关系视图。数据存储在表中,这些表可以放入数据库中。表也可以根据一个或多个键进行分区。对于一个键(或一组键)的给定值,将有一个分区包含具有该值(或一组值)的所有行。
要查看 HCatalog 如何与 Pig 一起使用,请访问 此处。