【大数据】综合
JAVA前线
微信公众号「JAVA前线」
展开
-
MapReduce中如何处理跨行的Block和InputSplit
1 提出问题Map最小输入数据单元是InputSplit。比如对于那么对于一个记录行形式的文本大于128M时,HDFS将会分成多块存储(block),同时分片并非到每行行尾。这样就会产生两个问题:1、Hadoop的一个Block默认是128M,那么对于一个记录行形式的文本,会不会造成一行记录被分到两个Block当中?2、在把文件从Block中读取出来进行切分时,会不会造成一行记录被分成转载 2016-12-13 10:00:29 · 3024 阅读 · 1 评论 -
Hadoop中的序列化
1 简介序列化和反序列化就是结构化对象和字节流之间的转换,主要用在内部进程的通讯和持久化存储方面。通讯格式需求hadoop在节点间的内部通讯使用的是RPC,RPC协议把消息翻译成二进制字节流发送到远程节点,远程节点再通过反序列化把二进制流转成原始的信息。RPC的序列化需要实现以下几点:1.压缩,可以起到压缩的效果,占用的宽带资源要小。2.快速,内部进程为分布式系统构建了高速转载 2016-12-09 20:15:23 · 431 阅读 · 0 评论 -
Hadoop上传文件报错: name node is in safe mode
将本地文件拷贝到hdfs上去,结果上错误:Name node is in safe mode这是因为在分布式文件系统启动的时候,开始的时候会有安全模式,当分布式文件系统处于安全模式的情况下,文件系统中的内容不允许修改也不允许删除,直到安全模式结束。安全模式主要是为了系统启动的时候检查各个DataNode上数据块的有效性,同时根据策略必要的复制或者删除部分数据块。运行期通过命令也可以进入安全转载 2016-12-09 20:26:30 · 601 阅读 · 0 评论 -
RTT(往返时间)和RPC
RTT(Round-Trip Time)往返时间在计算机网络中它是一个重要的性能指标。表示从发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后便立即发送确认,不包含数据传输时间)总共经历的时间。RTT由三个部分决定:链路的传播时间、末端系统的处理时间、路由器的缓存中的排队和处理时间。其中前两个部分的值作为一个TCP连接相对固定,路由器的缓存中的排队和处理时间会随着整个网原创 2017-01-03 09:57:32 · 53413 阅读 · 5 评论 -
Hive中的复杂数据类型
在Hive中如何使用符合数据结构 maps,array,structs 1 Array的使用 创建数据库表,以array作为数据类型create table person(name string,work_locations array)ROW FORMAT DELIMITEDFIELDS TERMINATED BY '\t'COLLECTION ITEMS T转载 2016-11-24 10:01:04 · 3384 阅读 · 0 评论 -
Hadoop报错:Failed to locate the winutils binary in the hadoop binary path
1 发现问题在虚拟机中搭建了hadoop集群,在windows中访问报错15/06/11 15:35:50 ERROR Shell: Failed to locate the winutils binary in the hadoop binary pathjava.io.IOException: Could not locate executable null\bin\winutils转载 2016-12-05 08:52:43 · 23816 阅读 · 0 评论 -
从Hadoop IOUtils closeStream方法看如何安全关闭流
使用方法IOUtils.closeStream(writer);进入代码public static void closeStream(java.io.Closeable stream) { cleanup(null, stream);}public static void cleanup(Log log, java.io.Closeable... closeables) {原创 2016-12-11 06:56:19 · 2948 阅读 · 1 评论 -
Hadoop中基于文件的数据格式(1)SequenceFile
1 概述1 SequenceFile是Hadoop为例存储二进制的而设计的一种平面文件。2 SequenceFile的key和value是writable或者writable子类。3 SequenceFile的存储不按照key排序,内部类Writer提供了append方法。4 SequenceFile作为一个容器,可以将小文件打包到SequenceFile,高效对小文件进行存储和处原创 2016-12-11 10:55:35 · 1741 阅读 · 0 评论 -
Hadoop报错:could only be replicated to 0 nodes, instead of 1
1 发现问题执行hadoop上传文件命令,报错could only be replicated to 0 nodes, instead of 12 方案1原因查看logs文件夹下datanode相关日志:java.io.IOException: Incompatible clusterIDs in /home/hadoop-2.X.X/tmp/dfs/data: namenod原创 2016-12-04 10:45:15 · 2512 阅读 · 0 评论 -
Hadoop中的FileStatus、BlockLocation、LocatedBlocks、InputSplit
1 FileStatus1.1 包名org.apache.hadoop.fs.FileStatus1.2 格式FileStatus{path=hdfs://192.X.X.X:9000/hadoop-2.7.1.tar.gz; isDirectory=false; length=210606807; replication=3; blocksize=134217728;原创 2016-12-12 21:41:42 · 2812 阅读 · 0 评论 -
MapReduce中的InputFormat(2)自定义
1 概述Hadoop内置的输入文件格式类有:1)FileInputFormat这个是基本的父类,自定义就直接使用它作为父类。2)TextInputFormat这个是默认的数据格式类。key代表当前行数据距离文件开始的距离,value代码当前行字符串。3)SequenceFileInputFormat这个是序列文件输入格式,使用序列文件可以提高效率,但是不利于查看结果,建议在过程中使原创 2016-12-10 11:55:08 · 3860 阅读 · 0 评论