- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
如果我的环境设置如下:
-64MB HDFS block
-5 台平板电脑服务器
-10 个 tablets,每个 tablet 服务器大小为 1GB
如果我有如下表格:
行A | f1 | q1 | v1
行A | f1 |问题2 | v2
行B | f1 | q1 | v3
行C | f1 | q1 | v4
C行 | f2 | q1 | v5
C行 | f3 |问题3 | v6
从很少的文档中,我知道关于 rowA 的所有数据都将放在一个平板电脑上,平板电脑可能包含也可能不包含其他行的数据,即全部或不包含。所以我的问题是:
tablet 如何映射到 Datanode 或 HDFS block ?显然,一个 tablet 被分成多个 HDFS block (在本例中为 8 个),那么它们将存储在相同或不同的数据节点上还是无关紧要?
在上面的示例中,关于 RowC(或 A 或 B)的所有数据会进入同一个 HDFS block 还是不同的 HDFS block ?
在执行 map reduce 作业时,我会得到多少个映射器? (每个 hdfs block 一个?或每个平板电脑?或每个服务器?)
提前感谢您提出的所有建议。
最佳答案
直接回答您的问题:
How are the tablets mapped to a Datanode or HDFS block? Obviously, One tablet is split into multiple HDFS blocks (8 in this case) so would they be stored on the same or different datanode(s) or does it not matter?
Tablet 像 HDFS 中的所有其他文件一样存储在 block 中。您通常会在至少一个数据节点上看到单个文件的所有 block (情况并非总是如此,但当我查看较大文件的 block 位置时似乎大多成立)
In the example above, would all data about RowC (or A or B) go onto the same HDFS block or different HDFS blocks?
取决于您的平板电脑的 block 大小(dfs.block.size
或如果配置了 Accumulo 属性 table.file.blocksize
)。如果 block 大小与 tablet 大小相同,那么显然它们将在同一个 HDFS block 中。否则,如果 block 大小小于平板电脑大小,那么它们是否在同一个 block 中就靠运气了。
When executing a map reduce job how many mappers would I get? (one per hdfs block? or per tablet? or per server?)
这取决于你给的范围 InputFormatBase.setRanges(Configuration, Collection<Ranges>)
.
如果您扫描整个表格 (-inf -> +inf),那么您将获得与 tablets 数量相等的映射器数量(由 disableAutoAdjustRanges 警告)。如果您定义特定范围,您将获得不同的行为,具体取决于您是否调用了 InputFormatBase.disableAutoAdjustRanges(Configuration)
。与否:
关于hadoop - 当谈到 mapreduce 时,Accumulo tablet 是如何映射到 HDFS block 的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13712822/
我的虚拟机详细信息: Cloudera 快速入门 VM 5.5.0 VM = VM 工作站 12 播放器 Windows = Windows 10/64 位 Java = Java 1.8 当我运行“
我想为我的本地机器清除 accumulo 中的所有记录,并想删除在测试时创建的未使用的表。我发现可以从 accumulo shell 使用 delete table 命令,但是这将需要大量手动工作来删
我正在使用 Accumulo 1.6,并且希望通过 Nodejs 中的 Accumulo 代理客户端给定的 rowkey 来删除一些记录。 但是当我尝试将相同的行键放入deleteRows API 时
我在初始化 accumulo 时创建了一个实例,方法是调用 累积初始化 但现在我想删除该实例,并且我想创建一个新实例。 任何人都可以帮助做到这一点吗? 最佳答案 从 HDFS 中删除 $ACCUMUL
在我的系统中,Hadoop和Zookeeper正常工作。现在我刚刚配置了Accumulo。但是当我要通过以下方式初始化Accumulo时 累积初始 它显示以下错误。 [root@hydDev32 bi
我一直在尝试安装 Accumulo 并试用了几天,但它甚至在开始之前就已经备货了。我最终使用了安装了 Hadoop 和 Zookeeper 的 HortonWorks Sandbox。我按照 Accm
我想将流数据写入accumulo!。有任何用于累积写入数据的API。可以用python代替java吗? 最佳答案 通过BatchWriter实例化查看Connector。 Accumulo Thrif
有没有办法对扫描仪获得的条目进行排序?我遇到的问题是,我有后缀索引来减少重复的行 ID,并且当我扫描时,我没有得到完美的升序有序列表。例如,我得到如下所示的内容: RowId: 2013-08-05
我已将一些行插入到 Accumulo 的表格中。有些行是新创建的,有些行是更新的。 如何找到插入或更新到Java 中的累加表? def obj= jsonObject["obj"] for(entry
我正在努力学习 Accumulo。但我有几个问题无法直接找到: 首先,我们能否在不停机的情况下向现有的 Accumulo 系统添加新服务器?如果是,则新节点将由 master 安排其共享(DB 数据)
Accumulo 无法加载、删除或创建新表。我的默认用户是 root。 Master 和 tablet server 和 zookeeper 还活着。 早些时候我试图通过使用 accululo ini
我的 Accumulo 实例已损坏。当我启动我的实例时,它抛出了一个错误,指出我的元数据表已损坏。然后我从 hdfs 的 Accumulo 目录备份了我的数据,并在我的实例上做了一个初始化。我没有意识
./bin/accumulo shell -u root Password: ****** 2015-02-14 15:18:28,503 [impl.ServerClient] WARN : The
简而言之,我有一个客户想要将一堆 ASCII 文本文件(又名“输入文件”)中包含的数据摄取到 Accumulo 中。 这些文件是从不同的数据馈送设备输出的,并将在非 Hadoop/非 Accumulo
我一直在运行一个单节点 Accumulo 应用程序,只要客户端应用程序在同一台机器上运行,它就一直运行良好。现在我需要将客户端迁移到另一台机器,但运行应用程序会给出以下警告,不允许程序继续: WARN
我正在学习 Accumulo,似乎无法让 Range 中指定的结束键包含在内。我的代码如下。我尝试在 Range 中将 endKeyInclusive 显式设置为 true,但这没有帮助。 Batch
请问有没有办法让accumlo限制用户的扫描量?例如,每天只允许其他用户进行 10 次扫描。 最佳答案 Accumulo 有一个可插拔接口(interface) authentication和 tab
我想使用 GeoMesa(Accumulo 的 GIS 扩展)并使用 Docker 对其进行虚拟化,就像 this repo 一样。现在我想使用 Java 连接到 Accumulo 实例: Inst
我无法让批处理扫描仪只扫描特定行,当设置启动和停止键到相同的东西时我没有返回任何条目,当使用扫描仪时我得到这个异常: "java.lang.IllegalArgumentException: Star
当您向总大小超过设置缓冲区的 BatchWriter 添加 Mutations 集合时会发生什么? BatchWriter 是否只是说好的,我将处理我设置的内容,然后再处理其余的? 最佳答案 Accu
我是一名优秀的程序员,十分优秀!