草庐IT

hadoop - 在 HDFS 中本地化 HFile block

我们使用Mapreduce批量创建HFile,然后将其增量/批量加载到HBase中。我注意到加载只是一个HDFS移动命令(它不会物理移动文件block)。由于我们进行了大量的HBase表扫描并且我们启用了短路读取,因此将这些HFile本地化到它们各自区域的节点将是有益的。我知道主要压缩可以实现这一点,但当HFile与区域大小相比较小时,这些压缩效率很低。 最佳答案 HBase使用HDFS作为文件系统。HBase不控制HDFSblock的数据局部性。当使用HBaseAPI向HBase写入数据时,HBaseRegionServer成为H

hadoop - 以编程方式创建 HFile 并将其加载到 HBase 时,新条目不可用

我正在尝试以编程方式创建HFile并将它们加载到正在运行的HBase实例中。我在HFileOutputFormat和LoadIncrementalHFiles中找到了很多信息我设法创建了新的HFile,并将其发送到集群。在集群Web界面中,新的存储文件出现,但新的键范围不可用。InputStreamstream=ProgrammaticHFileGeneration.class.getResourceAsStream("ga-hourly.txt");BufferedReaderreader=newBufferedReader(newInputStreamReader(stream))
12