Hadoop生态系统的拓展与应用
1. HBase数据模型
HBase数据模型与Hive及其他关系型数据库管理系统(RDBMS)所采用的关系型方法不同,也不提供关系型存储中理所当然的完整ACID保证。它是一种无模式的键值解决方案,采用面向列的数据视图。列可以在运行时添加,并且依赖于插入HBase的值。每次查找操作都非常快,因为它实际上是从行键到所需列的键值映射。此外,HBase将时间戳视为数据的另一个维度,因此可以直接从某个时间点检索数据。
不过,HBase数据模型并非适用于所有用例,就像关系型模型也并非普遍适用一样。但如果需要对存储在Hadoop中的大规模数据进行结构化、低延迟的查看,那么HBase绝对值得关注。
2. Sqoop
Apache Sqoop(http://sqoop.apache.org)提供了一种在关系型数据库和Hadoop之间声明性地指定数据移动的机制。它接受任务定义,并据此生成MapReduce作业来执行所需的数据检索或存储。它还会生成代码,以帮助使用自定义Java类操作关系型记录。此外,它可以与HBase和Hcatalog/Hive集成,提供了非常丰富的集成可能性。
Sqoop目前有两个版本,Sqoop 1是一个纯客户端应用程序,类似于原始的Hive命令行工具,没有服务器,所有代码都在客户端生成。这意味着每个客户端需要了解物理数据源的许多详细信息,包括确切的主机名和身份验证凭据。Sqoop 2提供了一个集中式的Sqoop服务器,封装了所有这些详细信息,并向连接的客户端提供各种配置好的数据源。虽然Sqoop 2是一个更优越的模型,但目前社区普遍建议在新版本进一步发展之前,继续使用Sqoop 1。
超级会员免费看
订阅专栏 解锁全文
1946

被折叠的 条评论
为什么被折叠?



