Hadoop HDFS MapReduce输出到MongoDb

我想编写Java程序,它从HDFS读取输入,使用MapReduce处理它并将输出写入MongoDb。 这是场景: 我有一个Hadoop集群,它有3个数据节点。 java程序从HDFS读取输入,使用MapReduce处理它。 最后,将结果写入MongoDb。 实际上,从HDFS读取并使用MapReduce处理它很简单。 但我对将结果写入MongoDb感到困惑。 是否支持将Java API写入MongoDB? 另一个问题是,由于它是一个Hadoop集群,所以我们不知道哪个datanode将运行Reducer任务并生成结果,是否可以将结果写入安装在特定服务器上的MongoDb? 如果我想将结果写入HDFS,代码将如下所示: @Override public void reduce(Text key, Iterable values, Context context) throws IOException, InterruptedException { long sum = 0; for (LongWritable value : values) { sum += value.get(); } context.write(new Text(key), new LongWritable(sum)); } 现在我想将结果写入MongoDb而不是HDFS,我该怎么做?

在服务器内部调用Web服务

我有一个web服务getEmployee(),它可以在传递id时获取单个员工的员工详细信息。 同一服务器上的另一个Web服务getEmployeeList(),当部门通过时,它获取整个员工列表。 这将获取部门的ID,然后调用getEmployee()服务以获取所有详细信息。 Web服务getEmployeeList()的响应基本上是getEmployee()响应的集合。 我的问题是如何最好地实现它? 最好在内部从getEmployeeList()多次调用getEmployee(),或者每次调用getEmployee()的进程方法(getEmployee()中有一个进程方法,它将xml作为输入并返回响应xml )

JavaFX没有调用main(String args)方法

我开发了可以作为GUI执行的GUI , CLI依赖于提供的参数。 这是应用程序类: public class Main extends Application { public static void main(String[] args) { if (args != null && args.length > 0 && args[0].equals(“cli”)) { String pathToProperties = args[1]; Cli cli = new Cli(pathToProperties); cli.loadPropertiesAndGenerateApk(); } else { launch(args); } } @Override public void start(Stage primaryStage) throws Exception { FXMLLoader loader = new […]

java AbstractMethodError

如何在lucene中处理此错误: java.lang.AbstractMethodError: org.apache.lucene.store.Directory.listAll()[Ljava/lang/String; at org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:568) at org.apache.lucene.index.DirectoryReader.open(DirectoryReader.java:69) at org.apache.lucene.index.IndexReader.open(IndexReader.java:316) at org.apache.lucene.index.IndexReader.open(IndexReader.java:188) 我正在进行lucene函数调用,但遗憾的是它本身调用了某个类的抽象方法,从上面的错误可以看出这一点。 为此做了什么工作? 谢谢,Akhil

免费的Web应用程序样机工具?

什么是Web应用程序的最佳免费模型工具? 我知道balsamiq,这是非常好的,但缺乏将不同页面链接在一起的function。 我想做一些原型设计,所以不仅要模拟一个视图,还要提供模型之间的交互。 我可以从哪个工具开始?

Java日期(日历)在给定日期时间的情况下以当地时间计算一天的开始

所有, 在这个办公室度过了艰难的一天…我想在当地时间锻炼一天的开始,即午夜00:00:00,给定任何日历日期。 鉴于接下来的几天,我想在午夜当地时间计算当天的开始时间: Time Start Day (Local) Start Day (GMT) 2011-03-27 00:00:00 GMT –> 2011-03-27 00:00:00 GMT –> 2011-03-27 00:00:00 GMT 2011-03-27 01:00:00 GMT –> 2011-03-27 00:00:00 GMT –> 2011-03-27 00:00:00 GMT 2011-03-27 02:00:00 GMT –> 2011-03-27 00:00:00 GMT –> 2011-03-27 00:00:00 GMT 2011-04-01 00:00:00 BST –> 2011-04-01 00:00:00 BST –> 2011-03-31 23:00:00 GMT 2011-10-30 […]

Datastax cassandra驱动程序提供有关主机状态的错误元数据信息

我有一个带有2个DC的集群,每个DC包含2个节点。 DC1: 192.168.60.81 192.168.60.82 DC2: 192.168.60.242 192.168.60.247 应用程序连接到192.168.60.81,因此应用程序的本地DC是DC1。 情况1: 最初当所有节点都启动时,当我尝试获取cluster.metadata.allHosts ,它会向我提供有关主机状态为UP的信息。 情况2: 当本地数据中心(DC1)中的任何节点上升或下降时, cluster.metadata.allHosts会为我提供正确的主机状态信息。 问题: 当远程数据中心(DC2)中的任何节点发生故障时, cluster.metadata.allHosts主机状态信息正确地显示为DOWN。 但是当同一节点重新启动时,仍然是cluster.metadata.allHosts将主机状态信息作为DOWN提供给我。 我在Host.StateListener中注册,以查看是否为远程DC中的节点触发了事件。 但不幸的是,当远程DC中的节点重新启动时,它也永远不会通知。 任何帮助,将不胜感激。 所有节点中的Cassandra版本:2.1.4 Datastax java驱动程序版本:2.1.9

HTTP状态500 – 在Struts2应用程序中处理JSP页面时发生exception

我正在学习Struts2并在托管我的应用程序时面临以下问题。 具有/ struts-tags示例, 等的index.jsp页面在托管应用程序时抛出exception。 项目中使用的jar子: common-lang3.jar commons-fileupload-1.3.jar commons-io-2.0.1.jar commons-logging-1.1.3.jar commons-logging-api-1.1.jar freemarker-2.3.19.jar javassist-3.11.0.GA.jar ognl-3.0.6.jar struts2-core-2.3.15.3.jar xwork-core-2.3.15.3.jar exception堆栈跟踪: **HTTP Status 500 – An exception occurred processing JSP page /index.jsp at line 12** **type** Exception report **message** An exception occurred processing JSP page /index.jsp at line 12 **description** The server encountered an internal error that prevented it from […]

如何在E4中使用Eclipse 3.x视图?

我对Eclipse 3.x开发很有经验,现在想开发一个E4应用程序。 因此,我测试了一个简单的例子,以便开始使用新的东西。 我一步一步地遵循本教程但是导致了同样的错误。 但是,他没有得到这些错误。 我正在使用Eclipse Luna(4.4.2)并安装了E4 Tools(0.17) 。 我已经创建了一个新的Eclipse 4应用程序,并使用Import 3x – > View as CompatibilityView将Common.e4xmi作为共享部件添加到Common Resource Navigator(Project Explorer)。 然后我添加了一个引用共享部分的占位符 。 我已将所有必要的插件添加到产品的依赖项中。 我还添加了兼容性插件。 但是,当我启动应用程序时,我在InjectorImpl#internalMake()#331获得了一个InjectionException ,它只是: if (unresolved(actualArgs) != -1) continue; 调试unresolved()让我到以下几点( InjectorImpl#489 ): Creatable creatableAnnotation = desiredClass.getAnnotation(Creatable.class); 其中desiredClass是类org.eclipse.ui.internal.ViewReference 。 然后函数返回1,导致继续大写和exception。 stacktrace是以下( 在这里完整 ): !ENTRY org.eclipse.e4.ui.workbench 4 0 2015-05-06 13:00:05.899 !MESSAGE Unable to create class […]

使用Jsoup获取图像URL

我正在使用jSoup从网站的html中提取信息。 但我在以下情况下获取数据时遇到问题。我正在使用的HTML包含下面的一部分,我想得到所有那些图像url 我使用的有点如下: doc = Jsoup.connect(“http://www.myUrl”).get(); castsImageUrl = doc.select(“ul.cast > li > a > img”); for (Element el : castsImageUrl)System.out.println(el.text()); 但我一无所获。 我无法弄清楚我的问题。 任何人都可以帮我解决它