数据处理框架和MapReduce
数据处理框架是用来处理数据本身的工具。默认情况下,这是基于Java的系统,称为MapReduce。您比Hadoop的HDFS更多地了解MapReduce,原因有二:
这是实际获得数据处理的工具。
当他们一起工作时,往往会让人们发疯。
在“常规”关系数据库中,基于行业标准的结构化查询语言(SQL),使用查询来查找和分析数据。非关系型数据库也使用查询;他们不仅仅限于使用SQL,还可以使用其他查询语言从数据存储中提取信息。因此,这个术语NoSQL。
但是Hadoop并不是一个真正的数据库:它存储数据,你可以从中提取数据,但不涉及任何查询 - SQL或其他。 Hadoop更像是一个数据仓库系统 - 所以它需要像MapReduce这样的系统来实际处理数据。
MapReduce作为一系列工作来运行,每个工作本质上都是一个独立的Java应用程序,它们将进入数据并开始根据需要提取信息。使用MapReduce而不是查询为数据搜索者提供了很多的功能和灵活性,但也增加了很多复杂性。
有一些工具可以简化这个工作:Hadoop包括另一个Apache应用程序Hive,它可以帮助将查询语言转换为MapReduce作业。但是,MapReduce的复杂性及其对单一工作一次性批处理的限制往往会导致Hadoop作为数据仓库而不是数据分析工具被更频繁地使用。
数据处理框架是用来处理数据本身的工具。默认情况下,这是基于Java的系统,称为MapReduce。您比Hadoop的HDFS更多地了解MapReduce,原因有二:
这是实际获得数据处理的工具。
当他们一起工作时,往往会让人们发疯。
在“常规”关系数据库中,基于行业标准的结构化查询语言(SQL),使用查询来查找和分析数据。非关系型数据库也使用查询;他们不仅仅限于使用SQL,还可以使用其他查询语言从数据存储中提取信息。因此,这个术语NoSQL。
但是Hadoop并不是一个真正的数据库:它存储数据,你可以从中提取数据,但不涉及任何查询 - SQL或其他。 Hadoop更像是一个数据仓库系统 - 所以它需要像MapReduce这样的系统来实际处理数据。
MapReduce作为一系列工作来运行,每个工作本质上都是一个独立的Java应用程序,它们将进入数据并开始根据需要提取信息。使用MapReduce而不是查询为数据搜索者提供了很多的功能和灵活性,但也增加了很多复杂性。
有一些工具可以简化这个工作:Hadoop包括另一个Apache应用程序Hive,它可以帮助将查询语言转换为MapReduce作业。但是,MapReduce的复杂性及其对单一工作一次性批处理的限制往往会导致Hadoop作为数据仓库而不是数据分析工具被更频繁地使用。