- 博客(55)
- 收藏
- 关注
原创 一个命令搞定,linux空间满,找不到大文件的问题
#有的文件被删除了,进程没有被杀掉,造成的空间满lsof | grep deleted | awk '{print $2}' | xargs kill -9
2021-04-28 17:31:05 232
原创 maven打包插件
<build> <!--scala待编译的文件目录--> <sourceDirectory>src/main/java</sourceDirectory> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.6..
2021-01-22 13:48:25 189
原创 实时项目-Flink pv解决数据倾斜问题
实时项目-Flink pv解决数据倾斜问题需求:网站总浏览量的PV统计实时统计每小时内的网站PVimport com.hw.bean.UserBehavior;import org.apache.flink.api.common.functions.MapFunction;import org.apache.flink.api.java.tuple.Tuple2;import org.apache.flink.streaming.api.TimeCharacteristic;import or
2020-11-26 21:30:33 492
原创 ERROR Executor: Exception in task 0.0 in stage 3.0 (TID 10) java.sql.SQLException: ERROR 726 (43M10)
20/11/06 08:37:59 ERROR Executor: Exception in task 0.0 in stage 3.0 (TID 10)java.sql.SQLException: ERROR 726 (43M10): Inconsistent namespace mapping properties. Cannot initiate connection as SYSTEM:CATALOG is found but client does not have phoenix.sche.
2020-11-06 08:46:38 4395
原创 Kylin启动报错解决Failed to find metadata store by url: kylin_metadata@hbase
具体的报错:Exception in thread "main" java.lang.IllegalArgumentException: Failed to find metadata store by url: kylin_metadata@hbase at org.apache.kylin.common.persistence.ResourceStore.createResourceStore(ResourceStore.java:101) at org.apache.kylin.common
2020-10-23 17:02:51 2509 1
原创 Yarn资源调度器
Yarn资源调度器Hadoop的作业调度器主要有三种:FIFO,Capcity Schedule和Fair Schedule.默认的调度器是Capcity Schedule,存放在yarn-default.xml文件中FIFO调度器容量调度器支持多个队列,每个队列可以配置一定的资源量,每个队列采用fifo调度策略为了防止同一用户的作业独占队列中的资源,该调度器会对同一用户提交的作业所占的资源量进行限定.最闲的队列计算方法,task/资源百分比队列内任务的排序按照作
2020-10-08 09:00:00 168
原创 Hive的metastore和hiveserver2
Hive的metastore和hiveserver2hiveserver2相当于是一个代理器.可以代理beeline和jdbc的访问请求,他们都不需要知道密码,只需要连接hiveserver2就可以了metastore连接元数据:可以直接连接,也可以通过metastore.通过metastore就需要开启服务...
2020-10-05 17:01:24 452 1
原创 Sqoop同步策略
Sqoop同步策略全量导入:针对小公司,数据量少增量导入:针对支付表,数据不发生变化新增机变化策略:数据发生变化,16号的数据修改了14号的数据.比如订单表,把14号的数据发生变化,就把数据倒过来覆盖.,就把数据倒过来覆盖....
2020-10-05 16:19:44 724
原创 项目经验之Flume内存优化
项目经验之Flume内存优化1)问题描述:如果启动消费Flume抛出如下异常ERROR hdfs.HDFSEventSink: process failedjava.lang.OutOfMemoryError: GC overhead limit exceeded2)解决方案步骤:(1)在hadoop102服务器的/opt/module/flume/conf/flume-env.sh文件中增加如下配置export JAVA_OPTS="-Xms100m -Xmx2000m -Dcom.sun
2020-10-05 10:41:09 271
原创 项目经验之Hadoop参数调优
项目经验之Hadoop参数调优1)HDFS参数调优hdfs-site.xmldfs.namenode.handler.count= ,比如集群规模为8台时,此参数设置为41The number of Namenode RPC server threads that listen to requests from clients. If dfs.namenode.servicerpc-address is
2020-10-04 17:18:47 184
原创 测试Hadoop上传下载性能
测试Hadoop上传下载性能建好hadoop之后需要面对的问题:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u1uktqWA-1601802082816)(E:\BigData\学习笔记\Typora\数仓项目\src\装好hadoop之后需要面临的问题.png)]问题:1t的数据需要上传多久1t的数据需要下载多久100t的数据,执行mr需要多久机器能够抗住多少数据量测试HDFS写性能测试内容:向HDFS集群写10个128M的文件 cpu核数-1[
2020-10-04 17:02:31 324
原创 Hive案例总结
Hive案例总结:处理日期的两种方式:substring(orderdate,1,7) = ‘2017-04’year(orderdate) = 2017 and month(orderdate) = 04不能写windows字句的函数:所有的排名函数last_valuefirst_value两种特殊情况当指定ORDER BY缺少WINDOW子句时,WINDOW规范默认为RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW。如果
2020-10-03 22:15:16 312 1
原创 Hive连接第三方dbever
Hive连接第三方dbever简单说就是三步:新建连接,选择hive主机名,端口号10000,用户名库两种选择:使用默认的hive根目录中的jdbc里面的jar包,下载下来,放到dbever的根目录完毕默认的库也可以用,因为比较新密码不需要输入,因为在beeline中也不需要输入line中也不需要输入...
2020-10-03 22:14:34 262
原创 Linux环境下MySQL的安装
MySQL的安装:1)检查当前系统是否安装过Mysql[haha@hadoop102 ~]$ rpm -qa|grep mariadbmariadb-libs-5.5.56-2.el7.x86_64 //如果存在通过如下命令卸载[haha @hadoop102 ~]$ sudo rpm -e --nodeps mariadb-libs //用此命令卸载mariadb2)将MySQL安装包拷贝到/opt/module目录下[haha @hadoop102 software]# ll总用
2020-10-03 16:21:06 101
原创 Hive窗口函数
Hive窗口函数1)定义窗口函数属于sql中比较高级的函数mysql从8.0版本才支持窗口函数,5.6,5.7都没有窗口函数oracle 里面一直支持窗口函数hive也支持窗口函数以下函数才是窗口函数窗口函数(13个):LEAD LEAD(col,n, default_val):往后第n行数据 col 列名 n 往后第几行 默认为1 默认值 默认nullLAG LAG(col,n,default_val):往前第n行数据 col 列名 n 往前第几行 默认为1
2020-10-03 15:59:12 1121
原创 Hive列转行函数
Hive列转行函数select split("a,b,c,d",',');效果:select explode(split("a,b,c,d",','));效果:案例:原始数据moviecategory《疑犯追踪》悬疑,动作,科幻,剧情《Lie to me》悬疑,警匪,动作,心理,剧情《战狼2》战争,动作,灾难需求《疑犯追踪》 悬疑《疑犯追踪》 动作《疑犯追踪》 科幻《疑犯追踪》 剧情《Lie
2020-10-03 15:48:33 2917
原创 Hive行转列函数
Hive行转列函数concatselect e.empno,e.ename,e.job,concat(e.empno,e.ename,e.job) from emp e;cancat_ws:concat加强版,但是只能够处理string,所以需要强转select e.empno,e.ename,e.job,concat_ws('-',case(e.empno as string),e.ename,e.job) from emp e;collect_list:多行转一列,不去重select c
2020-10-03 15:28:58 286
原创 Hive分桶表&分区表
Hive分桶表&分区表分区表Hive存在的问题:hive中没有索引机制,每次查询的时候,hive会暴力扫描整张表.MySQL具有索引机制.因为没有分区,所以hive搞了一个分区表的机制.在建表的时候,加上分区字段,然后会在表的目录下建立一个个的分区.如果按照天为分区,那么在表目录里就会有每天的目录.分区表的核心就是分目录.分区表的建表create table dept_partition(deptno int, dname string, loc string)partitioned
2020-10-03 11:39:04 288
原创 Hive中的排序(order by,sort by,distribute by,cluster by)
Hive中的排序全局排序Order By 全局排序,只有一个reducer 查看有多少个reducer的命令:set mapreduce.job.reduces;发现他的之值是-1.-1是动态变化的,当知道使用的身世orderby的时候,会把-1置为1.每个Reducer内部的排序 Sort By 使用sort by需要指定reduce的个数 set mapreduce.job.reduces = 3;我们在来看看是不是生成了三个文件insert overwrite local d
2020-10-03 09:38:00 409
原创 Hive和关系型数据库的区别
Hive和关系型数据库的区别hive和关系型数据库太像了,所以在hive的学习中总是会有一种hive就是数据库的错觉,hive不是数据库。hive是Hadoop的客户端,底层是hdfs,执行引擎是mapreduce,mapreduce执行在yarn上,说白了就是hadoop的客户端包了一层。一、数据更新hive读多写少mysql通常经常需要修改二、数据延迟mysql执行通常都是秒回hive的时间通常要长:hive查询的时候,没有索引,需要扫描整个表,因此延迟比较高mapreduce
2020-10-02 21:39:53 2902
原创 Hive的架构原理以及运行原理
Hive的架构原理一、客户端:Hive是Mapreduce的客户端,Hive的客户端有两种方式:CLI:命令行的方式JDBC:这种我们也可以通过java代码来实现,不过一般不这样做。二、四个器解析器:将SQL字符串转换成抽象语法树AST,这一步一般都用第三方工具库完成,解析器是对sql的语法,表是否存在,以及字段是否存在做检查,hql通过了解析器就说明语法上没有问题编译器:根据AST生成执行计划优化器:对逻辑执行计划进行优化执行器:将逻辑执行计划转换为可以运行的物理计划,对于hive
2020-10-02 21:14:47 1114
原创 Spark-Transformation转换算子
Transformation转换算子RDD整体上可以分为三种类型:Value类型双Value类型Key-Value类型1.Value类型Map算子进去一行,出来一行将一个RDD中的每个数据项,通过map中的函数映射变为一个新的元素。有多少个输入分区,就会有多少个输出的分区有可能改变数据项的数据类型MapMartitions算子一次处理一个分区工作中,内存足够的情况下,优先使用是否保留上有RDD的分区信息,默认为false把每一个分区中的元素放到迭代器中,所以在
2020-09-26 21:35:30 142
原创 Spark-Stage任务划分
Spark-Stage任务划分0.先回忆一下YarnClient运行模式需要记住的是下面两个:(他们都是发生在Driver端) 切分任务使用的是DAGScheduler,类似于Hadoop的切片。 分配任务使用TaskScheduler,管理由多少任务,具体执行。1.任务运行的整体流程RDD Objects:是写的代码。DAGScheduler:根据shuffle的个数,划分任务。相当于是计划。TaskScheduler:负责任务的调度。具体的执行是Executor端。TaskSch
2020-09-26 09:48:08 313
原创 大数据面试--Hadoop以及Spark常用端口号
Hadoop常用端口号hdfs mapreduce 历史服务器内部通信端口9870 8088 19888 982050070 8088 19888 9000Spark端口号 local模式 : spark-shell 4040standalone模式: ...
2020-09-23 11:33:22 373
原创 Spark高频面试题---Spark运行模式之Yarn模式详细分析
Spark有yarn-client和yarn-cluster两种模式,主要区别在于:Driver程序的运行节点。yarn-client:Driver程序运行在客户端,适用于交互、调试,希望立即看到app的输出。yarn-cluster:Driver程序运行在由ResourceManager启动的APPMaster适用于生产环境。1)客户端模式(默认)解释:左边是提交的submit,右边是yarn模式下,对应的resourcemanager和nodemanager; 当提交任务的时候
2020-09-21 20:44:31 201
原创 Scala中可变数组和不可变数组的创建和访问
package com.atguigu.scala.chapter07import scala.collection.mutable.ArrayBuffer/** * @author yymstart * @create 2020-09-16 16:33 *///可变数组object Test02_ArrayBuffer { def main(args: Array[String]): Unit = { //创建可变数组 //可以不传参数,默认16 va.
2020-09-17 13:00:21 975
原创 idea2019.2.2合适的scala插件版本-Exception in plugin Scala(2019.2.2).Oeecrred once since the last clear.
报错如下:解决如下:
2020-09-11 13:59:14 1115 1
转载 ERROR: org.apache.hadoop.hbase.ipc.ServerNotRunningYetException: Server is not running yet
错误代码:ERROR: org.apache.hadoop.hbase.ipc.ServerNotRunningYetException: Server is not running yet at org.apache.hadoop.hbase.master.HMaster.checkServiceStarted(HMaster.java:2932) at org.apache.hadoop.hbase.master.MasterRpcServices.isMasterRunning(Master
2020-09-07 21:29:51 3767
原创 hbase写数据流程详解
写流程:1)Client先访问zookeeper,获取hbase:meta表位于哪个Region Server。2)访问对应的Region Server,获取hbase:meta表,根据读请求的namespace:table/rowkey,查询出目标数据位于哪个Region Server中的哪个Region中。并将该table的region信息以及meta表的位置信息缓存在客户端的meta cache,方便下次访问。3)与目标Region Server进行通讯;4)将数据顺序写入(追加)..
2020-09-07 20:11:06 379
原创 RegionServer详解
1)StoreFile保存实际数据的物理文件,StoreFile以Hfile的形式存储在HDFS上。每个Store会有一个或多个StoreFile(HFile),数据在每个StoreFile中都是有序的。2)MemStore写缓存,由于HFile中的数据要求是有序的,所以数据是先存储在MemStore中,排好序后,等到达刷写时机才会刷写到HFile,每次刷写都会形成一个新的HFile。(128M)3)WAL由于数据要经MemStore排序后才能刷写到HFile,但把数据保存在内存中会..
2020-09-07 19:57:44 1000
原创 Hadoop搭建模板机准备
搭建模板机目录搭建模板机1)准备一台模板虚拟机hadoop100,虚拟机配置要求如下:注:本文Linux系统环境全部以CentOS-7.5-x86-1804为例说明模板虚拟机:内存4G,硬盘50G,安装必要环境,为安装hadoop做准备使用yum安装需要虚拟机可以正常上网,yum安装前可以先测试下虚拟机联网情况[root@hadoop100 ~]# ping www.baidu.comPING www.baidu.com (14.215.177.39) 56(84) byte
2020-09-03 09:51:21 221
原创 虚拟内存检查问题
报出的问题: 报错的原因,虚拟内存超出了限制,虚拟内存不同于物理内存,可以超出,所以我们在这里要配置允许超过。Container [pid=3007,containerID=container_1599018748796_0004_01_000004] is running 342252032B beyond the 'VIRTUAL' memory limit. Current usage: 416.0 MB of 1 GB physical memory used; 2.4 GB of 2.1
2020-09-02 19:55:12 525
原创 项目经验之Hadoop参数调优
1)HDFS参数调优hdfs-site.xmldfs.namenode.handler.count=20×logeCluster Size ,比如集群规模为8台时,此参数设置为41The number of Namenode RPC server threads that listen to requests from clients. If dfs.namenode.servicerpc-address is not configured then Namenode RPC server th
2020-09-02 19:50:51 265
原创 Flume事务执行流程&&Flume的设计会丢失数据吗?
面试题----Flume的设计会丢失数据嘛?Flume本身实际上是不会丢数据的,因为由两个事务的保证,flume唯一可能丢数据的就是你使用了Memory Channel,整个内存都已经释放了,那肯定就丢数据了,如果数据是放在file channel中,是不会丢数据的。...
2020-08-27 19:14:43 164
原创 Hive中开启Map端和Reduce端的压缩
开启Map输出阶段的压缩--(1)开启hive中间传输数据压缩功能set hive.exec.compress.intermediate=true;--(2)开启mapreduce中map的压缩功能set mapreduce.map.output.compress=true;--(3)设置mapreduce中map输出数据的压缩方式set mapreduce.map.output.compress.codec=org.apache.hadoop.io.compress.SnappyCodec;
2020-08-21 21:08:56 413
原创 Hive的Fetch抓取---为什么hive中执行select,filter,limit不走mapreduce?
Fetch抓取是指,Hive中对某些情况的查询可以不必使用MapReduce计算。例如:SELECT * FROM emp;在这种情况下,Hive可以简单地读取emp对应的存储目录下的文件,然后输出查询结果到控制台。在hive-default.xml.template文件中hive.fetch.task.conversion默认是more,老版本hive默认是minimal,该属性修改为more以后,在全局查找、字段查找、limit查找等都不走mapreduce。案例实操:(1)把hive.
2020-08-21 18:46:16 560
原创 Hive自定义函数
自定义UDF函数0)需求:自定义一个UDF实现计算给定字符串的长度,例如:hive(default)> select my_len("abcd");41)创建一个Maven工程Hive2)导入依赖<dependencies> <dependency> <groupId>org.apache.hive</groupId> <artifactId>h...
2020-08-21 13:57:41 159
原创 Hive面试--排序总结
排序1.全局排序(Order By)Order By:全局排序,只有一个Reducer1)使用 ORDER BY 子句排序ASC(ascend): 升序(默认)DESC(descend): 降序2)ORDER BY 子句在SELECT语句的结尾3)案例实操 (1)查询员工信息按工资升序排列hive (default)> select * from emp order by sal;(2)查询员工信息按工资降序排列hive (default)> sele
2020-08-19 09:50:57 142
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人