`

解决Map Reduce读取编码为UTF-8的文件文件时,第一条数据总出错的问题

阅读更多
   hadoop涉及文件编码时,统一用UTF-8,但是当读取带有BOM的文件时,第一条数据由于包含BOM,hadoop并没有去掉,因此第一条数据处理结果总是出现误差,为了解决此问题,只需将BOM从map阶段去掉即可,如下代码:
protected void map(LongWritable key, Text value, Context context)throws IOException, InterruptedException {
   byte[] bytes = value.getBytes();
   if(bytes!=null && bytes.length>2 && bytes[0]==(byte)0xEF && bytes[1]==(byte)0xBB && bytes[2]==(byte)0xBF){
	  value = new Text(Arrays.copyOfRange(bytes, 3, bytes.length)); // 去掉BOM
   }
...
}
分享到:
评论

相关推荐

    release-1930-x64-gdal-3-7-1-mapserver-8-0-1的64位可执行的文件和库文件

    标题中的"release-1930-x64-gdal-3-7-1-mapserver-8-0-1"是一个特定版本的软件发行版,它包含64位的GDAL(Geospatial Data Abstraction Library)和MapServer的可执行文件及库文件。GDAL是一个开源的地理空间数据...

    release-1930-gdal-3-7-1-mapserver-8-0-1的32位可执行的文件和库文件

    这个压缩包“release-1930-gdal-3-7-1-mapserver-8-0-1的32位可执行的文件和库文件”包含了这些工具的32位版本,适用于处理和展示地理空间数据。 **GDAL** 是一个强大的库,用于读取、转换和处理多种地理空间数据...

    freemarker入门实例(解决乱码eclipse/java/编码方式UTF-8)

    本实例将引导你入门Freemarker,解决在Eclipse环境下使用Java编译时可能出现的乱码问题,并确保使用UTF-8编码方式进行处理。 **1. Freemarker简介** Freemarker是一个基于模板的开源Java库,它与Spring MVC、Struts...

    release-1928-x64-gdal-3-8-5-mapserver-8-0-1

    标题“release-1928-x64-gdal-3-8-5-mapserver-8-0-1”暗示了这是一个与地理信息系统(GIS)相关的软件发布,具体来说,是GDAL(Geospatial Data Abstraction Library)和MapServer的更新版本。GDAL是一个开源的库,...

    release-1928-gdal-3-3-1-mapserver-7-6-4

    标题“release-1928-gdal-3-3-1-mapserver-7-6-4”和描述“C# gdal”暗示了这个压缩包可能包含与GDAL(Geospatial Data Abstraction Library)3.3.1版本和MapServer 7.6.4版本相关的C#开发资源。GDAL是一个开源的...

    release-1900、1911-x86、x64-gdal-3-2-0-mapserver-7-6-1.zip

    标题中的"release-1900、1911-x86、x64-gdal-3-2-0-mapserver-7-6-1.zip"揭示了这个压缩包是针对两个不同版本的操作系统(可能是Windows 1900和1911,可能代表更新编号或年份)以及两种不同的处理器架构(x86和x64)...

    release-1911-gdal-2-4-4-mapserver-7-4-3

    GDAL(Geospatial Data Abstraction Library)是一个开源的地理空间数据处理库,而MapServer则是一个开源的GIS服务器,用于在网络上发布地图和地理数据。 描述中提到的“gdal编译包”暗示这可能是一个包含预编译...

    GDAL—release-1911-x64-gdal-2-4-4-mapserver-7-4-3.zip

    这个版本的GDAL还包括了MapServer 7.4.3,MapServer是一个开源的应用程序,可以将地理数据转换为动态地图图像,常用于WebGIS应用。 描述中提到的关键点在于,资源包含编译好的GDAL C#版本,这意味着用户可以直接在...

    release-1911-x64-gdal-3-0-2-mapserver-7-4-2.zip

    标题“release-1911-x64-gdal-3-0-2-mapserver-7-4-2.zip”指的是一个包含GDAL 3.0.2和MapServer 7.4.2的64位编译版本的软件包。这个压缩包主要用于地理信息系统(GIS)领域,提供了一个用于处理遥感数据和地图服务...

    hadoop map-reduce turorial

    Map函数将文本文件中的每一行分解为单词,为每个单词创建键值对(<单词,1>),Reduce函数则将相同的单词键值对汇总,计算出每个单词的总频次。 **用法**:用户通过指定输入文件路径和输出目录来启动Map-Reduce作业...

    读取Excel文件将数据存入map集合

    ### 读取Excel文件将数据存入Map集合 在日常工作中,经常需要处理Excel文件,尤其是在数据统计、分析等场景中。本篇文章介绍了一个方法,该方法能够读取Excel文件并将其中的数据存储到Java中的`Map`集合里,便于...

    GDAL—release-1911-gdal-3-0-4-mapserver-7-4-3.zip

    GDAL,全称为Geospatial Data Abstraction Library,是一个开源的地理空间数据处理库,用于读取、转换和写入多种格式的地理空间数据。在本压缩包"GDAL—release-1911-gdal-3-0-4-mapserver-7-4-3.zip"中,提供的GDAL...

    C-MAPSS/航天发动机/涡轮发动机数据集

    通过分析这些数据,可以深入了解发动机在不同工况下的工作特性,有助于优化设计,提高燃油效率,减少排放,以及预测和解决可能出现的故障问题。 在FD001到FD004中,可能包括了以下关键知识点: 1. **发动机参数**...

    release-1911-gdal-2-4-4-mapserver-7-4-3的64位可执行的文件和库文件

    GDAL和MAPSERVER是GIS领域的强大工具,它们的64位可执行文件和库文件为Windows 64位环境提供了完整的GIS数据处理和地图服务发布能力。GDAL主要用于数据转换、处理和分析,而MAPSERVER则负责地图服务的构建和发布。...

    Map-Reduce原理体系架构和工作机制,eclipse与Hadoop集群连接

    - **DataNode**:存储实际的数据,Map-Reduce作业从这里读取输入数据并写入输出数据。 #### 四、Eclipse与Hadoop集群连接 为了能够在Eclipse IDE中开发和调试Map-Reduce程序,需要配置Eclipse与Hadoop集群之间的...

    map-reduce.pdf

    Map-Reduce 不仅是一种强大的并行数据处理模型,也是一种高效解决大规模数据处理问题的有效手段。通过对 Word Count 示例的详细分析,我们可以更好地理解 Map-Reduce 的工作原理及其在实际应用中的价值。随着云计算...

    GDAL—release-1911-x64-gdal-3-0-4-mapserver-7-4-3.zip

    这个压缩包还包含了MapServer 7.4.3,MapServer是一个开源的GIS应用程序,用于将地理数据转化为Web可访问的地图。 描述中提到,这个资源是预编译的C#版本,意味着它已经被编译为.NET Framework兼容的组件,可以方便...

    map-reduce详细

    ### Map-Reduce 实现细节与问题解决 #### 客户端操作流程 Map-Reduce 的启动过程始于客户端向系统提交任务。此过程的核心是通过 `JobClient` 类的 `runJob` 静态方法来实现。具体步骤如下: 1. **JobClient 对象...

    mapstruct-1.1.0.Final-API文档-中文版.zip

    赠送jar包:mapstruct-1.1.0.Final.jar; 赠送原API文档:mapstruct-1.1.0.Final-javadoc.jar; 赠送源代码:mapstruct-1.1.0.Final-sources.jar; 赠送Maven依赖信息文件:mapstruct-1.1.0.Final.pom; 包含翻译后...

Global site tag (gtag.js) - Google Analytics