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