Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql Hadoop与关系数据库_Mysql_Hadoop_Hbase_Hive - Fatal编程技术网

Mysql Hadoop与关系数据库

Mysql Hadoop与关系数据库,mysql,hadoop,hbase,hive,Mysql,Hadoop,Hbase,Hive,我是Hadoop新手,希望了解Hadoop在场景中的工作情况 在创建动态Web项目的过程中,我经常通过从Java/C发送查询来存储和获取MySQL数据库中的数据 我在我的项目中使用Hadoop服务,Hadoop是否提供任何内置数据库系统,我们可以在需要时存储数据并检索数据,而不是使用外部数据库 提前感谢。Hadoop作业使用创建s。虽然大多数示例使用文件输入并使用HDFS片段作为输入拆分,但该概念是抽象的,可以映射到其他输入。一个典型的示例是已经存在的,它表示表中的一组行。这种输入格式/输入拆分

我是Hadoop新手,希望了解Hadoop在场景中的工作情况

在创建动态Web项目的过程中,我经常通过从Java/C发送查询来存储和获取MySQL数据库中的数据

我在我的项目中使用Hadoop服务,Hadoop是否提供任何内置数据库系统,我们可以在需要时存储数据并检索数据,而不是使用外部数据库

提前感谢。

Hadoop作业使用创建s。虽然大多数示例使用文件输入并使用HDFS片段作为输入拆分,但该概念是抽象的,可以映射到其他输入。一个典型的示例是已经存在的,它表示表中的一组行。这种输入格式/输入拆分是命令行工具使用的,该工具提供多个命令来读取数据库输入

其要点是,使用DB作为工作输入是绝对可能的,您必须认识到,您将实现的是释放一个计算节点集群,通过对一系列行的请求来关闭关系数据库。您的后端很可能无法处理负载,或者充其量只能缓慢处理负载。Hadoop的强大功能来自于处理与简化的本地存储访问的集成,您明确要求放弃它

因此,如果您的目标是在RDBMS和HDF之间移动数据,那么《独家新闻》将在以下案例中介绍您

从数据库导入所有表

导入一个表

分别导入表中特定行或特定列的一部分

将数据从HDFS导出到关系数据库


Hadoop核心不包含任何数据库

数据库非常棒。对一个 索引/调优数据库,响应在毫秒内返回。 要更改该数据吗?SQL更新,并且更改在中。Hadoop确实如此 不要这样做

Hadoop将数据存储在文件中,不为它们编制索引。如果你想 找到一些东西,你必须运行一个MapReduce作业来完成所有的任务 数据这需要时间,并且意味着您不能直接使用Hadoop 作为数据库的替代品。Hadoop工作的地方就是数据存储的地方 对于数据库来说太大了,即您已经达到了技术极限, 不仅仅是您不想为数据库许可证付费。非常 在大型数据集中,重新生成索引的成本非常高,您无法 轻松索引更改数据。许多机器都在试图向 数据库,你不能锁定它。这里的想法模糊相关 分布式文件系统中的文件可以工作

有一个高性能的列表数据库运行在 Hadoop HDFS:ApacheHBase。这是一个保存结果的好地方 从原始数据中提取

您还可以使用它,它给您的感觉是关系数据库,尽管它也有像MySQL这样的缺点。在幕后,它使用Mapreduce帮助您利用Hadoop处理大数据。
请注意,Hive不是为OLTP工作负载设计的,不提供实时查询或行级更新

Hadoop不提供任何内置数据库。这只是两件事:

分布式FS-HDFS 分布式处理框架MapReduce。简言之,我叫它MR 我假设您需要非常快速的响应,因为您正在处理web服务。IMHO,确切地说是HadoopHDFS,或者任何其他的FS,在这种情况下都不是合适的选择。原因是HDFS缺乏随机/读取功能,这对于任何web项目都是非常重要的

蜂巢也是如此。尽管它以类似于RDBMS的方式管理数据,但实际上它不是RDBMS。底层存储机制仍然是HDFS文件。此外,当您发出配置单元查询以获取结果时,该查询首先转换为MR作业,然后生成结果,导致响应缓慢

你最安全的赌注是和他一起去。当您需要对数据进行随机、实时的读/写访问时,这无疑是一个更好的选择,就像您的情况一样。虽然它不是Hadoop平台的一部分,但它是为与Hadoop一起使用而构建的。可以在现有HDFS群集的基础上工作,可以直接通过您的案例中的不同HBase APIsfits或通过MRnot进行实时操作。适用于需要批量处理大量数据的情况。易于安装和使用,无需额外的基础设施

这里需要注意的一点是,HBase是一个NoSQL数据库,不遵循RDBMS惯例和术语。因此,您可能需要在最初的设计上做一些工作

除了HBase,您还有一些其他选项,例如,它也是一个nosqldb


HTH

您在项目中使用了哪些hadoop服务?谢谢,这非常有用。