http://wiki.apache.org/hadoop/Hive/HiveJDBCInterface - 是否有比Hive JDBC驱动程序更高级别的ORM接口,我们可以使用它来运行查询并解析结果
答案 0 :(得分:8)
没有。 ORM中的“R”代表“关系数据库”。 Hive是NOSQL数据库,而不是关系数据库。与许多其他NOSQL数据库相比,Hive的一个巨大优势是您可以使用(几乎)普通SQL并使用(几乎)全功能标准JDBC接口来访问它。但是如果你正在考虑一起使用ORM和Hive,你可能会从一个不正确的角度接近你的问题。
编辑6/4/13:以下是维基百科的引用:在关系模型中,每个表架构必须标识用于标识称为主键的行的主列。表可以通过使用指向主键的外键来关联。
Hive既不支持外键也不支持主键,因此它不是关系数据库。
我要感谢downvoter让我有机会重复检查导致我原始陈述的推理。
答案 1 :(得分:0)
Hive是Hadoop之上的生态系统组件。它不是RDBMS或NOSQL数据库,它只是在HDFS(文件系统)之上编写MapReduce编程的方式。
Hive的创建是为了让开发人员友好,拥有sql知识的人只需编写一种sql类型的语句就可以轻松运行MapReduce。 MapReduce可以表示为一个sql,其中Hive引擎使用Driver将它们转换为MapReduce。
Hive使用Metastore对存储及其结构进行划分。 Metastore是简单的RDBMS,就像我们可以连接到它的任何其他RDBMS一样,并在此之上创建一个sql语句。一旦我们在Metastore上创建了一个HQL语句,Metastore就有能力告诉下划线Hive引擎执行HQL语句并返回结果作为结果集。