- 博客(54)
- 资源 (1)
- 收藏
- 关注
原创 IDEA Spark程序报错 - Failed to locate the winutils binary in the had
下载如下两个文件:下载地址:下载地址不同的Hadoop版本需要下载对应版本的文件,我这里使用的Hadoop2.6.0。然后配置环境变量(按照自己实际目录配):然后点击Path这个变量,添加一行保存重启IDEA...
2021-04-09 19:40:15
170
原创 Hive 窗口函数
文章目录一、常见聚合操作1. sum、avg、min、max二、排序相关的窗口函数1. row_number2. rank3. dense_rank三、其它窗口函数1. NTILE2. cume_dist3. percent_rank4. LAG5. LEAD6. FIRST_VALUE7. LAST_VALUE四、增强聚合操作1. GROUPING SETS2. CUBE3. ROLLUP4. GROUPING__ID有ORDER BY子句时对窗口范围的定义(ROWS | RANGE) BETWEEN
2021-04-01 14:59:01
530
原创 leetcode题解之根据前中后序重构二叉树
文章目录一、给定前序和中序遍历,重构二叉树二、给定中序和后续遍历,重构二叉树一、给定前序和中序遍历,重构二叉树leetcode 105号题题目: 根据一棵二叉树的前序和中序遍历,重构出这棵树。树中没有重复元素例如,给出:前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下二叉树: 3 / \ 9 20 / \ 15 7题解:前序遍历是根左右的顺序,中序遍历是左根右的顺序;
2020-12-03 23:58:22
362
原创 正则表达式之元字符
正则表达式这个东西可以称得上是一门玄学,就算是你自己写的表达式,过个几天回来看依然是一脸懵逼,更不要说去看别人写的表达式了。甚至国外有程序员说了这样一句话:如果你有一个问题,并且你想到了用正则表达式来解决它,那么你现在有两个问题了。从这句话也不难看出,正则表达式还是很难的。那为什么大家还要用它呢?因为它在文本处理方面的能力太过于强大了。总之呢,广大程序员对它是又爱又恨。0、正则表达式的基本知识字母家族dongdongqiang中,在刚刚打字的过程中混进去了几个坏人dong d0ong qiang,.
2020-12-02 23:08:09
328
原创 KMP算法超详解与其应用
KMP算法是由D.E.Knuth,J.H.Morris和V.R.Pratt三位大佬提出的一种改进的字符串匹配算法。什么是字符串匹配呢?看下面的例子假设我们有两个字符串,str1、str2str1 = abcdbcdcddstr2 = dcd求问:str2是否是str1的一个子串上面这个问题,首先我们可以使用暴力匹配的方法,String str1 = "abcdbcdcdd";String str2 = "dcd";if (str1 == null || str2 == null) {
2020-11-25 00:20:16
984
原创 anaconda中手动安装jieba
官网下载安装包https://pypi.org/project/jieba/#files将下载好的安装包解压到anaconda的pkgs目录tar -zxvf jieba-0.42.1.tar.gz -C ~/anaconda3/pkgs/进入anaconda promtp并且进入jieba目录下source ~/anaconda3/bin/activatecd anaconda3/pkgs/jieba-0.42.1/执行如下命令python setup.py install打开
2020-09-04 10:21:00
442
原创 RDD、DataFrame、DataSet的生成与互相转换
文章目录RDD的生成DataFrame的生成DataSet的生成RDD和DataFrame的转换RDD转DataFrameDataFrame转RDDRDD和DataSet的转换RDD转DataSetDataSet转RDDDataFrame与DataSet的转换DataFrame转DataSetDataSet转DataFrameRDD的生成使用parallelize/makeRDD算子从集合转换而来,常用于测试使用类似textFile()这样的算子从文件系统读取数据形成RDD使用transforma
2020-07-21 23:28:40
612
1
原创 vim编辑器常用命令
文章目录进入退出工作模式正常模式插入模式命令模式可视模式进入退出进入vim filename退出esc + : + q // 退出esc + : + q! //强制退出esc + : + wq // 保存并退出工作模式正常模式刚进入vim编辑器的时候,在该模式下可以对vim编辑器输入各种命令插入模式在正常模式按下i键(也可按其它键)即可进入插入模式,该模式下可以对文件内容进行编辑,按esc回到正常模式命令模式在插入模式编辑完之后,按esc即可进入正常
2020-07-19 21:20:24
308
原创 java指定线程数顺序打印数字
问题有kCount个线程,从1开始编号,顺序打印1,2,3…,打印到n;eg:kCount = 3; n = 10;输出:Thread 1 -> 1Thread 2 -> 2Thread 3 -> 3Thread 1 -> 4Thread 2 -> 5Thread 3 -> 6Thread 1 -> 7Thread 2 -> 8...
2020-04-04 03:40:30
511
转载 MySQL的分库分表
MySQL为什么要分库分表数据库中的数据量不一定是可控的,在未进行分库分表的情况下,随着时间和业务的发展,库中的表会越来越多,表中的数据量也会越来越大,相应地,数据操作,增删改查的开销也会越来越大;另外,由于一台服务器的资源(CPU、磁盘、内存、IO等)是有限的,最终数据库所能承载的数据量、数据处理能力都将遭遇瓶颈。垂直切分和水平切分两种。何谓垂直切分,即将表按照功能模块、关系密切程度...
2020-02-07 21:13:09
129
原创 mysqlbinlog: [ERROR] unknown variable 'default-character-set=utf8mb4'
问题:使用mysqlbinlog工具查看MySQL的binlog日志时出现如下错误bigdata:mysqladmin:/usr/local/mysql/arch:>mysqlbinlog mysql-bin.000001 > /tmp/sql.sqlmysqlbinlog: [ERROR] unknown variable 'default-character-set=utf8m...
2020-02-07 13:08:14
8708
原创 HBase 之Rowkey设计
Rowkey的作用Rowkey用于标识唯一的行HBase中的数据都是根据Rowkey的字典序存储的,比如memstore中的数据和HFile中的数据读写数据都需要通过Rowkey来定位RegionRowkey的设计原则长度原则rowkey可以是任意字符串,最大长度64Kb,实际应用中一般为10-100bytes,以byte[]形式保存,一般设计成定长。且越短越好,一般不要超过16个...
2020-01-15 08:11:52
385
原创 HBase的合并操作
compact的作用flush操作会将memstore的数据落地为一个个StoreFile(HFile),那么随着时间的增长在HDFS上面就会有很多的HFile文件,这样对读操作会产生比较大的影响(读操作会对HFile进行归并查询),并且对DataNode的压力也会比较大。为了降低对读操作的影响,可以对这些HFile进行compact操作,但是compact操作会产生大量的IO,所以可以看出co...
2020-01-14 16:50:47
2105
原创 HBase中数据落地到磁盘的几个时刻
HBase的数据都是先写到memstore中,然后才会flush到磁盘,那么什么时候会触发memstore的flush?一、从memstore来看当一个region的memstore中缓存的数据达到memstore的大小时,会触发memstore级别的flush操作。memcache的size由参数hbase.hregion.memstore.flush.size指定,默认是128M。一般需要...
2020-01-14 13:10:12
645
原创 spark内存管理
概述spark执行应用程序的时候,会启动Driver和executor两种JVM进程,Driver进程负责创建SparkContext上下文,提交任务,分发task等;Executor进程负责执行task,并返回结果给Driver以及提供RDD持久化所需的内存。我们所说的Spark内存管理是指Executor的内存管理。Executor内存管理分为两种静态内存管理 Spark1.6之前...
2020-01-14 10:58:00
161
原创 hadoop HA standby无法切换为active
将active namenode杀死,standby namenode进程无法自动切换为active状态,查看hadoop-hdfs-zkfc-ha-master01.log,出现如下错误信息2020-01-14 01:07:58,346 ERROR org.apache.hadoop.ha.NodeFencer: Unable to fence service by any configure...
2020-01-14 09:28:31
2058
原创 JUC之线程池
一、为什么要使用线程池降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的销耗。提高响应速度。当任务到达时,任务可以不需要等待线程创建就能立即执行。提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会销耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。线程池的三个特点线程复用控制最大并发数线程管理二、线程池的使用Executor...
2019-12-23 18:18:23
153
原创 JUC之创建线程的四种方式
一、继承Thread类通过自定义类继承Thread类来创建class MyThread extends Thread { @Override public void run() { for (int i = 0; i < 10; i++) { System.out.println(Thread.currentThread().get...
2019-12-23 16:33:22
284
原创 从源码分析spark-submit作业提交流程(2.4.4)
一、spark-submit脚本内容分析if [ -z "${SPARK_HOME}" ]; then source "$(dirname "$0")"/find-spark-homefi# disable randomized hash for string in Python 3.3+export PYTHONHASHSEED=0exec "${SPARK_HOME}"/bi...
2019-12-01 00:59:50
217
原创 HDFS写流程
创建写客户端通过DistributedFileSystem得到一个DFSClient对象,DFSClient会与Namenode建立RPC连接,之后通过调用create()方法在HDFS文件系统中创建一个新的空文件。Namenode首先会在文件系统目录树中的指定路径下添加一个新的文件,然后将创建新文件的操作记录到editlog中。在完成create()方法之后,会返回一个FSDataOutp...
2019-10-02 15:42:15
133
原创 HDFS读流程
HDFS读文件的类型网络读最基本的一种HDFS读操作,DFSClient和Datanode通过建立Socket连接传输数据短路读当DFSClient和保存目标数据块的Datanode在同一台物理节点上时,DFSClient可以直接打开数据块副本文件读取数据,而不需要Datanode进程的转发零拷贝读当DFSClient和缓存目标数据块的Datanode在同一台物理节点上时,D...
2019-10-01 00:04:23
116
原创 Linux文本搜索(三)之 awk
AWK一般用于对文本内容进行统计、按需要的格式进行输出AWK脚本的流程控制输入数据前例程BEGIN{}主输入循环{}所有文件读取完成例程END{}AWK的字段每行称作AWK的记录使用分隔符(默认是空格)分割开的单词称作字段(下标从1开始)可以自己指定分隔符awk中使用$0表示一条记录,$1 $2 $3 … $n 表示每一个字段使用-F 改变字段分隔符使用逗号作为...
2019-09-30 01:15:52
121
原创 Linux文本搜索(一)之 grep、find
一、常用元字符简介字符功能\转义字符.匹配除换行符(\n、\r)之外的任意一个字符*匹配前面的子表达式零次或多次+匹配前面的子表达式一次或多次?匹配前面的子表达式零次或一次$匹配结尾[]匹配方括号内的字符集合的任意一个[^xyz]匹配除xyz之外的任意字符x|y匹配x或者y{n}匹配前一个字符n次(严格...
2019-09-29 23:24:41
246
原创 Linux文本搜索(二)之 sed
sed一般用于对文本内容做替换1. 基本使用sed的基本工作方式将文件以行为单位读取到内存(模式空间)使用sed的每个脚本对该行进行操作处理完成后输出该行sed的替换命令s:sed ‘s/old/new/’ filename …sed -e ‘s/old/new/’ -e ‘s/old/new/’ filename … 依次执行每一条替换指令 ==...
2019-09-29 23:23:13
376
原创 Hive源码编译支持UDF
一、准备源码下载[hadoop@bigdata source]$ wget http://archive.cloudera.com/cdh5/cdh/5/hive-1.1.0-cdh5.15.1-src.tar.gz解压[hadoop@bigdata source]$ tar -zxvf hive-1.1.0-cdh5.15.1-src.tar.gz上传UDF到hive-1...
2019-09-29 09:28:20
102
原创 Hadoop支持lzo压缩且支持分片
一、支持lzo压缩安装 lzop native library[root@bigdata ~]# yum -y install lzo-devel zlib-devel gcc autoconf automake libtool[root@bigdata ~]# wget http://www.oberhumer.com/opensource/lzo/download/lzo-2...
2019-09-25 19:25:23
225
原创 Hive实现topN
一、需求查询每个产品top3的用户信息,初始数据表如下uid piduser9 euser2 auser14 euser6 buser12 a... ...... ...二、实现#每个产品对应的每个用户的浏览量select pid,uid,count(uid) as cnt from visit2 group by pid,uid order b...
2019-09-21 11:38:23
941
原创 Hive之实现累加
一、需求有如下数据gifshow.com 2019/01/01 5yy.com 2019/01/01 4huya.com 2019/01/01 1gifshow.com 2019/01/20 6gifshow.com 2019/02/01 8yy.com 2019/01/20 5gifshow.com 2019/02/02 7需要得到的结果...
2019-09-21 10:10:22
4813
原创 YARN 架构 以及 MapReduce 任务提交流程
一、YARN 架构图分布式资源管理和作业调度二、YARN 中各名词介绍ResourceManager负责对各NM上的资源进行统一的管理和调度。为AM分配空闲的Container运行并监控其运行状态。对AM请求的资源分配相应的空闲Container(实际分配有NM进行)Scheduler:调度器根据容量、队列等限制条件(如每个队列分配多少资源,最多执行多少数量的作业等),将系...
2019-09-11 20:30:09
299
原创 Hive 基于 MySQL安装
安装MySQL下载MySQL找到对应的rpm-bundle.tar安装包下载即可,比如我下载的是mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar检查原系统中的mariadb,并删除它rpm -qa|grep mariadbrpm -e mariadb-libs-1:5.5.56-2.el7.x86_64 --nodeps解压MySQL安装包t...
2019-09-04 09:25:08
173
原创 windows IDEA直接提交MapReduce到集群上执行
云主机开放云主机所有端口(可以限制源IP,避免被挖矿)编写WordCount程序,并配置相应的参数package www.immoc.hadoop.mapreduce.yarn;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.Path;import org.apache.hadoop...
2019-09-01 23:06:37
242
原创 windows下IDEA本地运行MapReduce
github下载对应版本的hadoop.dll 和 winutils.exe下载地址配置环境变量步骤1下载的东西放到这个目录里面,在Path中添加如下IDEA创建Maven项目pom文件<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncodin...
2019-09-01 20:04:51
721
原创 windows下IDEA操作远程HDFS(云主机 | 虚拟机)
云主机开放端口9000、50010配置云主机hosts文件配置windows hosts文件注:两个hosts文件的主机名要一样,云主机用的是私网IP,windows用的是云主机的公网IP添加配置参数System.setProperty("HADOOP_USER_NAME", "hadoop"); #设置用户名conf.set("dfs.replication", "1"); ...
2019-09-01 16:53:50
676
原创 HDFS 数据块损坏
一、模拟损坏数据块上传文件[hadoop@ruozedata001 data]$ hdfs dfs -mkdir /blockrecover[hadoop@ruozedata001 data]$ echo "www.ruozedata.com" > ruozedata.md[hadoop@ruozedata001 data]$ hdfs dfs -put ruozedata.md...
2019-08-24 09:21:51
1884
原创 Hadoop HA 集群启动时各进程的启动顺序以及停止顺序
启动顺序zkServer.sh startstart-all.sh namenode datanode journalnode zkfc resourcemanager nodemanager手动启动standby reourcemanagerhistoryserver停止顺序与启动相反
2019-08-23 22:45:29
2510
转载 大数据中的压缩
一、使用压缩的优缺点优点减少磁盘存储时间降低网络IO以及磁盘IO加快数据在磁盘和网络中的传输速度,从而提高系统的处理速度缺点使用数据时由于要先解压,加重CPU负荷二、压缩的格式压缩格式工具算法扩展名是否支持分割Hadoop编码/解码DEFLATEN/ADEFLATE.deflateNoorg.apache.hadoop.io.compr...
2019-08-20 00:23:03
254
原创 HDFS的安全模式
一、什么是安全模式安全模式是NameNode的一种状态,处于安全模式的NameNode不接受任何对于命名空间的修改操作(但是可以接受读请求),同时也不会触发任何复制和删除数据块的操作二、为什么要有安全模式NameNode在启动的时候首先会加载命名空间镜像(fsimage)并且合并编辑日志(editlog),完成这些操作后NameNode的文件系统目录树就构建完成了;之后NameNode会...
2019-08-19 23:29:51
153
原创 hadoop HA集群部署(HDFS&YARN)
一、环境准备阿里云按量付费方式购买三台同一区域的云主机配置安全组策略然后选择配置规则选择添加安全组规则,在端口号和授权对象填入开放的端口和允许访问的ip关闭防火墙(阿里云按量付费的不用管这个) # 停止防火墙[hadoop@ruozedata001 software]$ systemctl stop firewalld # 关闭开机自启动防火墙[hadoop@r...
2019-08-19 17:19:25
217
原创 hadoop-2.6.0-cdh5.15.1源码编译--支持压缩
参考博文https://blog.csdn.net/SUDDEV/article/details/98223999https://blog.csdn.net/yz972641975/article/details/98405720环境要求CentOs 7.x 下载地址JDK 7 下载地址protobuf 2.5.0 下载地址maven 3.x 下...
2019-08-16 11:35:29
425
原创 Hive SQL 之 数据库
1、 Hive 中的数据库本质是一个目录,通常数据库保存在hive.metastore.warehouse.dir所指定的目录下,以.db为后缀,例如testDB.db,该数据库中的表以这个数据库目录的子目录存在。注:default这个数据库是hive默认的数据库,若不指定数据库,这默认使用该数据库。该数据库没有自己的目录,该数据库中定义的表以hive.metastore.warehouse....
2019-05-29 22:08:16
345
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人