我了解hadoop的组件是什么,但我的问题是:作为最终用户,如何在hadoop中访问文件而不必担心数据存储?因此,在使用pig/hive命令时,我是否应该担心数据存储是hdfs还是hbase?谢谢您
eni9jsuy1#
首先,hdfs是一个文件系统,hbase是一个数据库,所以是的,您应该考虑到这一点,因为您访问它们的方式不同。知道了这一点,pig和hive让您比纯java更容易访问数据。例如,hive允许您以接近sql的方式查询hbase。同样,您可以使用pig浏览和管理文件,就像使用standart机器上的shell一样。总之,您不应该担心hadoop如何存储文件,而应该担心文件的存储位置(hdfs或hbase)。
knpiaxh12#
hdfs是一个分布式文件系统,就像fxm所说的那样。几乎所有的hadoop组件都是基于hdfs构建的。hbase是一个将数据存储在分布式文件系统(hdfs,也可以是其他文件系统)上的数据库。pig是一种程序设计语言,它将生成Map来减少作业。hive是一种基于hdfs的数据库,它的sql将被生成来Mapreduce作业。使用hive或pig的udf,您几乎可以访问hdfs上的任何格式的数据。请原谅我的英语不好d
dgtucam13#
当数据是非结构化的并且没有模式时,使用pig。数据库推荐-hdfs。当数据是结构化的并且有可用的模式时,使用配置单元。建议使用数据库-hbase。
0g0grzrc4#
hadoop生态系统中的数据需要存储在分布式文件系统中。hdfs是最流行的文件系统。但hdfs的价值在于提供非常高的顺序读写(scan)吞吐量。如果你想要快速的随机读写呢?这就是hbase的用武之地。hbase位于hdfs之上,支持快速随机读写。但是你存储数据是为了问一些有趣的问题。这就是mapreduce的用武之地。在mapreduce编程范例中表达您的问题,它会得到您需要的答案。但这是低级的,你需要成为一名程序员。spark是mapreduce的另一种选择—在您需要提出比mapreduce更复杂的问题时进行了更好的优化。hive和pig是比mapreduce更高级的抽象。hive允许您用sql提问,并将sql转换为mapreduce(或spark)作业。不过,随着spark的日益普及,您可以跳过配置单元,使用sparksql(spark的dataframe/datasetapi),它也可以解释sql。在这篇优秀的文章中,alan gates(pig项目pmc成员和programming pig的作者)解释了hive和pig之间的区别。
4条答案
按热度按时间eni9jsuy1#
首先,hdfs是一个文件系统,hbase是一个数据库,所以是的,您应该考虑到这一点,因为您访问它们的方式不同。
知道了这一点,pig和hive让您比纯java更容易访问数据。例如,hive允许您以接近sql的方式查询hbase。
同样,您可以使用pig浏览和管理文件,就像使用standart机器上的shell一样。
总之,您不应该担心hadoop如何存储文件,而应该担心文件的存储位置(hdfs或hbase)。
knpiaxh12#
hdfs是一个分布式文件系统,就像fxm所说的那样。
几乎所有的hadoop组件都是基于hdfs构建的。
hbase是一个将数据存储在分布式文件系统(hdfs,也可以是其他文件系统)上的数据库。
pig是一种程序设计语言,它将生成Map来减少作业。
hive是一种基于hdfs的数据库,它的sql将被生成来Mapreduce作业。
使用hive或pig的udf,您几乎可以访问hdfs上的任何格式的数据。
请原谅我的英语不好d
dgtucam13#
当数据是非结构化的并且没有模式时,使用pig。数据库推荐-hdfs。
当数据是结构化的并且有可用的模式时,使用配置单元。建议使用数据库-hbase。
0g0grzrc4#
hadoop生态系统中的数据需要存储在分布式文件系统中。hdfs是最流行的文件系统。
但hdfs的价值在于提供非常高的顺序读写(scan)吞吐量。如果你想要快速的随机读写呢?
这就是hbase的用武之地。hbase位于hdfs之上,支持快速随机读写。
但是你存储数据是为了问一些有趣的问题。这就是mapreduce的用武之地。在mapreduce编程范例中表达您的问题,它会得到您需要的答案。但这是低级的,你需要成为一名程序员。spark是mapreduce的另一种选择—在您需要提出比mapreduce更复杂的问题时进行了更好的优化。hive和pig是比mapreduce更高级的抽象。hive允许您用sql提问,并将sql转换为mapreduce(或spark)作业。不过,随着spark的日益普及,您可以跳过配置单元,使用sparksql(spark的dataframe/datasetapi),它也可以解释sql。
在这篇优秀的文章中,alan gates(pig项目pmc成员和programming pig的作者)解释了hive和pig之间的区别。