大数据系列一
文章平均质量分 53
大数据系列一
浊酒南街
纵使疾风起,人生不言弃。
展开
-
大数据之Linux(一):常用基本命令8
搜索查找类1.1 find 查找文件或者目录find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件显示在终端。基本语法find [搜索范围] [选项]选项说明|选项 |功能 ||–|--|| -name<查询方式> | 按照指定的文件名查找模式查找文件 || -user<用户名> | 查找属于指定用户名所有文件 ||-size<文件大小> | 按照指定的文件大小查找文件 |案例实操(1)按文件名:根据名称查找/目录下的原创 2021-05-03 23:29:39 · 78 阅读 · 0 评论 -
大数据之Shell:流程控制(一)
目录1.条件判断之if判断1.基本语法2.案例实操1.条件判断之if判断1.基本语法格式1:if [ 条件判断式 ]then 程序 fi 格式2:if [ 条件判断式 ] then 程序 elif [ 条件判断式 ]then 程序else 程序fi注意事项:(1)[ 条件判断式 ],中括号和条件判断式之间必须有空格(2)if后要有空格2.案例实操(1)输入一个数字,如果是1,则输出banzhang zhen shuai,如果是2,则输出cls z原创 2021-05-20 20:13:38 · 46 阅读 · 1 评论 -
大数据之Shell:函数(二):自定义函数
目录1:基本语法2:经验技巧3:案例实操1:基本语法[ function ] funname[()]{ Action; [return int;]}funname2:经验技巧(1)必须在调用函数地方之前,先声明函数,shell脚本是逐行运行。不会像其它语言一样先编译。(2)函数返回值,只能通过$?系统变量获得,可以显示加:return返回,如果不加,将以最后一条命令运行结果,作为返回值。return后跟数值n(0-255)3:案例实操(1)计算两个输入参数的和[jinghang原创 2021-05-20 22:17:31 · 276 阅读 · 4 评论 -
大数据之Linux(一):常用基本命令11
文本处理三剑客grep,sed,awk1、grep基本语法命令格式:grep [option] pattern file选项说明选项功能-i忽略大小写-r递归搜索文件-n标识结果所在的行数-s不显示错误信息案例实操grep -rins word file.txt2、sed基本语法命令格式:sed option ‘script’ file.txt常用选项-n 静默输出-i 修改源文件1、文本的搜索并替换sed 's/原创 2021-05-04 17:34:43 · 99 阅读 · 0 评论 -
大数据之Hadoop(MapReduce):数据清洗(ETL)
目录1.数据清洗(ETL)2.数据清洗案例实操2.1:需求2.2:需求分析2.3:实现代码1.数据清洗(ETL)在运行核心业务MapReduce程序之前,往往要先对数据进行清洗,清理掉不符合用户要求的数据。清理的过程往往只需要运行Mapper程序,不需要运行Reduce程序;2.数据清洗案例实操2.1:需求去除日志中字段长度小于等于11的日志。(1)输入数据 web.log(2)期望输出数据每行字段长度都大于11。2.2:需求分析需要在Map阶段对输入的数据根据规则进行过滤清洗。2.3原创 2021-06-12 11:39:42 · 1282 阅读 · 0 评论 -
大数据之Hadoop(MapReduce):资源调度器
目录1.资源调度器分组2.先进先出调度器(FIFO),如图4-27所示3.容量调度器(Capacity Scheduler),如图4-28所示4.公平调度器(Fair Scheduler),如图4-29所示1.资源调度器分组目前,Hadoop作业调度器主要有三种:FIFO、Capacity Scheduler容量调度器和Fair Scheduler公平调度器。Hadoop2.7.2默认的资源调度器是Capacity Scheduler。具体设置详见:yarn-default.xml文件<pro原创 2021-06-12 20:16:58 · 482 阅读 · 2 评论 -
大数据之Zookeeper:Zookeeper选举机制(面试重点)
目录1.概述2.简单举例3.非全新集群选举1.概述1)半数机制:集群中半数以上机器存活,集群可用。所以Zookeeper适合安装奇数台服务器。2)Zookeeper虽然在配置文件中并没有指定Master和Slave。但是,Zookeeper工作时,是有一个节点为Leader,其他则为Follower,Leader是通过内部的选举机制临时产生的。2.简单举例假设有五台服务器组成的Zookeeper集群,它们的id从1-5,同时它们都是最新启动的,也就是没有历史数据,在存放数据量这一点上,都是一样的。原创 2021-06-13 17:00:04 · 160 阅读 · 0 评论 -
大数据之Linux(一):VI/VIM编辑器
一、VI/VIM编辑器1)、VI/VIM是什么VI是Unix操作系统和类Unix操作系统中最通用的文本编辑器。VIM编辑器是从VI发展出来的一个性能更强大的文本编辑器。可以主动的以字体颜色辨别语法的正确性,方便程序设计。VIM与VI编辑器完全兼容vi/vim 文件名 :编辑文件2)、一般模式以vi打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容, 也可以使用『复制、贴上』来处理你的文件原创 2020-12-16 17:03:11 · 160 阅读 · 0 评论 -
大数据之Redis:RDB保存的文件
目录1、RDB保存的文件1、RDB保存的文件01、在redis.conf中配置文件名称,默认为dump.rdb02、rdb文件的保存路径,也可以修改。默认为Redis启动时命令行所在的目录下03、rdb的保存策略04、手动保存快照命令save: 只管保存,其它不管,全部阻塞save vs bgsave05、stop-writes-on-bgsave-error yes当Redis无法写入磁盘的话,直接关掉Redis的写操作06、rdbcompression yes进行rdb保存时原创 2021-09-12 23:06:06 · 3953 阅读 · 0 评论 -
大数据之Redis:Redis数据类型Hash及相关的命令行操作
目录1、Hash数据类型2、Hash相关客户端操作1、Hash数据类型Redis hash 是一个键值对集合。Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。类似Java里面的Map<String,Object>用户ID为查找的key,存储的value用户对象包含姓名,年龄,生日等信息2、Hash相关客户端操作hset <key> <field> <value>:给<key&原创 2021-07-02 19:08:34 · 147 阅读 · 0 评论 -
大数据之Linux(一):常用基本命令1
一、帮助命令1)、 man 获得帮助信息基本语法man [命令或配置文件] (功能描述:获得帮助信息)2)、案例实操查看ls命令的帮助信息[root@hadoop101 ~]# man ls原创 2020-12-16 18:25:56 · 82 阅读 · 0 评论 -
大数据之Hadoop(MapReduce):Join之Reduce Join应用
目录1.Reduce Join2.Reduce Join案例实操2.1:需求2.2:需求分析3.代码实现4.总结1.Reduce JoinMap端的主要工作:为来自不同表或文件的key/value对,打标签以区别不同来源的记录。然后用连接字段作为key,其余部分和新加的标签作为value,最后进行输出。Reduce端的主要工作:在Reduce端以连接字段作为key的分组已经完成,我们只需要在每一个分组当中将那些来源于不同文件的记录(在Map阶段已经打标志)分开,最后进行合并就行了。2.Reduce原创 2021-06-11 11:30:12 · 104 阅读 · 1 评论 -
大数据之Hadoop(hdfs):服役新数据节点
目录1.需求2.环境准备3.服役新节点具体步骤1.需求随着公司业务的增长,数据量越来越大,原有的数据节点的容量已经不能满足存储数据的需求,需要在原有集群基础上动态添加新的数据节点。2.环境准备(1)在hadoop104主机上再克隆一台hadoop105主机(2)修改IP地址和主机名称(3)删除原来HDFS文件系统留存的文件(/opt/module/hadoop-2.7.2/data和log)(4)source一下配置文件[jinghang@hadoop105 hadoop-2.7.2]$ s原创 2021-05-13 15:15:11 · 186 阅读 · 0 评论 -
大数据之Redis:Redis数据类型String及相关的命令行操作
目录1、String数据类型2、相关的命令行操作3、原子性1、String数据类型String是Redis最基本的类型,一个key对应一个value。String类型是二进制安全的。意味着Redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。String类型是Redis最基本的数据类型,一个Redis中字符串value最多可以是512M2、相关的命令行操作get <key>:查询对应键值set <key> <value>:添加原创 2021-07-02 18:39:28 · 136 阅读 · 0 评论 -
大数据之Hadoop(MapReduce):切片与MapTask并行度决定机制
目录1.2.3.1.2.3.原创 2021-06-02 18:54:21 · 287 阅读 · 1 评论 -
大数据之Hadoop(MapReduce):Shuffle机制
目录1.Mapreduce Shuffle机制2.工作原理图1.Mapreduce Shuffle机制Map方法之后,Reduce方法之前的数据处理过程称之为Shuffle。2.工作原理图具体 shuffle 过程详解, 如下:map-shuffle 阶段1) maptask 收集我们的 map()方法输出的 kv 对,放到内存环形缓冲区中2) 当大于阈值80%时,会从内存缓冲区不断溢出本地磁盘文件,可能会溢出多个文件,这一过程叫溢写阶段(spill)3) 多个溢出文件会被合并成大的溢出文原创 2021-06-10 10:33:32 · 241 阅读 · 0 评论 -
大数据之Redis:AOF之Rewrite
目录1、Rewrite2、Redis如何实现重写?3、何时重写?4、AOF的优点5、AOF的缺点6、用哪个好7、性能建议1、RewriteAOF采用文件追加方式,文件会越来越大为避免出现此种情况,新增了重写机制,当AOF文件的大小超过所设定的阈值时,Redis就会启动AOF文件的内容压缩,只保留可以恢复数据的最小指令集.可以使用命令bgrewriteaof。2、Redis如何实现重写?AOF文件持续增长而过大时,会fork出一条新进程来将文件重写(也是先写临时文件最后再rename),遍历新进程的原创 2021-09-12 23:26:30 · 1892 阅读 · 0 评论 -
大数据之Linux(一):常用基本命令2
文件目录类1)、 pwd 显示当前工作目录的绝对路径pwd:print working directory 打印工作目录1.基本语法pwd (功能描述:显示当前工作目录的绝对路径)2.案例实操显示当前工作目录的绝对路径[root@hadoop101 ~]# pwd/root...原创 2020-12-16 18:53:07 · 113 阅读 · 0 评论 -
大数据之Shell:Shell之运算符
目录1.基本语法:$ expr2.案例实操1.基本语法:$ expr(1)“((运算式))”或“((运算式))”或“((运算式))”或“[运算式]” + , - , *, /, %;(2) expr + , - , *, /, % ;注意:expr运算符间要有空格2.案例实操(1)计算3+2的值[jinghang@hadoop101 datas]$ expr 2 + 35(2)计算(2+3)*4的值(a)expr一步完成计算[jinghang@hadoop10原创 2021-05-18 20:11:10 · 56 阅读 · 0 评论 -
大数据之Shell:企业真实面试题
目录问题1:获取随机字符串(8位)问题2:使用Linux命令查询file1中空行所在的行号问题3:有文件chengji.txt内容如下,使用Linux命令计算第二列的和并输出:问题4:Shell脚本里如何检查一个a.txt文件是否存在?如果不存在则创建,并写入aaa?问题5:用shell写一个脚本,对文本中无序的一列数字排序,并累加问题6:请用shell脚本写出查找当前文件夹(/home)下所有的文本文件内容中包含有字符”shen”的文件名称问题1:获取随机字符串(8位)[bigdata@hadoop1原创 2021-05-21 09:51:02 · 190 阅读 · 2 评论 -
大数据之Linux(一):常用基本命令7
文件权限类1.1 文件属性Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在Linux中我们可以使用ll或者ls -l命令来显示一个文件的属性以及文件所属的用户和组。从左到右的10个字符表示,如图1-154所示:图1-154 文件属性如果没有权限,就会出现减号[ - ]而已。从左至右用0-9这些数字来表示:(1)0首位表示类型在Linux中第一个字符代表这个文件原创 2021-05-03 23:06:55 · 62 阅读 · 0 评论 -
大数据之Shell:Shell 中的数组
目录1. shell数组;2.案例实操2.1 案例实操:创建shell数组;2.2 案例实操:获取元素2.3 获取数组的长度2.4 遍历数组1. shell数组;Shell 数组用括号来表示,元素用"空格"符号分割开,语法格式如下:方式2: arr=(value1 value2 value3)2.案例实操2.1 案例实操:创建shell数组;#!/bin/bashmy_array=(A B "C" D)#我们也可以使用下标来定义数组:array_name[0]=value0array_n原创 2021-05-18 19:56:38 · 144 阅读 · 0 评论 -
大数据之Linux:软件包管理
RPM1.1 RPM概述RPM(RedHat Package Manager),RedHat软件包管理工具,类似windows里面的setup.exe是Linux这系列操作系统里面的打包安装工具,它虽然是RedHat的标志,但理念是通用的。1.2 RPM查询命令(rpm -qa)基本语法rpm -qa (功能描述:查询所安装的所有rpm软件包)rpm -qi 安装包 (功能描述:查询安装的软件包的详细信息)经验技巧由于软件包比较多,一般都会采取过滤。rpm -qa | grep原创 2021-05-04 17:53:17 · 751 阅读 · 0 评论 -
大数据之Redis:Redis简介
目录1.Redis简介2.Redis 优势3.Redis应用场景1.Redis简介Redis(REmote DIctionary Server)是一个完全开源免费的,高性能的key-value数据库存储系统,是热门的NoSql数据库之一;1.Redis支持存储的多种key-value类型,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。2.Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次原创 2021-06-16 17:14:38 · 492 阅读 · 0 评论 -
大数据之Hadoop(MapReduce):自定义OutputFormat案例实操
目录1.需求2.需求分析3..案例实操1.需求过滤输入的log日志,包含jinghang的网站输出到e:/jinghang.log,不包含jinghang的网站输出到e:/other.log。(1)输入数据http://www.baidu.comhttp://www.google.comhttp://cn.bing.comhttp://www.jinghang.comhttp://www.sohu.comhttp://www.sina.comhttp://www.sin2a.comh原创 2021-06-11 10:47:07 · 146 阅读 · 0 评论 -
大数据之Hadoop:大数据概论
1.1大数据概念:大数据(Big Data):指无法在一定时间范围内,用常规软件工具进行捕捉,管理,和处理的数据集合。是需要新处理模式才能具有更强的决策力、洞察发现力和流畅优化能力的海量,高增长率和多样化的信息资产。主要解决海量数据的存储和海量数据的分析计算,统一资源的海量调度。1.2大数据特点(4V):1、Volume(大量)2、Velocity(高速)3、Variety(多样)4、Value(低价值密度)1.3Hadoop组成:HDFS(Hadoop Distributed File原创 2021-05-05 16:32:26 · 143 阅读 · 0 评论 -
大数据之Hadoop(MapReduce):压缩实操案例(一)
目录1.数据流的压缩和解压缩2.测试一下如下压缩方式:1.数据流的压缩和解压缩CompressionCode有两个方法可以用于轻松的压缩或解压缩数据;想要对正在被写入一个输出流的数据进行压缩,我们可以使用createOutputStream(OutputStreamout)方法创建一个CompressionOutputStream,将其进行压缩格式写入底层的流;相反。要想对输入流读取而来的数据进行解压缩,则调用createInputStream(InputStreamin)函数,从而获得一个Comp原创 2021-06-12 19:39:26 · 121 阅读 · 0 评论 -
大数据之Shell: Shell概述
目录1.Shell概述1.什么是shell?2.什么是编译型语言,什么是解释型语言?2.Shell解析器1.Linux提供的Shell解析器有:2.bash和sh的关系:sh是bash的一个快捷方式;3.Centos默认的解析器是bash3. Shell脚本入门1.Shell概述1.什么是shell?shell 是一个命令行解释器,它接受应用程序/用户命令,然后调用操作系统内核;shell 还是功能相当强大的编程语言,易编写,易调试,灵活性强;2.什么是编译型语言,什么是解释型语言?编译型语言:原创 2021-05-17 20:00:15 · 218 阅读 · 0 评论 -
大数据之Shell:条件判断
目录1:基本语法2:常用判断条件3:案例实操1:基本语法[ condition ](注意condition前后要有空格)注意:条件非空即为true,[ jinghang ]返回true,[] 返回false。2:常用判断条件(1)两个整数之间比较= 字符串比较(待定)-lt 小于(less than) -le 小于等于(less equal)-eq 等于(equal) -gt 大于(greater than)-ge 大于等于(greater equal) -ne 不等于(Not原创 2021-05-20 20:04:02 · 65 阅读 · 2 评论 -
大数据之Zookeeper:监听器原理和写数据流程
目录1.监听器原理2.写数据流程1.监听器原理2.写数据流程原创 2021-06-14 11:23:36 · 379 阅读 · 1 评论 -
大数据之Linux(一):常用基本命令4
1)、ln 软链接软链接也成为符号链接,类似于windows里的快捷方式,有自己的数据块,主要存放了链接其他文件的路径。基本语法ln -s [原文件或目录] [软链接名] (功能描述:给原文件创建一个软链接)经验技巧删除软链接: rm -rf 软链接名查询:通过ll就可以查看,列表属性第1位是l,尾部会有位置指向。案例实操(1)创建软连接[root@hadoop101 ~]# mv houge.txt xiyou/dssz/[root@hadoop101 ~]# ln -s xiy原创 2021-05-03 18:57:52 · 102 阅读 · 0 评论 -
大数据之Hadoop(MapReduce):Yarn运行机制
目录1.Yarn运行机制2.工作机制详解3.1.Yarn运行机制2.工作机制详解(1)MR程序提交到客户端所在的节点。(2)YarnRunner向ResourceManager申请一个Application。(3)RM将该应用程序的资源路径返回给YarnRunner。(4)该程序将运行所需资源提交到HDFS上。(5)程序资源提交完毕后,申请运行mrAppMaster。(6)RM将用户的请求初始化成一个Task。(7)其中一个NodeManager领取到Task任务。(8)该NodeMa原创 2021-06-07 21:43:31 · 151 阅读 · 0 评论 -
大数据之Hadoop:HDFS的API操作
1 HDFS文件上传(测试参数优先级)1.编写源代码@Testpublic void testCopyFromLocalFile() throws IOException, InterruptedException, URISyntaxException { // 1 获取文件系统 Configuration configuration = new Configuration(); configuration.set("dfs.replication", "2"); FileSyste原创 2021-05-13 08:59:36 · 93 阅读 · 0 评论 -
大数据之Hadoop(MapReduce):GroupingComparator分组案例实操
目录1.需求2.需求分析3.代码实现1.需求有如下订单数据,现在需要求出每一个订单中最贵的商品。(1)输入数据 GroupingComparator.txt0000001 Pdt_01 222.80000002 Pdt_05 722.40000001 Pdt_02 33.80000003 Pdt_06 232.80000003 Pdt_02 33.80000002 Pdt_03 522.80000002 Pdt_04 122.4(2)期望输出数据1 222.82 722.43原创 2021-06-11 09:27:46 · 147 阅读 · 0 评论 -
大数据之Zookeeper:Zookeeper入门
目录1.概述2.Zookeeper工作机制3.特点4.集群的角色5.数据结构1.概述Zookeeper是一个分布式协调服务的开源概架,主要用来解决分布式集群中应用系统的一致性问题;ZooKeeper本质上是一个分布式的小文件存储系统,提供基于类似于文件系统的目录树方式的数据存储,并且可以对树中的节点进行有效管理,从而用来维护和监控你存储的数据的状态变化,通过监控这些数据状态的变化,从而可以达到基于数据的集群管理,诸如:统一命名服务、分布式配置管理、负载均衡、分布式锁、分布式协调等功能。2.Zooke原创 2021-06-13 16:04:57 · 120 阅读 · 0 评论 -
大数据之Redis:Redis的事务定义
目录1、Redis的事务2、Multi、Exec、discard3、事务的错误处理1、Redis的事务Redis事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。Redis事务的主要作用就是串联多个命令防止别的命令插队;2、Multi、Exec、discard从输入Multi命令开始,输入的命令都会依次进入命令队列中,但不会执行,至到输入Exec后,Redis会将之前的命令队列中的命令依次执行。组队的过程中可以通过dis原创 2021-07-04 18:43:00 · 114 阅读 · 0 评论 -
大数据之Hadoop优化:Hadoop 小文件优化方法
目录1.Hadoop小文件弊端2.Hadoop小文件解决方案3.案例实操1.Hadoop小文件弊端已知:HDFS上每个文件都要在NameNode中都有对应的元数据,这个元数据的大小约为150byte;小文件过多的弊端:1、会大量占用NameNode的内存空间; 2、元数据过多的情况查找速度变慢;3、MR计算时,会生成过多的切片,启动过多的MapTask;2.Hadoop小文件解决方案1)小文件优化的方向:准备阶段:(1)在数据采集的时候,就将小文件或小批数据合成大文件再上传HDFS;(2)原创 2021-05-20 19:38:34 · 275 阅读 · 0 评论 -
大数据之Shell:流程控制(四)
目录1.基本语法2.案例实操while 循环1.基本语法while [ 条件判断式 ] do 程序 done2.案例实操(1)从1加到100[jinghang@hadoop101 datas]$ touch while.sh[jinghang@hadoop101 datas]$ vim while.sh#!/bin/bashs=0i=1while [ $i -le 100 ]do s=$[$s+$i] i=$[$i+1]don原创 2021-05-20 20:59:51 · 47 阅读 · 0 评论 -
大数据之Shell: Shell中的变量
目录1.系统变量2.自定义变量1.系统变量1.常用系统变量:HOME、HOME、HOME、PWD、SHELL、SHELL、SHELL、USER等2.案例实操(1)查看系统变量的值[jinghang@hadoop101 datas]$ echo $HOME/home/jinghang2.自定义变量1.基本语法(1)定义变量:变量名=变量值(2)撤销变量:unset 变量名2.变量定义规则(1)变量名称可以由字母、数字和下划线组成,但是不能以数字开头,环境变量名建议大写。(2)等号两原创 2021-05-17 20:39:37 · 113 阅读 · 1 评论 -
大数据之Hadoop(MapReduce):Yarn基本架构
目录1.Yarn基本架构2.如图所示:1.Yarn基本架构YARN主要由ResourceManager、NodeManager、ApplicationMaster和Container等组件构成2.如图所示:原创 2021-06-07 21:50:36 · 121 阅读 · 1 评论