MapReduce中ArrayWritable 使用指南
在編寫MapReduce程序時(shí),Map和Reduce之間傳遞的數(shù)據(jù)需要是ArrayList類型的,在調(diào)試運(yùn)行時(shí)遇到了這樣的一個(gè)錯(cuò)誤:
java.lang.RuntimeException: java.lang.NoSuchMethodException: org.apache.hadoop.io.ArrayWritable.<init>()
經(jīng)查詢官網(wǎng)API文檔后發(fā)現(xiàn)這樣的一段話:
A Writable for arrays containing instances of a class. The elements of this writable must all be instances of the same class. If this writable will be the input for a Reducer, you will need to create a subclass that sets the value to be of the proper type. For example: public class IntArrayWritable extends ArrayWritable { public IntArrayWritable() { super(IntWritable.class); } }
原來是要自己實(shí)現(xiàn)一個(gè)ArrayWritable類的派生類,使用時(shí)只要實(shí)現(xiàn)兩個(gè)構(gòu)造函數(shù)即可
public static class TextArrayWritable extends ArrayWritable {
public TextArrayWritable() {
super(Text.class);
}
public TextArrayWritable(String[] strings) {
super(Text.class);
Text[] texts = new Text[strings.length];
for (int i = 0; i < strings.length; i++) {
texts[i] = new Text(strings[i]);
}
set(texts);
}
}
- MongoDB中MapReduce編程模型使用實(shí)例
- 用PHP和Shell寫Hadoop的MapReduce程序
- java連接hdfs ha和調(diào)用mapreduce jar示例
- Mongodb中MapReduce實(shí)現(xiàn)數(shù)據(jù)聚合方法詳解
- JavaScript mapreduce工作原理簡析
- MongoDB中的MapReduce簡介
- Java函數(shù)式編程(七):MapReduce
- Java/Web調(diào)用Hadoop進(jìn)行MapReduce示例代碼
- MongoDB中MapReduce的使用方法詳解
- 通用MapReduce程序復(fù)制HBase表數(shù)據(jù)
相關(guān)文章
Java實(shí)現(xiàn)文件圖片的預(yù)覽和下載功能
這篇文章主要為大家詳細(xì)介紹了如何使用Java實(shí)現(xiàn)文件圖片的預(yù)覽和下載功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-04-04
Springboot 如何使用 SaToken 進(jìn)行登錄認(rèn)證、權(quán)限管理及路由規(guī)則接口攔截
Sa-Token 是一個(gè)輕量級 Java 權(quán)限認(rèn)證框架,主要解決:登錄認(rèn)證、權(quán)限認(rèn)證、單點(diǎn)登錄、OAuth2.0、分布式Session會(huì)話、微服務(wù)網(wǎng)關(guān)鑒權(quán) 等一系列權(quán)限相關(guān)問題,這篇文章主要介紹了Springboot 使用 SaToken 進(jìn)行登錄認(rèn)證、權(quán)限管理以及路由規(guī)則接口攔截,需要的朋友可以參考下2024-06-06
java設(shè)計(jì)模式責(zé)任鏈模式原理案例詳解
一個(gè)事件需要經(jīng)過多個(gè)對象處理是一個(gè)挺常見的場景,譬如采購審批流程,請假流程,軟件開發(fā)中的異常處理流程,web請求處理流程等各種各樣的流程,可以考慮使用責(zé)任鏈模式來實(shí)現(xiàn)2021-09-09
java實(shí)現(xiàn)解析json復(fù)雜數(shù)據(jù)的第三種思路詳解
這篇文章主要為大家信息介紹了java實(shí)現(xiàn)解析json復(fù)雜數(shù)據(jù)的第三種思路,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-01-01
關(guān)于SpringBoot單元測試(cobertura生成覆蓋率報(bào)告)
這篇文章主要介紹了關(guān)于SpringBoot單元測試(cobertura生成覆蓋率報(bào)告),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11
Java的幾個(gè)重要版本_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
jdk8 將在2014年3月份發(fā)布,迄今為止,可能是最大更新的java版本,也是令人期待的一個(gè)版本,在Java中引入閉包概念對Java程序開發(fā)方法的影響甚至?xí)笥贘ava5中引入的泛型特征對編程方式帶來的影響2017-06-06
基于Java編寫一個(gè)限流工具類RateLimiter
這篇文章主要為大家詳細(xì)介紹了如何基于Java編寫一個(gè)限流工具類RateLimiter,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-01-01

