- 博客(42)
- 资源 (20)
- 收藏
- 关注
原创 Hadoop之mysql安装配置和sqoop安装配置
mysql安装配置Hive需要管理一些数据,一般我们使用MySQL来存放在线安装执行命令sudo apt-get install mysql-server mysql-client启动停止mysql服务$sudo start mysql $sudo stop mysql 修改了配置文件后需要重启 mysqld 才能使这些修改生效。检查 mysqld 进程是否已经开启:
2018-01-31 13:22:21 604
原创 Reduce阶段对value遍历两次的解决方法
Reduce阶段对value的遍历只能一次解决方法:创建一个容器将遍历的数据存到容器里,然后接下来自行使用即可在写IF-IDF时,采用如下形式for(Text value: values){}for(Text value: values){}对reduce中的value遍历两次发现第一次成功第二次则失败经过网上查询,发现如果要实现遍历两次的话解决方法:创建一个
2018-01-30 16:09:33 957
原创 mapreduce之join连接
1、reduce side join(reduce端表连接)使用分布式缓存API,完成两个数据集的连接操作优点:操作简单缺点:map端shffule后传递给reduce端的数据量过大,极大的降低了性能连接方法:(1)map端读入输入数据,以连接键为Key,待连接的内容为value,但是value需要添加特别的标识, 表示的内容为表的表示,即若value来自于表1,则标识位设
2018-01-30 16:00:06 391
原创 IF-IDF简单实现
输入:三个文件分别如下,并放在c文件夹下xm@master:~/workspace$ hadoop fs -text /c/file1MapReduce is simplexm@master:~/workspace$ hadoop fs -text /c/file2MapReduce is powerful is simplexm@master:~/workspace$ hadoop
2018-01-30 14:11:55 1574
原创 MapReduce倒排索引
"倒排索引"是文档检索系统中最常用的数据结构,被广泛地应用于全文搜索引擎。它主要是用来存储某个单词(或词组)在一个文档或一组文档中的存储位置的映射,即提供了一种根据内容来查找文档的方式。由于不是根据文档来确定文档所包含的内容,而是进行相反的操作,因而称为倒排索引(Inverted Index)。1 实例描述通常情况下,倒排索引由一个单词(或词组)以及相关的文档列表组成,文档列表
2018-01-29 20:51:51 561
原创 MapReduce实现单表关联和多表关联
单表关联:给出child-parent(孩子——父母)表,要求输出grandchild-grandparent(孙子——爷奶)表输入:文件p中数据:Tom,LucyTom,JackJone,LucyJone,JackLucy,MaryLucy,BenJack,AliceJack,JesseTerry,AliceTerry,JessePhilip,TerryPhil
2018-01-29 17:52:52 2658
原创 map方法获得文件夹下文件名称
setup方法即为Mapper初始化的方法,可以点击Mapper按F3进行源码查看 static class MyMapper extends MapperObject,Object,Text,Text>{ protected void setup(Context context) throws IOException, InterruptedException{
2018-01-29 16:59:03 703
原创 MapReduce中map方法write写入参数类型和reduce类型不同
当map方法中context.write()和reduce方法中context.write()输入参数类型不相同时:需要在job中设置每个方法的参数类型:map中:context.write(MyNewKey,NullWritable);reduce中:context.write(LongWritable,LongWritable);那么进行如下设置即可: job
2018-01-28 18:47:25 2665
原创 MapReduce排序分组(二次排序)
Step1.4第四步中需要对不同分区中的数据进行排序和分组,默认情况按照key进行排序和分组二次排序在map阶段1.使用job.setInputFormatClass定义的InputFormat将输入的数据集分割成小数据块调用自定义Map的map方法,将一个个LongWritable, Text>对输入给Map的map方法。输出应该符合自定义Map中定义的输出IntPair,
2018-01-28 18:33:53 493
原创 mapreduce之shuffle详解
Reduce阶段三个步骤:Step2.1就是一个Shuffle[随机、洗牌]操作Shuffle是什么?针对多个map任务的输出按照不同的分区(Partition)通过网络复制到不同的reduce任务节点上,这个过程就称作为Shuffle。shuffle过程的重要性是什么?Hadoop的shuffle过程就是从map端输出到reduce端输入之间的过程,这一段应该是
2018-01-28 18:07:30 341
原创 hadoop之Partitioner详解
Partitioner 的作用是对 Mapper 产生的中间结果进行分片,以便将同一分组的数据交给同一个 Reducer 处理,它直接影响 Reduce 阶段的负载均衡。Map阶段总共五个步骤step1.3就是一个分区操作Mapper最终处理的键值对key, value>,是需要送到Reducer去合并的,合并的时候,有相同key的键/值对会送到同一个Reducer节点
2018-01-28 12:53:21 1618
原创 hadoop与java中数据类型转换
1、hadoop数据类型转换成Java-String类型 .toString();即可2、Int类型-->IntWritable类型 IntWritable i = new IntWritable(); int p = 3; i.set(p); 3、IntWritable类型-->Int类型 IntWritable s = new IntWrit
2018-01-28 12:30:29 2303
原创 MapReduce之Combiner详解
Combiner是什么?为什么会出现Combiner?Combiner是一个本地化的reduce操作,它是map运算的后续操作,主要是在map计算出中间文件前做一个简单的合并重复key值的操作1、网络带宽严重被占降低程序效率;(提前在map上执行分组,减少传输给reduce的数据量)2、单一节点承载过重降低程序性能;(全在ruduce上运行,导致负载过重)每一个map都可能会产
2018-01-28 11:49:13 6560
原创 Map、Reduce和Job方法总结
map的方法public void map(Object key, Text value, Context context) throws IOException, InterruptedException {…}key:偏移量,一般为0,用不到value:每行的值context:可以记录输入的key和value例如:context.write(new Text("hadoop")
2018-01-27 19:23:18 782
原创 MapReduce详解
一、MapReduce是什么?Hadoop MapReduce是一个软件框架,基于该框架能够容易地编写应用程序,这些应用程序能够运行在由上千个商用机器组成的大集群上,并以一种可靠的,具有容错能力的方式并行地处理上TB级别的海量数据集。二、Mapreduce的特点是什么?1、软件框架(写好的,我们直接用就行了)2、并行处理3、可靠且容错4、大规模集群5、海量数据集MapRe
2018-01-27 18:53:30 408
原创 MapReduce实现数据去重、数据排序、求平均值、多列单行输出
写这篇博客的目的:1、简单实现数据去重其实就是将数据的个数设置成空值,输出不显示就OK了2、简单实现数据排序因为MapReduce会自动根据key值按字典序排序,所以我们将数据转化为IntWritable类型作为key值即可3、简单的求成绩平均值(单个文件和多个文件)分割数据,然后将成绩转化成IntWritable类型,求平均值写入即可4、将人名对应数据(多列)单行输出其实
2018-01-27 18:14:44 4852 2
原创 MapReduce编写框架
import java.io .IOException;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io .IntWritable;import org.apache.hadoop.io .Text;import org.apa
2018-01-27 13:00:51 270
原创 MapReduce配置
1、修改 mapred-site.xml进入 cd /home/xm/hadoop/etc/hadoop/ls查看是否有该文件如果没有,却有mapred-site.xml.templete文件则重命名为 mapred-site.xml即可vim mapred-site.xml修改如下:configuration>property>name>mapreduce.framew
2018-01-27 11:30:17 1039
转载 java与hadoop序列化与反序列化的比较
在hadoop中,hadoop实现了一套自己的序列化框架,hadoop的序列化相对于JDK的序列化来说是比较简洁而且更节省存储空间。在集群中信息的传递主要就是靠这些序列化的字节序列来传递的所以更快速度更小的容量就变得非常地重要了。先用java来看:package hdfs;import java.io.Serializable;public class People imple
2018-01-27 08:45:14 613
原创 java序列化与反序列化
Java序列化是指把Java对象转换为字节序列的过程 而Java反序列化是指把字节序列恢复为Java对象的过程代码如下:(因为需要对象,所以首先构建对象Student类) package hdfs;import java.io.Serializable;public class Student implements Serializable{ private String
2018-01-26 19:22:16 256
原创 HDFS中数据副本的存放策略
Hadoop 0.17之前副本一:同机架的不同节点副本二:同机架的另一节点副本三:不同机架的另一节点其他副本:随机挑选Hadoop 0.17之后副本一:同Client的节点上副本二:不同机架中的节点上副本三:同第二个副本的机架中的另一个节点上其他副本:随机挑选
2018-01-26 16:27:29 4717 1
原创 Hadoop序列化
为什么Hadoop基本类型还要定义序列化?1、Hadoop在集群之间通信或者RPC调用时需要序列化,而且要求序列化要快,且体积要小,占用带宽小。2、java的序列化机制占用大量计算开销,且序列化结果体积过大; 它的引用机制也导致大文件不能被切分,浪费空间; 此外,很难对其他语言进行扩展使用; java的反序列化过程每次都会构造新的对象,不能复用对象。Hadoop定义了
2018-01-26 14:02:11 320
原创 HDFS文件压缩
减少储存文件所需空间,还可以降低其在网络上传输的时间。hadoop下各种压缩算法的压缩比压缩算法 原始文件大小 压缩后的文件大小 压缩速度 解压速度gzip 8.3GB 1.8GB 17.5MB/s 58MB/sbzip2 8.3GB 1.1GB 2.4MB/s
2018-01-26 13:52:53 6983
原创 MapFile
一个MapFile可以通过SequenceFile的地址,进行分类查找的格式。使用这个格式的优点在于:首先会将SequenceFile中的地址都加载入内存,并且进行了key值排序,从而提供更快的数据查找。与SequenceFile只生成一个文件不同,MapFile生成一个文件夹。索引模型按128个键建立的,可以通过io.map.index.interval来修改缺点1.文件
2018-01-26 13:45:58 3891
原创 SequeceFile读写
SequenceFile写操作1、通过createWrite创建SequenceFile对象,返回Write实例,指定待写入的数据流如FSDataOutputStream或FileSystem对象和Path对象。还需指定Configuration对象和键值类型(都需要能序列化)。 SequenceFile.Writer writer = SequenceFile.create
2018-01-26 13:10:44 642
原创 HDFS小文件问题解决方案+SequenceFile简单介绍
HDFS和MR主要针对大数据文件来设计,在小文件处理上效率低. 解决方法是选择一个容器,将这些小文件包装起来,将整个文件作为一条记录,可以获取更高效率的储存和处理,避免多次打开关闭流耗费计算资源.hdfs提供了两种类型的容器 SequenceFile和MapFile小文件问题解决方案1、在原有HDFS基础上添加一个小文件处理模块,具体操作流程如下:2、当用户上传文件时,判断该文
2018-01-26 11:46:22 1429
原创 HDFS数据完整性
用户希望储存和处理数据的时候,不会有任何损失或者损坏。Hadoop提供两种校验1校验和(常用循环冗余校验CRC-32)2运行后台进程来检测数据块校验和1、写入数据节点验证2、读取数据节点验证3、恢复数据4、Localfilesystem类5、ChecksumfileSystem类6、DatablockScanner1、写入数据节点验证Hdfs会对写入的所有数
2018-01-26 11:38:04 606
原创 本地文件合并后传至HDFS文件
代码如下:package hdfs;import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FSDataInputStream; import org.apache.hadoop.fs.FSDataOutputStream; import org.apache.hadoop.fs.Fi
2018-01-26 09:23:48 512
原创 Exception in thread "main" java.lang.IllegalArgumentException: Wrong FS: hdfs://master:9000/input
在进行将本地文件合并成大文件然后传输到HDFS文件的过程中出现以下问题log4j:WARN No appenders could be found for logger (org.apache.hadoop.util.Shell).log4j:WARN Please initialize the log4j system properly.log4j:WARN See http://log
2018-01-26 09:20:09 2193
原创 HDFS常用Shell操作
列出文件目录hadoop fs -ls 目录路径查看HDFS根目录下的目录:hadoop fs -ls / 递归查看HDFS根目录下的目录:hadoop fs -lsr /创建文件夹hadoop fs -mkdir 文件夹名称上传文件到HDFS中hadoop fs -put 本地源路径 目标存放路径hadoop fs -put file /input/从HDFS中下载文件
2018-01-25 21:03:27 402
原创 hadoop-HDFS文件java操作
基本实例化代码 System.setProperty("hadoop.home.dir", "/home/xm/hadoop-2.7.1"); String uri = "hdfs://master:9000"; Configuration conf = new Configuration(); FileSystem fs = Fil
2018-01-25 19:28:31 383
原创 hadoop文件操作错误---org.apache.hadoop.ipc.RemoteException(java.io.IOException)
使用hadoop dfsadmin -report命令查看磁盘使用情况如果是下面的情况Configured Capacity: 0 (0 B) Present Capacity: 0 (0 B) DFS Remaining: 0 (0 B) DFS Used: 0 (0 B) DFS Used%: NaN% Under replicated blocks: 0
2018-01-25 15:51:03 3955 1
转载 如何手动开启或关闭HDFS的安全模式(safemode)
如何手动开启或关闭HDFS的安全模式(safemode)在hadoop启动namenode的时候,会启动安全模式(safemode),在该模式下,namenode会等待datanode向它发送块报告(block report),只有接收到的datanode上的块数量(datanodes blocks)和实际的数量(total blocks)接近一致, 超过 datanodes blocks
2018-01-25 11:35:42 3058
原创 ubuntu-hadoop:mkdir: `lala': No such file or directory
xm@slave1:~$ hadoop fs -mkdir lalamkdir: `lala': No such file or directory解决方法:xm@slave1:~$ hadoop fs -mkdir -p lalaxm@slave1:~$ hadoop fs -ls Found 1 itemsdrwxr-xr-x - xm supergroup
2018-01-25 10:29:46 693 1
原创 大数据-3
1、HDFS架构(Hadoop核心之HDFS架构设计)a、hdfs定义hdfs是被设计成适合运行在通用硬件上、具有高容错性、提供高吞吐量数据访问、以流的形式访问数据、的分布式文件系统。b、Namenode、SecondaryName、DatanodeHDFS主要由3个组件构成,分别是NameNode、SecondaryNameNode和DataNode,HSFS是以master
2018-01-24 19:19:48 313
原创 Ubuntu之hadoop-分布式集群ssh免密码登录
配置ssh的实现思路:1、在每台机子上都使用ssh-keygen生成public key,private key2、所有机子的public key都拷到一台机子如master上3、在master上生成一个授权key文件authorized_keys4、最后把authorized_keys拷给所有集群中的机子,就能保证无密码登录1 先在master上,在当前用户目录下生成公钥、私钥
2018-01-24 19:12:42 1433
原创 大数据-3
1、HDFS架构(Hadoop核心之HDFS 架构设计)a、hdfs定义hdfs是被设计成适合运行在通用硬件上、具有高容错性、提供高吞吐量数据访问、以流的形式访问数据、的分布式文件系统。b、Namenode、SecondaryName、DatanodeHDFS主要由3个组件构成,分别是NameNode、SecondaryNameNode和DataNode,HSF
2018-01-24 18:57:20 273
原创 大数据-2
1、CAP原理&BASE思想(摘自CAP原理和BASE思想)分布式领域CAP理论Consistency(一致性), 数据一致更新,所有数据变动都是同步的Availability(可用性), 好的响应性能Partition tolerance(分区容忍性) 可靠性定理:任何分布式系统只可同时满足二点,没法三者兼顾。忠告:架构师不要将精力浪费在如何设计能满足三者的完美分布式
2018-01-23 21:11:32 347
原创 大数据-1
1、什么是大数据?特点?大数据(英语:Big data),又称为巨量资料,指的是传统数据处理应用软件不足以处理它们的大或复杂的数据集的术语。在总数据量相同的情况下,与个别分析独立的小型数据集(Data set)相比,将各个小型数据集合并后进行分析可得出许多额外的信息和数据关系性,可用来察觉商业趋势、判定研究质量、避免疾病扩散、打击犯罪或测定即时交通路况等;这样的用途正是大型数据集盛行的原因。...
2018-01-22 18:01:59 368
原创 线性无关路径
线性无关路径是指包括一组以前没有处理的语句或条件的一条路径从控制流图来看一条线性无关路径是至少包含有一条在其他线性无关路径中从未有过的边的路径意思就是说:这条路径中存在别的路径没有的边一般有判定的基本上都是,几个判定走几条路,几条路就是几条线性无关路径
2018-01-07 20:48:27 13045
Linux网站搭建流程
2017-12-22
数学建模教材(精品)
2017-09-27
Linux操作系统实验教程_南大版
2017-09-23
2016年考研核心考点——计算机组成原理
2017-09-23
2016年考研核心考点-----计算机网络
2017-09-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人