gpt4 book ai didi

java - App Engine Mapreduce Java无法编译MapReduce Specification.of

转载 作者:行者123 更新时间:2023-12-02 21:47:58 25 4
gpt4 key购买 nike

我无法编译MapReduceSpecification.of。当我选择时它确实起作用
// new DatastoreOutput(1)),
但如果是新的GoogleCloudStorageFileOutput(“images.sb.a-cti.com/staging/test”,“result.txt”,“text / plain”,1)),.。
此显示编译错误不确定我是否缺少某些东西。

我曾尝试用不同的Marshallers替代,但结果是相同的。

有人可以对此加以说明。

 @RequestMapping("/accountJDOCounter")
public void accountJDOCounter(HttpServletRequest request, HttpServletResponse response){


try{
String entityClassName = request.getParameter("entityClassName");

String entityKind = request.getParameter("entityKind");


if(entityKind == null){

response.getWriter().write("Error");

return;

}

MapReduceSettings settings = new MapReduceSettings().setWorkerQueueName("default").setControllerQueueName("default").setBuck etName("images.sb.a-cti.com/staging/test");


logger.info("Creating job15");


String jobId = MapReduceJob.start(

MapReduceSpecification.of(

"AccountJDO",

new DatastoreInput(entityKind, 10),

new AccountCounterMapper(),

Marshallers.getStringMarshaller(),

Marshallers.getLongMarshaller(),

new AccountCounterReducer(),

//new InMemoryOutput<KeyValue<String, Long>>(2)),

new GoogleCloudStorageFileOutput("images.sb.a-cti.com/staging/test", "result.txt", "text/plain", 1)),

//new DatastoreOutput(1)),

settings);

// jobId is used to monitor, see step 5) below


response.getWriter().write("jobId " + jobId);


logger.info("JobId " + jobId);


}catch(Exception e){

StringWriter sw = new StringWriter();

PrintWriter pw = new PrintWriter(sw);

e.printStackTrace(pw);

logger.info("Error " + sw.toString());

}


}

错误详情:
这行有多个标记
  • MapReduceSpecification类型的(String,Input,Mapper,Marshaller,Marshaller,Reducer,Output)方法不是

  • 适用于以下参数(字符串,数据存储区输入,AccountCounterMapper,Marshaller,Marshaller,AccountCounterReducer,

    InMemoryOutput>)
  • MapReduceSpecification类型的(String,Input,Mapper,Marshaller,Marshaller,Reducer,Output)方法不是

  • 适用于以下参数(字符串,数据存储区输入,AccountCounterMapper,Marshaller,Marshaller,AccountCounterReducer,

    GoogleCloudStorageFileOutput)

    提前致谢。

    最佳答案

    签名中的泛型需要匹配。 GoogleCloudStorageFileOutput使用ByteBuffer,而DatastoreOutput使用Entity。因此,根据AccountCounterReducer发出的类型,您需要选择与该类型匹配的输出。

    关于java - App Engine Mapreduce Java无法编译MapReduce Specification.of,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23522523/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com