问题标签 [accumulo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 错误测试:test(org.apache.accumulo.examples.simple.filedata.ChunkInputFormatTest)
当我构建包含在 accumulo-1.4.3-cdh43.tar.gz 中的示例简单 maven 项目时
我正在使用设置为 jdk1.6.0.32 的 java 平台的 netbeans。
我在错误中得到测试失败:test(org.apache.accumulo.examples.simple.filedata.ChunkInputFormatTest)
这是输出:
测试
运行 org.apache.accumulo.examples.simple.filedata.ChunkInputFormatTest 测试运行:3,失败:0,错误:3,跳过:0,经过时间:2.441 秒 <<< 失败!运行 org.apache.accumulo.examples.simple.filedata.ChunkCombinerTest 测试运行:1,失败:0,错误:0,跳过:0,经过时间:0.014 秒运行 org.apache.accumulo.examples.simple.filedata.ChunkInputStreamTest测试运行:9,失败:0,错误:0,跳过:0,经过时间:0.297 秒运行 org.apache.accumulo.examples.simple.filedata.KeyUtilTest 测试运行:1,失败:0,错误:0,跳过:0,经过的时间:0.002 秒运行 org.apache.accumulo.examples.simple.dirlist.CountTest 最大深度:3 找到最大深度的时间:5 毫秒计算计数的时间:2 毫秒扫描的条目:30 插入的计数:4 次测试运行:1,失败:0,错误:0,跳过:0,
结果 :
错误测试:test(org.apache.accumulo.examples.simple.filedata.ChunkInputFormatTest):找到类 org.apache.hadoop.mapreduce.TaskAttemptContext,但预期接口 testErrorOnNextWithoutClose(org.apache.accumulo.examples.simple.filedata .ChunkInputFormatTest):找到类 org.apache.hadoop.mapreduce.TaskAttemptContext,但接口是预期的 testInfoWithoutChunks(org.apache.accumulo.examples.simple.filedata.ChunkInputFormatTest):找到类 org.apache.hadoop.mapreduce.TaskAttemptContext,但是预期界面
测试运行:15,失败:0,错误:3,跳过:0
构建失败
总时间:27.392s 完成时间:2014 年 2 月 11 日星期二 07:49:37 PST
最终内存:21M/57M
未能在项目示例上执行目标 org.apache.maven.plugins:maven-surefire-plugin:2.9:test (default-test) - 简单:有测试失败。
请参阅 /usr/lib/accumulo/src/examples/simple/target/surefire-reports 以了解各个测试结果。-> [帮助 1]
要查看错误的完整堆栈跟踪,请使用 -e 开关重新运行 Maven。使用 -X 开关重新运行 Maven 以启用完整的调试日志记录。
有关错误和可能的解决方案的更多信息,请阅读以下文章:[帮助 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
该网站给了我一个 url 错误。
然后我去了万无一失的报告:
测试集:org.apache.accumulo.examples.simple.filedata.ChunkInputFormatTest
测试运行:3,失败:0,错误:3,跳过:0,经过的时间:2.441 秒 <<< 失败!测试(org.apache.accumulo.examples.simple.filedata.ChunkInputFormatTest) 经过时间:1.433 秒 <<< 错误!java.lang.IncompatibleClassChangeError:找到类 org.apache.hadoop.mapreduce.TaskAttemptContext,但在 org.apache.accumulo.core.client.mapreduce.InputFormatBase$RecordReaderBase.initialize(InputFormatBase.java:1108) 处需要接口。 apache.accumulo.examples.simple.filedata.ChunkInputFormat$1.initialize(ChunkInputFormat.java:47) at org.apache.accumulo.examples.simple.filedata.ChunkInputFormatTest.test(ChunkInputFormatTest.java:95) at sun.reflect.NativeMethodAccessorImpl sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
如果这只是被忽略还是会影响我的开发工作,我将不胜感激。
谢谢,
克里斯
performance - Accumulo 高速摄取选项
简而言之,我有一个客户希望将一堆 ASCII 文本文件(也称为“输入文件”)中包含的数据引入 Accumulo。
这些文件是从不同的数据馈送设备输出的,并将在非 Hadoop/非 Accumulo 节点(又名“馈送节点”)上连续生成。所有馈送的整体数据吞吐率预计会非常高。
为简单起见,假设所有数据将在 Accumulo 中最终存储在一张正向索引表和一张反向 [反向] 索引表中。
我已经使用 pyaccumulo 编写了一个 Accumulo 客户端模块,它可以通过 Thrift 代理建立与 Accumulo 的连接,从本地文件系统(不是 HDFS)读取和解析输入文件,在代码中创建适当的正向和反向索引突变,以及使用 BatchWriter 将突变写入正向和反向索引表。到目前为止,一切都很好。但还有更多。
从各种来源,我了解到至少有一些标准的 Accumulo 高速摄取方法可能适用于我的场景,我正在寻求一些关于哪些选项在资源使用方面最有意义的建议,易于实施和维护。以下是一些选项:
- 提要节点上的 BatchWriter 客户端:在提要节点上运行我的 Accumulo 客户端。此选项的缺点是通过网络发送正向和反向索引突变。此外,需要在提要节点上提供 Accumulo/Thrift 库以支持 Accumulo 客户端。然而,这个选项的优点是它并行化了解析输入文件和创建突变的工作,并且与下面的选项相比,似乎最大限度地减少了 Hadoop 集群上的磁盘 I/O。
- Accumulo 主节点上的 BatchWriter 客户端:scp/sftp 从 feed 节点到 Accumulo 主节点的输入文件,进入本地文件系统上的某个目录。然后仅在 Accumulo 主节点上运行我的 Accumulo 客户端。此选项的优点是它不会通过网络将正向和反向索引突变从馈送节点发送到 Accumulo 主节点,并且它不需要 Accumulo/Thrift 库在馈送节点上可用。但是,它的缺点是它使 Accumulo 主节点完成解析输入文件和创建突变的所有工作,并且它使用 Accumulo 主节点的本地磁盘作为输入文件的路径点。
- 带有 AccumuloOutputFormat 的 MapReduce:scp/sftp 将输入文件从 feed 节点发送到 Accumulo 主节点。然后定期将它们复制到 HDFS 并运行 MapReduce 作业,该作业从 HDFS 读取和解析输入文件,创建突变,并使用 AccumuloOutputFormat 写入它们。此选项具有上述 #2 的优点,并且它并行化了解析输入文件和创建突变的工作。但是,它的缺点是它会不断启动和分解 MapReduce 作业,并调用与这些进程相关的所有开销。它还有一个缺点,就是它使用两个磁盘路径点(本地和 HDFS)以及相关的磁盘 I/O。为持续摄取而实施和维护听起来有些痛苦。
- MapReduce with AccumuloOutput*File*Format (rfiles):scp/sftp 将输入文件从 feed 节点发送到 Accumulo 主节点。然后定期将它们复制到 HDFS 并运行 MapReduce 作业,该作业从 HDFS 读取和解析输入文件,创建突变,并使用 AccumuloOutputFileFormat 写入 rfile。然后使用 Accumulo shell 来“摄取” rfiles。此选项具有上述#3 的所有优点,但我不知道它是否还有其他优点(是吗?Accumulo 手册指出批量摄取:“在某些情况下,以这种方式加载数据可能比通过使用 BatchWriters 通过客户端摄取。”什么情况?)。它还具有上述#3 的所有缺点,除了它使用三个磁盘路径点(本地、HDFSx2)和相关的磁盘 I/O。实施和维护以持续摄取听起来很痛苦。
就个人而言,我最喜欢选项 #2,只要 Accumulo 主节点可以自行处理涉及的处理负载(非并行输入文件解析)。#2 的变体,我可以在每个 Accumulo 节点上运行我的 Accumulo 客户端,并将不同馈送节点的输出发送到不同的 Accumulo 节点或循环,仍然具有跨云发送正向和反向索引突变的缺点Accumulo 主机的网络,但确实具有更多并行执行输入文件解析的优势。
我需要知道的是:我是否错过了任何可行的选择?我是否错过了每个选项的任何优点/缺点?无论我的问题背景如何,特别是网络带宽/CPU 周期/磁盘 I/O 权衡,任何优点/缺点是否微不足道或非常重要?与 BatchWriter 相比,带或不带 rfile 的 MapReduce 值得麻烦吗?有人有“战争故事”吗?
谢谢!
avro - Array/HashMap 的 Accumulo Gora 映射
我能够使用 Avro JSON 规范(捆绑在 Gora 中)将 Apache Gora 作为 ORM 与 Accumulo 集成。当我使用原始数据类型(如 String、Integer 等)时,它工作得很好,但是一旦我将数据类型定义为 Array 或 Map,我就会遇到错误。
对于 Array ,当我尝试添加新元素时,Gora 会引发以下错误:
“org.apache.gora.persistency.ListGenericArray.add(Ljava/lang/Object;)Z”
使用 Map ,虽然我没有收到错误,但在提交后我只看到一个空的 JSON 对象 '{}' ...缺少键/值对。
这就是我的 JSON 规范的样子
这是 Accumulo-Gora xml 映射
我正在使用 Accumulo 1.5 版和 Gora 0.3 版。我也尝试使用 Accumulo 版本 1.4.4,但面临同样的问题。
我不确定 Gora 是否支持 Map 或 Array 数据类型;我想它应该将复杂的数据类型转换为等效的 JSON 格式,并将其作为 Char 序列存储在 Accumulo 中。
有任何想法吗 ?
java - 如何结合两个 git 项目(git twitter4)和(git accumulo)来构建一个同时使用两者的项目?
我正在用 java 进行 twitter 分析(进行切换)并将结果放入 accumulo。
我找到了 git twitter4 项目并且有 accumulo 项目。
我是 Maven 和 git 的新手。
我想知道如何:1)在没有 IDE 的情况下合并项目 2)将项目与 netbeans 合并
感谢你的协助!
克里斯
python - 如何使用 Ruby Thrift 客户端创建 Accumulo Range 对象
我使用 Thrift 代理运行 Accumulo 1.5。我正在使用 Ruby 连接到 Thrift,但我想如果我使用 Python 也会出现同样的情况。
我已经能够连接到 Accumulo、创建更新并按特定列扫描表。我正在尝试按特定的行 ID 进行查询。
不幸的是,这会在我的 Range 构造函数中引发错误。
Ruby 客户端上没有太多(任何)文档,所以我一直在主要使用节俭代码。Range 类在 中定义proxy_types.rb
,但它的定义方式与我使用的其他 Thrift 类相同。
java - 如何使用 RowDeletingIterator
我正在尝试使用 RowDeletingIterator 删除我的 Accumulo 表中的条目,但是当我之后扫描该表时,这些条目并没有被删除。假设这里的表中有一个row_id
条目tableName
就是我正在做的事情:
java - 使用 rowid 扫描累加器
如何使用 Java API仅使用 rowid扫描accumulo 。例如,当我使用accumulo shell扫描表时, accumulo具有以下行条目:
我知道Java中的rowid是'12lj314t1u43td1'。我想检索{values}
所有可能的列族和限定符。我已经检查了扫描仪上的accumulo文档,但他们没有说明如何将 Ranges 设置为仅基于 rowid 返回。
hadoop - Hadoop/YARN 作业失败 - “以 exitCode:-1000 退出,原因是:找不到任何有效的 nmPrivate 本地目录...”
我正在尝试使用 Hadoop、YARN 和 Accumulo 运行 MapReduce 作业。
我得到以下输出,我无法追踪问题。看起来是 YARN 问题,但我不确定它在寻找什么。我在 $HADOOP_PREFIX/grid/hadoop/hdfs/yarn/logs 有一个 nmPrivate 文件夹。这是它说找不到的文件夹吗?
hadoop - Apache Accumulo 有什么 CAP-Type?
在评估几个分布式系统时,我遇到了 CAP 定理。不幸的是,我找不到 Apache Accumulo 的分类。
这是实际的问题:Apache Accumulo 是什么样的上限类型,为什么?
java - How do you use "Range" to Scan an entire table in accumulo
How do you use "Range" to Scan an entire table in accumulo without apriori knowledge?
How do folks currently do that. I want to take the random search from:I am looking at writing an Accumulo iterator to return a random sample of a percentile of a table
and scan over (then write to hdfs) a sample.
This requires me to scan the entire table I believe.
thanks!
Chris