首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用hbase / hive等选项通过多线程vs写入HDFS

问使用hbase / hive等选项通过多线程vs写入HDFS
EN

Stack Overflow用户
提问于 2017-02-16 13:13:06
回答 2查看 1K关注 0票数 0

我需要以一种高效的方式使用JAVA对hadoop系统进行批量写入。只是检查一下这里的选项。

与使用hbase / hive等选项相比,通过多线程写入HDFS是一项昂贵的操作。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-16 15:35:46

Hive和HBase是两种不同的工具。Hbase是一个数据库,Hive是一个查询引擎。Hbase不同于hive和hadoop。

现在回答您的问题,您可以使用mapreduce和Java编写HDfS,如果您的程序在处理数据方面效率很高的话。那么地图减少可以比蜂巢更快。造成这种情况的主要原因是,无论您在hive中编写什么查询,都会被转换为map还原程序。因此,最终,这是mapreduce程序的效率,如果您能够编写一个更好、更高效的程序,那么它可以比matters.Thus查询更快。

票数 1
EN

Stack Overflow用户

发布于 2017-02-16 13:31:35

在回答问题之前,有一件事,我想你对这些概念有点困惑。

Hadoop: MapReduce + HDFS (分布式文件系统)。

Hive只是HDFS之上的一个层。这根本不是FileSystem。将HDFS与Hive进行比较是没有意义的。

HBase是一个非关系数据库,可以在Hadoop之上运行,并提供随机数据访问/查询功能。HDFS本身不支持任意位置的读/写。

引用Hadoop的话-权威指南

HDFS是围绕这样一个理念构建的:最有效的数据处理模式是一种写一次、多次读取的模式。数据集通常是从源生成或复制的,然后对该数据集进行各种分析。每次分析都涉及很大一部分(如果不是全部)数据集,因此读取整个数据集的时间比读取第一条记录的延迟时间更重要。

我认为这篇文章(Hadoop HDFS简介)会对你很有帮助。

为了进一步回答您的问题,HBase将数据作为键/值对存储在列数据库中。您可以将Hbase看作是Hadoop环境的扩展,它允许您快速读取/写入data.It,将数据存储在HDFS中。

一些特点:

  1. 从大数据集中访问少量数据的低延迟访问。您可以从10亿行表中快速访问单个行。
  2. 使用灵活的数据模型,并通过行键对数据进行索引。
  3. 在桌子上快速扫描。

4.按写量和总数据量进行缩放.

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42274998

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档