自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (1)
  • 收藏
  • 关注

原创 使用shell脚本找到占用磁盘空间最大的目录

开工第一天,早上来登录平台,发现报错——磁盘空间不足。初步估计是某些服务日志没有及时清理。但是又不太清楚是哪个目录使用磁盘空间太大,于是写个脚本来找出使用空间较大的目录。#!/bin/bash#脚本运行示例:`sh dir_space_calc.sh /usr`CHECK_DIRECTORIES=" $1" #以传参方式确定目录DATE=$(date '+%Y%m%d')TIME=$(date '+%G-%m-%d %H:%M:%S') #

2021-02-21 14:45:58 1032

原创 Docker 安装 ElasticSearch + Head + Kibana

O、前言今天周末在家学习一下 ElasticSearch 。需要安装 ES、Head 和 Kibana 来做基础查询操作的熟悉。出于练习一下 Docker 的原因,环境安装都用了 Docker。把安装步骤和过程中的一些采坑记录一下。一、拉取镜像# 拉取 ElasticSearch镜像docker pull elasticsearch:7.6.1# 拉取 Head 镜像docker pull mobz/elasticsearch-head:5# 拉取 Kibana 镜像docker pull

2021-01-16 23:10:16 241

原创 tail 命令详解

一、tail 命令介绍tail 命令可以将文件指定位置到文件结束的内容写到标准输出。如果你不知道tail命令怎样使用,可以在命令行执行命令tail --help就能看到tail命令介绍和详细的参数使用介绍,内容如下(我帮大家翻译了一下)。[root@yanggongzi ~]# tail --helpUsage: tail [OPTION]... [FILE]...Print the last 10 lines of each FILE to standard output.With more

2021-01-15 16:26:08 103432

原创 SpringBoot java.lang.NoClassDefFoundError: org/eclipse/jetty/server/RequestLog$Writer

SpringBoot 报错 java.lang.NoClassDefFoundError: org/eclipse/jetty/server/RequestLog$Writer一、缘起由于项目需求增加,今天在项目中引入了hive-jdbc的依赖。开发完成后在本地IDEA里面测试没有问题,打包发布到测试环境启动报错。二、报错java.lang.NoClassDefFoundError: org/eclipse/jetty/server/RequestLog$Writer三、分析定位一看发现.

2021-01-14 14:11:46 6524 4

原创 序章-0.1 初识数据库

大家好,我是杨公子。这是“MySQL方法论与实践”系列的第一篇文章。众所周知,MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。我们学习MySQL,首先要弄清楚一些最常见的术语和基本概念,以便更好的理解后续学到的知识。我们需要掌握的基本概念有:数据,数据库,数据库管理系统和数据库系统。好了,话不多说,我们开始来认识这几个基本概念..

2020-10-12 16:42:16 205

原创 超详细 Hbase 知识体系思维导图

最近在复习 Hbase 的知识,为了更好 Hbase 的理解和记忆,也为了方便以后再复习的时候能快速理清 Hbase 的知识体系,杨公子花了一周的空余时间,整理出了这份 Hbase 的思维导图。这份思维导图涵盖了除集群安装部署之外完整的 Hbase 知识体系。包含了以下几个模块: 1.Hbase 概述,包含 Hbase 的特点,使用场景,数据规模等内容。 2.Hbase 数据模...

2020-02-28 19:57:49 1379 1

原创 数据管理之起航

一个组织如果没有认识到管理数据和信息如同管理有形资产一样极其重要,那么它在新经济时代将无法生存。 ——汤姆·彼得斯一、数据—企业资产众所周知,我们现在处于信息时代,也是大数据时代。数据和信息是经济的命脉,更被认为是一项重要的企业资产。资产是个人或组织控制的有价值资源。长期以来资金和人才被认为是企业的资产,而数据这种看似无形的资产的价值一直被忽视。随着大数据时代的...

2020-02-25 08:41:36 282

原创 Python3安装之一键部署(centos7)

O、前言由于项目需要,我要在服务器上使用Python3.7的环境,但是centos7自带的是Python2.7,所以要自己再装一个Python3.7,一番摸索之后,写了一个一键部署的脚本。下面我就来一步步讲解一下过程。一、基础工具和依赖包准备安装wget工具和依赖包yum -y install wget &&yum -y groupinstall "Development...

2019-12-11 17:43:25 1483

原创 Docker(一):Docker简介与安装

文章目录0、前言一、什么是Docker二、为什么要使用Docker1、更快的交付和部署2、更高效的虚拟化3、更简单的管理三、Docker相关的概念四、Docker安装五、Docker世界的Hello World六、常用命令1、从远程仓库拉取docker镜像。2、 查看宿主机上的镜像,Docker镜像保存在/var/lib/docker目录下:3、删除宿主机上的镜像,前提是这个镜像不是其他镜像的基础...

2019-05-15 19:09:40 222

原创 Docker(二):一个简单的Dockerfile实例

文章目录一、Dockerfile 概念二、Dockerfile文件格式三、构建镜像四、简单示例一、Dockerfile 概念Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。镜像的定制实际上就是定制每一层所添加的配置、文件。如...

2019-05-15 18:08:12 13296 1

原创 Markdown语法

文章目录标准Markdown语法1、快捷键2、基本语法2.1 字体设置斜体、粗体、删除线2.2 分级标题2.3 链接2.4 分割线2.5 代码块2.6 引用2.7 列表2.8 表格csdn扩展后的Markdown语法功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个...

2019-05-13 11:09:59 550

原创 Spark 2.2.0 在创建过大的DataFrame时候出现的错误

今天在使用Spark计算标签数据并且将结果存入hive表的时候出现了一些问题。我是用client模式提交的spark应用,在程序运行到一般的时候,突然出现代码生成器打印出很多奇怪代码的情况。我当时很奇怪,就立即kill掉了这个应用,并且去看了一下yarn上面对应的日志,发现了报了这样的错:然后去网上疯狂百度,发现这是spark2.2.0版本的一个bug,当创建的DataFram...

2019-01-23 17:30:27 1208

原创 Spark SQL 读取hive分区表出现分区字段为null的情况

今天在使用Spark SQL 读取hive分区表数据的时候,出现了下面的错误:由于这个表是数仓维护提供给我使用的,我并不是很清楚表中数据的情况,于是我取查了一下这个表,发现分区字段pk_year,pk_month,pk_day这几个字段确实都存在为默认的情况:在hive里面表可以创建成分区表,但是当分区字段的值是''"或者 null时 hive会自动将分区命名为默认分区名称。...

2019-01-23 16:45:02 4154 1

原创 最新手机号正则表达式验证方法(scala版)

今天在做运营商标签,其中通话和短信两部分标签需要区分手机号码和非手机号码,并且还要考虑手机号码前面的0086、86等前缀。首先考虑到手机号码验证最方便的就是正则表达式,于是整理了一份最新的手机号码验证的正则表达式。以下是三大运营商的号段分布:*移动号段: 134,135,136,137,138,139,147,150,151,152,157,158,159,170,178,182,18...

2019-01-16 17:09:16 4412 2

原创 Kudu select data api (scala版)

kudu API scala版系列:Kudu create table api (scala版)Kudu insert data api (scala版)Kudu select data api (scala版)Kudu updata data api (scala版)Kudu upsert data api (scala版)Kudu delete data api (sc...

2018-11-23 16:12:00 1040 1

原创 Kudu updata data api (scala版)

kudu API scala版系列:Kudu create table api (scala版)Kudu insert data api (scala版)Kudu select data api (scala版)Kudu updata data api (scala版)Kudu upsert data api (scala版)Kudu delete data api (sc...

2018-11-23 16:03:10 440

原创 Kudu upsert data api (scala版)

kudu API scala版系列:Kudu create table api (scala版)Kudu insert data api (scala版)Kudu select data api (scala版)Kudu updata data api (scala版)Kudu delete data api (scala版)kuduClient API 对表执行upser...

2018-11-23 16:00:42 1804

原创 Kudu delete data api (scala版)

kudu API scala版系列:Kudu create table api (scala版)Kudu insert data api (scala版)Kudu select data api (scala版)Kudu updata data api (scala版)Kudu upsert data api (scala版)kuduClient API 对表执行删除数据操...

2018-11-23 15:54:27 1440

原创 Kudu insert data api (scala版)

kudu API scala版系列:Kudu create table api (scala版)Kudu select data api (scala版)Kudu updata data api (scala版)Kudu upsert data api (scala版)Kudu delete data api (scala版)kuduClient API 对表插入数据...

2018-11-23 15:38:11 628

原创 Kudu create table api (scala版)

最近公司准备尝试使用新的数据库kudu,于是做了一点研究。由于我们公司的大数据开发语言是scala,但是kudu官网并没有给出scala的KuduClient API,于是我就对照kudu的java API模仿了一套scala版本的API。kudu API scala版系列:Kudu insert data api (scala版)Kudu select data api (scala...

2018-11-23 15:29:39 1079

原创 != null 还是 is not null

最近在做数据处理的时候由于洗数据的同事没有把应该清洗掉的空值洗掉,所以让我在程序处理的过程中遇到了一些麻烦。发现这些空值后,我就想在SQL中将这些空值的数据洗掉。于是用到了!= null ,可是当我再次执行程序的时候,发现运算结果竟然一条结果都没有,我百思不得其解,后来经过分析,只有!=null 会出现问题。于是想到了是不是应该使用is not null ,结果一试就对了。但是还是不知道为什么...

2018-09-29 17:21:53 950

原创 浮点数运算原理详解

导读:浮点数运算是一个非常有技术含量的话题,不太容易掌握。许多程序员都不清楚使用==操作符比较float/double类型的话到底出现什么问题。 许多人使用float/double进行货币计算时经常会犯错。这篇文章是这一系列中的精华,所有的软件开发人员都应该读一下。  随着你经验的增长,你肯定 想去深入了解一些常见的东西的细节,浮点数运算就是其中之一。1. 什么是浮点数?  在计算机系...

2018-09-03 22:47:45 26950

原创 String.split函数的用法

今天一个朋友问了我一个关于split的问题,突然发现以前都是使用的默认情况,全然不知spilt竟然是有两个参数的。那么这里就好好再来学习一下split的用法。spilt函数主要有两种参数形式:public String[] split(String regex)public String[] split(String regex, int limit)第一种参数形式可以看做是...

2018-08-30 15:38:13 5695

原创 使用shell脚本批量删除hive表

这两天由于测试程序,在hive的库里面建了好多表,测试完之后这些表就都没用了,几十个表要一个一个手动删除是很痛苦的,于是想到使用shell脚本来自动批量删除。另外库里面的有些表是还有用的,有些表是没有用的,所以不能清库,所以我想到将要删除的表的表名写入一个文件中,然后使用shell来去读这个文件,从而批量删除指定要删除的表。脚本如下:#!/bin/bashcat dtables....

2018-08-23 23:32:58 4924

原创 hive表导入数据的几种方式

今天在做hive数据迁移到hbase的测试的时候,建了hive表,然后将HDFS中的数据导入hive表中,后面还需要用到该数据,却发现原来HDFS路径下的文件消失了,当时一脸懵B,琢磨了好久,还是没想明白是怎么回事。于是上网百度了一波,最后发现原来是hive内部表导入hdfs数据的时候执行的是移动操作,就是将原来hdfs路径下的数据文件移动到hive的warehouse目录下。以前学习hive...

2018-08-14 21:33:03 1429

原创 使用Java读取Excel文件实现自动对数据

这段时间遇到一系列spark系统重构的需求,每个独立程序在重构之后跑出来的数据都需要和原来程序跑出来的数据进行比对, 已确定重构的代码是否正确。 虽然不需要全量比对,只要抽样几十条数据比对就行,但是由于数据字段很多,即使将新旧两份数据下载到Excel表中,放在一起比对,也是很困难的,而且很容易看漏看错。 我们的数据都是这样的,一般都有几十上百个字段:...

2018-08-06 19:41:32 3596

原创 empty.min(empty.max)报错

最近写代码的时候碰到一个以前没有见过的错误(如下图),找了很久也不知道是什么原因。报错的代码如下:在网上查了很多博客,基本上都是说使用Iterator(迭代器)的时候出现了多次遍历的问题。因为Iterator的max和min方法是TraversableOnce(可遍历一次,遍历过一次之后迭代器就变为空的了)类型的,所以当第二次调用同样的方法,或第一次调用max方法第二次调用mi...

2018-07-31 10:54:51 1398

转载 Scala Iterator(迭代器)

Scala Iterator(迭代器)不是一个集合,它是一种用于访问集合的方法。迭代器 it 的两个基本操作是 next 和 hasNext。调用 it.next() 会返回迭代器的下一个元素,并且更新迭代器的状态。调用 it.hasNext() 用于检测集合中是否还有元素。让迭代器 it 逐个返回所有元素最简单的方法是使用 while 循环:object Test { ...

2018-07-26 17:32:06 508

转载 scala中的容器option(选项)

Scala Option(选项)类型用来表示一个值是可选的(有值或无值)。Option[T] 是一个类型为 T 的可选值的容器: 如果值存在, Option[T] 就是一个 Some[T] ,如果不存在, Option[T] 就是对象 None 。接下来看一段代码:// 虽然 Scala 可以不定义变量的类型,不过为了清楚些,我还是// 把他显示的定义上了 val myMap:...

2018-07-26 17:26:16 449

原创 IDEA 同一个工程下不同模块之间的类相互调用(Maven工程)

今天在项目里面遇到要在不同模块之间调用方法的问题,于是到网上搜了一下,很多人的方法步骤不全,导致我弄了很久也没弄成,于是请教旁边的大佬。大佬教了我,只需三步。第一步,在需要调用的模块的pom文件中添加被调用模块的依赖例如,如需要调用galaxy中的方法,那么就引入相应的依赖;第二步,将被调用的模块重新install一下第三步,将调用的模块重新构建一下三步完成,就可以...

2018-07-26 12:36:25 56821 13

原创 上海极贝科技笔试题

一、Java中map,list,set的区别是什么?1.继承的接口不同List和set接口都是继承于Collection接口的,而Map接口不是,他是一个顶层接口。2.自身特点List:用来处理序列的。对于放入的元素是有序的并且可以重复。Set:用来处理集合的。对于放入的元素是无序的并且不可重复。Map:用来处理键值对。Key值不能重复,如果重复,则会被覆盖,并且放入无序。二、请用shell命令把...

2018-07-05 23:14:18 487

原创 上海墨智科技笔试题

一、hive抽样,分区和分桶区别?1.分区Hive分区是指按照数据表的某列或某些列分为多个区,区从形式上可以理解为文件夹,比如我们要收集某个大型网站的日志数据,一个网站每天的日志数据存在同一张表上,由于每天会生成大量的日志,导致数据表的内容巨大,在查询时进行全表扫描耗费的资源非常多。那其实这个情况下,我们可以按照日期对数据表进行分区,不同日期的数据存放在不同的分区,在查询时只要指定分区字段的值就可...

2018-07-05 23:14:06 941

原创 Centos7谷歌浏览器安装

1. 下载 rpm 包https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm2. 安装依赖包yum install -ylsbyum install -ylibXScrnSaver 3. 安装chromerpm -ivh google-chrome-stable_current_x86_64.rpm注:...

2018-05-18 15:33:56 1130

原创 手撕LeetCode—121 买卖股票的最佳时机

给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 注意利润不能...

2018-05-03 14:41:11 144

原创 手撕LeetCode—70 爬楼梯

假设你正在爬楼梯。需要 n 步你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 步 + 1 步2. 2 步示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 步 + 1 步 + 1 步2. 1 步 + 2 步3. ...

2018-04-27 09:13:42 314

原创 手撕LeetCode—67 二进制求和

给定两个二进制字符串,返回他们的和(用二进制表示)。输入为非空字符串且只包含数字 1 和 0。示例 1:输入: a = "11", b = "1"输出: "100"示例 2:输入: a = "1010", b = "1011"输出: "10101"这个题的输入为字符串,我们要求和,首先要将其转化为数字。再因为二进制数的求和我们需要从最后一位开始逐位计算,所以讲输入的字符串转化为int型

2018-04-26 09:50:41 222

原创 手撕LeetCode—1 两数之和

给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]这个题应该是很简单了。直接上代码。public int[] twoSum(int[] nums, int t...

2018-04-25 22:14:06 157

原创 手撕LeetCode—15 三数之和

给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]这个题目比两数之和稍微复杂一点,难...

2018-04-25 22:10:58 175

原创 手撕LeetCode—202 快乐数

写一个算法来判断一个数是不是“快乐数”。一个数是不是快乐是这么定义的:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,或是无限循环但始终变不到 1。如果可以变为 1,那么这个数就是快乐数。案例: 19 是一个快乐数。12 + 92 = 8282 + 22 = 6862 + 82 = 10012 + 02 + 02 = 1最开始的想法,出现无限循环报...

2018-04-23 20:29:07 231

原创 JS利用复选框实现全选和反选

需求: A.全选: 点击全选,所有选项被选中; B.全不选:全选情况下再次点击全选框,所有选项都不选; C:全选情况下,取消某一个或几个子选项,全选框也变为不选中; 没有点击全选的情况下,选中了所有子选项,全选框自动选中。代码示例:html代码:全选1选2选3选4选JAvaScript代码: function setChecked(obj)

2018-01-17 14:52:43 16249 1

全国省市区三级行政区划数据(json,excel,db)

最新的全国省市区三级行政区划数据,带行政区划代码。包含 json,excel,db三种格式文件,超全,超方便!

2019-06-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除