
大数据
沐雨金鳞
大行不顾细谨
展开
-
springboot日志显示冲突位置时最简单的解决方法
很多时候,日志冲突了,我们想着怎么去pom文件里面exclusive相关的jar包,很麻烦!其实我们直接去对应的位置把它删除掉就ok了!比如我出现了这个问题:SLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding in [jar:file:/Users/qishi/flinklibs/log4j-slf4j-impl-2.12.1.jar!/org/slf4j/impl/StaticLoggerBin.原创 2020-12-06 16:01:27 · 742 阅读 · 0 评论 -
Canal监控库表代码(新)
网上的监控代码很多,但是我运行了几个后发现不太符合我们的sql语句格式。于是,自己写了一下,并且提供了很大的可扩展性:监控sql结果如下:[sql]----> UPDATE test.user SET name = 'vv' WHERE id = 1[sql]----> INSERT INTO test.user (id,name) VALUES (2,'aaa')[sql]----> DELETE FROM user WHERE id=2package com.原创 2020-12-06 11:37:01 · 653 阅读 · 0 评论 -
com.alibaba.otter.canal.protocol.exception.CanalClientException
如果你用canal连接mysql,查看日志没有发现错误,但是!!!!!!用客户端连接的时候出现了问题!!!!!!!记住铁子: CanalConnector connector = CanalConnectors.newSingleConnector(new InetSocketAddress(AddressUtils.getHostIp(), 11111), "example", "canal", "canal");port一定要设置成11111,因为这是.原创 2020-12-05 21:15:19 · 7809 阅读 · 2 评论 -
Mac mysql8安装canal1.1.5
我说实话!!!!!!!canal默认支持mysql8?!!!配了一下午,终于配好了......????1、下载canal包,解压,修改配置文件/usr/local/canal-1.1.5 » vim conf/example/instance.propertiescanal.instance.mysql.slaveId=1234# position infocanal.instance.master.address=localhost:3306# 自己数据库的用户密码c原创 2020-12-03 17:11:43 · 813 阅读 · 1 评论 -
为什么spark比mapreduce快?
1、Spark vs MapReduce ≠ 内存 vs 磁盘其实Spark和MapReduce的计算都发生在内存中,区别在于:MapReduce通常需要将计算的中间结果写入磁盘,然后还要读取磁盘,从而导致了频繁的磁盘IO。 Spark则不需要将计算的中间结果写入磁盘,这得益于Spark的RDD(弹性分布式数据集,很强大)和DAG(有向无环图),其中DAG记录了job的stage以及在job执行过程中父RDD和子RDD之间的依赖关系。中间结果能够以RDD的形式存放在内存中,且能够从DAG中恢复,大转载 2020-11-17 12:40:00 · 613 阅读 · 0 评论 -
数据量单位
按顺序给出数据存储单位:bit、Byte、KB、MB、GB、TB、PB、EB、ZB、YB、BB、NB、DB 1Byte = 8bit 1K = 1024Byte 1MB = 1024K 1G = 1024M 1T = 1024G 1P = 1024T原创 2020-06-29 21:28:42 · 4517 阅读 · 0 评论 -
MapReduce之Combiner详解
Combiner是什么?为什么会出现Combiner?Combiner是一个本地化的reduce操作,它是map运算的后续操作,主要是在map计算出中间文件前做一个简单的合并重复key值的操作1、网络带宽严重被占降低程序效率;(提前在map上执行分组,减少传输给reduce的数据量)2、单一节点承载过重降低程序性能;(全在ruduce上运行,导致负载过重)每一个map都可能会产原创 2018-01-28 11:49:13 · 6652 阅读 · 0 评论 -
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 · 2714 阅读 · 0 评论 -
MapReduce倒排索引
"倒排索引"是文档检索系统中最常用的数据结构,被广泛地应用于全文搜索引擎。它主要是用来存储某个单词(或词组)在一个文档或一组文档中的存储位置的映射,即提供了一种根据内容来查找文档的方式。由于不是根据文档来确定文档所包含的内容,而是进行相反的操作,因而称为倒排索引(Inverted Index)。1 实例描述通常情况下,倒排索引由一个单词(或词组)以及相关的文档列表组成,文档列表原创 2018-01-29 20:51:51 · 612 阅读 · 0 评论 -
hadoop之Partitioner详解
Partitioner 的作用是对 Mapper 产生的中间结果进行分片,以便将同一分组的数据交给同一个 Reducer 处理,它直接影响 Reduce 阶段的负载均衡。Map阶段总共五个步骤step1.3就是一个分区操作Mapper最终处理的键值对key, value>,是需要送到Reducer去合并的,合并的时候,有相同key的键/值对会送到同一个Reducer节点原创 2018-01-28 12:53:21 · 1839 阅读 · 0 评论 -
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 · 2405 阅读 · 0 评论 -
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 · 837 阅读 · 0 评论 -
MapReduce实现数据去重、数据排序、求平均值、多列单行输出
写这篇博客的目的:1、简单实现数据去重其实就是将数据的个数设置成空值,输出不显示就OK了2、简单实现数据排序因为MapReduce会自动根据key值按字典序排序,所以我们将数据转化为IntWritable类型作为key值即可3、简单的求成绩平均值(单个文件和多个文件)分割数据,然后将成绩转化成IntWritable类型,求平均值写入即可4、将人名对应数据(多列)单行输出其实原创 2018-01-27 18:14:44 · 5031 阅读 · 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 · 294 阅读 · 0 评论 -
mapreduce之shuffle详解
Reduce阶段三个步骤:Step2.1就是一个Shuffle[随机、洗牌]操作Shuffle是什么?针对多个map任务的输出按照不同的分区(Partition)通过网络复制到不同的reduce任务节点上,这个过程就称作为Shuffle。shuffle过程的重要性是什么?Hadoop的shuffle过程就是从map端输出到reduce端输入之间的过程,这一段应该是原创 2018-01-28 18:07:30 · 377 阅读 · 0 评论 -
MapReduce详解
一、MapReduce是什么?Hadoop MapReduce是一个软件框架,基于该框架能够容易地编写应用程序,这些应用程序能够运行在由上千个商用机器组成的大集群上,并以一种可靠的,具有容错能力的方式并行地处理上TB级别的海量数据集。二、Mapreduce的特点是什么?1、软件框架(写好的,我们直接用就行了)2、并行处理3、可靠且容错4、大规模集群5、海量数据集MapRe原创 2018-01-27 18:53:30 · 437 阅读 · 0 评论 -
配置hadoop集群
一共有7个文件要修改:hadoop-2.6.0/etc/hadoop/hadoop-env.shhadoop-2.6.0/etc/hadoop/yarn-env.shhadoop-2.6.0/etc/hadoop/core-site.xmlhadoop-2.6.0/etc/hadoop/hdfs-site.xmlhadoop-2.6.0/etc/hadoop/mapred-site.x...原创 2019-01-27 15:23:34 · 471 阅读 · 0 评论 -
配置ssh免密码登录
配置ssh免密码登录是让各节点能自动通过安全认证,不影响正常通讯。安装ssh有两种方式:在ubuntu上在线安装执行命令$sudo apt-get install ssh$sudo apt-get update离线安装 在网上下载离线包,拷贝到ubuntu中按照离线包中的安装说明在本地进行安装然后确认sshserver是否启动了:$ ps -e | gre...原创 2019-01-27 15:23:15 · 400 阅读 · 0 评论 -
Hadoop的集群安装配置方法
1、在虚拟机上先准备一个机子完成安装jdk,hadoop和配置环境等虚拟机和操作系统:环境:ubuntu14 + hadoop2.6+jdk1.7虚拟机:(vmware10)2、克隆3个ubuntu实例先关闭当前虚拟机实例,在虚拟机工具栏上点击 虚拟机|管理|克隆,打开克隆虚拟机向导窗口一直点击 下一步 完成克隆其中克隆类型选择创建完整克隆3、设置3台机子的hostnam...原创 2019-01-27 15:22:52 · 227 阅读 · 0 评论 -
ubuntu安装jdk出现的错误及解决方法
1、解压出错2、The program 'java' can be found in the following packages:* gcj-4.4-jre-headless* gcj-4.5-jre-headless* openjdk-6-jre-headlessTry: sudo apt-get install <selected package>执行...原创 2019-01-18 18:38:49 · 1641 阅读 · 0 评论 -
Reduce阶段对value遍历两次的解决方法
Reduce阶段对value的遍历只能一次解决方法:创建一个容器将遍历的数据存到容器里,然后接下来自行使用即可在写IF-IDF时,采用如下形式for(Text value: values){}for(Text value: values){}对reduce中的value遍历两次发现第一次成功第二次则失败经过网上查询,发现如果要实现遍历两次的话解决方法:创建一个原创 2018-01-30 16:09:33 · 1004 阅读 · 0 评论 -
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 · 1630 阅读 · 0 评论 -
MapReduce实现单表关联和多表关联
单表关联:给出child-parent(孩子——父母)表,要求输出grandchild-grandparent(孙子——爷奶)表输入:文件p中数据:Tom,LucyTom,JackJone,LucyJone,JackLucy,MaryLucy,BenJack,AliceJack,JesseTerry,AliceTerry,JessePhilip,TerryPhil原创 2018-01-29 17:52:52 · 2692 阅读 · 0 评论 -
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 · 734 阅读 · 0 评论 -
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 · 1103 阅读 · 0 评论 -
java与hadoop序列化与反序列化的比较
在hadoop中,hadoop实现了一套自己的序列化框架,hadoop的序列化相对于JDK的序列化来说是比较简洁而且更节省存储空间。在集群中信息的传递主要就是靠这些序列化的字节序列来传递的所以更快速度更小的容量就变得非常地重要了。先用java来看:package hdfs;import java.io.Serializable;public class People imple转载 2018-01-27 08:45:14 · 636 阅读 · 0 评论 -
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 · 428 阅读 · 0 评论 -
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 · 4019 阅读 · 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 · 3185 阅读 · 0 评论 -
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 · 727 阅读 · 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 · 349 阅读 · 0 评论 -
大数据-3
1、HDFS架构(Hadoop核心之HDFS 架构设计)a、hdfs定义hdfs是被设计成适合运行在通用硬件上、具有高容错性、提供高吞吐量数据访问、以流的形式访问数据、的分布式文件系统。b、Namenode、SecondaryName、DatanodeHDFS主要由3个组件构成,分别是NameNode、SecondaryNameNode和DataNode,HSF原创 2018-01-24 18:57:20 · 305 阅读 · 0 评论 -
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 · 1476 阅读 · 0 评论 -
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 · 631 阅读 · 0 评论 -
大数据-2
1、CAP原理&BASE思想(摘自CAP原理和BASE思想)分布式领域CAP理论Consistency(一致性), 数据一致更新,所有数据变动都是同步的Availability(可用性), 好的响应性能Partition tolerance(分区容忍性) 可靠性定理:任何分布式系统只可同时满足二点,没法三者兼顾。忠告:架构师不要将精力浪费在如何设计能满足三者的完美分布式原创 2018-01-23 21:11:32 · 392 阅读 · 0 评论 -
MapReduce排序分组(二次排序)
Step1.4第四步中需要对不同分区中的数据进行排序和分组,默认情况按照key进行排序和分组二次排序在map阶段1.使用job.setInputFormatClass定义的InputFormat将输入的数据集分割成小数据块调用自定义Map的map方法,将一个个LongWritable, Text>对输入给Map的map方法。输出应该符合自定义Map中定义的输出IntPair,原创 2018-01-28 18:33:53 · 529 阅读 · 0 评论 -
mapreduce之join连接
1、reduce side join(reduce端表连接)使用分布式缓存API,完成两个数据集的连接操作优点:操作简单缺点:map端shffule后传递给reduce端的数据量过大,极大的降低了性能连接方法:(1)map端读入输入数据,以连接键为Key,待连接的内容为value,但是value需要添加特别的标识, 表示的内容为表的表示,即若value来自于表1,则标识位设原创 2018-01-30 16:00:06 · 420 阅读 · 0 评论 -
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 · 411 阅读 · 0 评论 -
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 · 2232 阅读 · 0 评论 -
sqoop
一、sqoop的功能sqoop是实现hadoop与关系型数据库(RDBMS)之间的数据迁移工具。通过sqoop可以很方便的将RDBMS的数据和hdfs、hbase、hive上的数据进行相互导入导出。sqoop 架构非常简单,其整合了 Hive 、 Hbase 和 Oozie ,通过 map-reduce 任务来传输数据,从而提供并发特性和容错。sqoop 主要通过 JDBC 和关系数据原创 2018-02-02 19:20:05 · 822 阅读 · 0 评论