这可能是一个非常基本的问题所以请原谅无知。
据我所知,hive将在开箱即用(hive tar.bin extract)香草设置中使用两个亚组件。在我的情况下,我有蜂巢0.14。
derby数据库中有一个 - 在hdfs之外有一个名为## Define column names you want to modify
cols <- c("balance", "employment")
## Assign `NA`s when satus == "R"
x[status == "R", (cols) := NA]
## Carry the last observation forward and update by reference
library(zoo) ## You could do this with base R too, just more writing
x[, (cols) := lapply(.SD, na.locf), .SDcols = cols]
的默认文件夹名称。
在/ user / hive / warehouse中有另一个hdfs。
这两者之间有什么区别?
答案 0 :(得分:3)
在Hive中,Metastore构成(1)元存储服务和(2)数据库。
Metastore DB - 是任何JDBC投诉RDBMS数据库,其中存储managed and external tables的架构和分区详细信息。其他应用程序(如Impala)可以使用它来从中获取表和模式详细信息。顾名思义,它只存储元数据。
Metastore服务 - Hive还运行一个名为Metastore服务的独立服务来管理Metastore数据,例如,在Metastore数据库中存储Hive表和分区的元数据,并为客户端(包括Hive)提供访问权限通过Metastore服务API获取此信息。
仓库 - Hive数据存储在HDFS中,通常位于/ user / hive / warehouse下(或您在hive-site.xml中指定为hive.metastore.warehouse.dir的任何路径)。
答案 1 :(得分:1)
Metastore是hive存储表的架构,以及更多数据如何在仓库中为架构表引用数据的目录。
仓库通常存储在HDFS,关系数据库中的Metastore,如Derby,MySQL或Postgre。
Metastore通常用于许多其他应用程序,例如impala,用于仓库中的发现表。