- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我们使用 Mapreduce 批量创建 HFile,然后将其增量/批量加载到 HBase 中。我注意到加载只是一个 HDFS 移动命令(它不会物理移动文件 block )。
由于我们进行了大量的 HBase 表扫描并且我们启用了短路读取,因此将这些 HFile 本地化到它们各自区域的节点将是有益的。
我知道主要压缩可以实现这一点,但当 HFile 与区域大小相比较小时,这些压缩效率很低。
最佳答案
HBase 使用 HDFS 作为文件系统。 HBase 不控制 HDFS block 的数据局部性。
当使用 HBase API 向 HBase 写入数据时,HBase RegionServer 成为 HDFS 的客户端
,在 HDFS 中,如果客户端节点也是数据节点,则还会创建一个本地 block 。因此,当使用 HBase API 进行写入时,localityIndex 较高。
当使用批量加载时,HFiles 已经存在于 HDFS 中。因为,它们已经存在于 hdfs 上。 HBase 只会使这些 hfile 成为区域的一部分。在这种情况下,无法保证数据局部性。
如果您真的需要高数据局部性,那么我建议您使用 HBase API 进行写入,而不是批量加载。
我一直在使用 HBase API 从我的 MR 工作中写入 HBase,到目前为止它们运行良好。
关于hadoop - 在 HDFS 中本地化 HFile block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31900276/
我对 HFiles 有一个相当基本的怀疑。 当发起 put/insert 请求时,值首先写入 WAL,然后写入 memstore。 memstore 中的值以与 HFile 中相同的排序方式存储。一旦
如果您有一个列族,那么行键的所有列都在同一个 HFile 中?来自行键和相同列族的数据是否可以混合在不同的 HFile 中?这是因为我认为它们是排序的,但我在一本书中读到: 来自单行的单个列族的数据不
我有一个创建 Put 文件的程序 - Put put = new Put(Bytes.add(someKey)); put.add(COLUMN_FAMILY, colName, ti
我正试图将超过 100 亿条记录转储到 hbase 中,这将平均每天增长1000万,然后尝试一个完整的表扫描记录。我知道对 hdfs 进行全面扫描会比hbase快。 Hbase 用于对不同的数据进行排
更新 - 已解决并回答,有问题的行已被注释掉 简要说明 即使我对 CreateFile 使用(GENERIC_WRITE 或 GENERIC_WRITE),对 CreateFileMapping 使用
我有一个 HFile,我正在尝试使用 Java 读取/反序列化。看起来像这样HFile.reader很有希望,但是,我什至很难将库导入到 Maven 中。 这就是我的 POM 的样子:
我有一个文件的句柄,hFile。我想找到它的MD5,我怎么能够?我只需要一点指导。 HANDLE hFile=myClass.getHandle(); calculateMd5(hFile); cal
搜索“hfile cpp”是一次很好的体验,结果并不顺利。所以我想问一下,在 C++ 中是否有支持 HBase HFile 操作(读取、写入、映射到内存)的库? HFile 是 Google 的 SS
我写了一个映射器通过 HFile 将数据从磁盘加载到 HBase,程序运行成功,但是我的 HBase 表中没有加载数据,请问有什么想法吗? 这是我的java程序: protected void wri
我正在尝试获取 HBase 中 HFile 的一些指标详细信息。以下是问题。 如何获取 Hbase 表的 HFile 的实际位置。 是否有任何 shell 命令来获取合并后的文件大小。 我理解Hfil
我们使用 Mapreduce 批量创建 HFile,然后将其增量/批量加载到 HBase 中。我注意到加载只是一个 HDFS 移动命令(它不会物理移动文件 block )。 由于我们进行了大量的 HB
我正在将大量文件导入到 HBase 表中,所以我决定使用批量加载 9.8. Bulk Loading .我已经设法通过 MapReduce 作业准备数据,但是当我尝试使用此命令完成加载时 hbase
WinAPI OpenFile 函数返回 HFILE,例如 GetFileTime 需要 HANDLE。当我用 (HANDLE)some_hFile 喂它时,它似乎工作正常。这种类型有什么不同吗,或者
我正在尝试使用 bulkload 将 Hfile 上传到 Hbase。这样做时我遇到了找不到方法的错误。在下面提供日志和命令。 命令 hadoop jar /usr/lib/hbase/li
我正在尝试以编程方式创建 HFile 并将它们加载到正在运行的 HBase 实例中。我在 HFileOutputFormat 和 LoadIncrementalHFiles 中找到了很多信息 我设法创
是否有任何具有以下行为的扫描/过滤 API? 在给定的时间范围内,我希望扫描器包含来自超出范围的 HFile 的数据,对于范围内的 HFile 中包含的行键。这个想法是扫描所有 HFile 的内存索引
我想使用 HBase 批量加载 API LoadIncrementalHFiles.doBulkLoad(new Path(), hTable) 将我的 map-reduce 作业的输出插入到 HBa
我试图在 spark 中访问 hadoop 文件,但出现此错误 org.apache.hadoop.mapred.InvalidInputException: Input path does not
我是一名优秀的程序员,十分优秀!