我是 Hadoop 新手。我一直在基于在 Linux 上运行的预构建 Hadoop 虚拟机做以下教程。
我确实基于一个文件在默认数据库上创建了一个 Hcatalog 表。我想知道这些数据库和表是否可以在 Hadoop 文件系统上看到,或者它们是否在某种特殊的存储中。
HCatalog 在存储在 HDFS 集群上的数据上创建一个表抽象层。此表抽象层以熟悉的关系格式呈现数据,并使用熟悉的查询语言概念更容易读取和写入数据。
HCatalog 数据结构使用 Hive 的数据定义语言 (DDL) 定义,Hive 元存储存储 HCatalog 数据结构。使用命令行界面 (CLI),用户可以创建、更改和删除表。表被组织到数据库中,或者如果没有为表定义,则将其放置在默认数据库中。创建表后,您可以使用 Show Table 和 Describe Table 等命令浏览表的元数据。HCatalog 命令与 Hive 的 DDL 命令相同。
请参阅何时使用 Hcatalog 及其好处以获得更多说明。
请参阅Microsoft 大数据解决方案以了解有关 HCatalog 的更多信息。
HCatalog 构建在 Hive 元存储之上,因此它存储元数据的位置将取决于您如何设置 Hive。如果您为 Metastore 使用外部数据库,那么如果您使用默认配置,它就会存在,它存储在本地 derby 数据库中。您将无法在 hadoop 文件系统上看到“数据库和表”。Hive 提供了一种将结构投影到此数据(位于 hdfs 上)并使用称为 HiveQL 的类似 SQL 的语言查询数据的机制。
https://cwiki.apache.org/confluence/display/Hive/HCatalog+UsingHCat