如何查询位于本地文件系统上的Shark中的外部表与使用位于HDFS上的数据进行查询性能相比如何?我计划使用单个高端服务器来运行shark查询,并想知道是否绝对需要安装hadoop / hdfs。
答案 0 :(得分:1)
通常,如果您打算在单个高端服务器上运行,则无需设置HDFS。在这种情况下,实际上你应该比在一台机器上安装的HDFS获得更好的性能,因为你不会因为获取文件元数据而进行额外的往返localhost的额外开销,或额外的间接HDFS将文件映射到一系列不透明的块上,这些块本身就是本地文件系统上的文件。
请注意,您仍将自动受益于Shark通过Hadoop RawLocalFileSystem(这是未明确设置HDFS时加载的默认“Hadoop文件系统”),因此Shark将有效地思考它使用的是HDFS等价物。这意味着将来,如果您确实需要在分布式群集上运行,那么修改fs.default.name应该是一件简单的事情,其他所有内容都与您在单个机器设置上习惯的相同