自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (4)
  • 收藏
  • 关注

原创 EXECL里面单元格操作不了

别人发过来的excel单元格操作不了,大概率是受到密码保护了。然后点击绿色箭头即可执行,然后单元格便可以操作了。可以通过开发工具的VB进行处理。

2024-05-17 13:38:15 144

原创 监控Linux磁盘情况,进行邮件告警

Linux 邮件告警

2022-02-13 16:48:05 1199

原创 大数据反爬日记01

大数据反爬日记01记录自己的反爬日记既然要做反爬,就肯定得有有爬虫来爬取页面,这里前面已经写好了一个简单的爬虫,将爬取的数据通过python+flask+gunicorn+nginx部署到linux上面了,接下来通过采集爬虫对页面的请求日志进行分析1.环境准备hadoop (因为是采用最近比较火的大数据技术,所以需要提前准备好大数据的相关环境)hive(用于分析离线指标)spark(用spark引擎来分析实时请求的日志)Hbase(大数据的数据库)filebeat+logstash(请求

2021-05-15 22:54:03 359 1

原创 Python爬虫日记02-数据可视化

PYTHON爬虫日记02-数据可视化记录自己的学习爬虫日记1.环境准备linux 环境python3.6+ (这里网上的教程很多,这里选择一个比较有效的在Linux上安装Python3))linux nginx环境 (选择自己喜欢的版本 https://nginx.org/download/)linux gunicorn (pip 下载)pycharm 本地项目调试数据准备 页面展示的数据为猫眼top100,已经在上一篇博客实现有兴趣的可以跳转2.思路1.准备好爬虫的数据上一步已经将数据

2021-05-13 12:43:33 682 2

原创 python爬虫日记01

PYTHON爬虫日记01记录自己的学习爬虫日记选用python作为编程语言1.环境准备python3.6+mysqlpycharm2.思路以爬取猫眼top100为目标​ 1.分析url的规律​ https://maoyan.com/board/4?offset=10 发现他们的url通过url参数offset作为分页的偏移参数​ 后续我们可以通过循环遍历自动爬取所有的分页​ 2.根据url爬取对应的HTML​ 爬取html有可能会触发反爬机制,可以通过配置headers进行避

2021-05-09 14:01:21 2808 17

原创 LRU算法java实现

LRU算法java实现LRU算法是一种缓存淘汰策略比如我们的电脑或者手机,在内存有限的情况下,它仅会将最近使用过的文档,文件,程序缓存在内存中…以及我们手机中后台应用的排序,也是更具最新使用情况进行排序的Leetcode中有关于LRU的题目,基于这道题进行探讨设计和构建一个“最近最少使用”缓存,该缓存会删除最近最少使用的项目。缓存应该从键映射到值(允许你插入和检索特定键对应的值),并在初始化时指定最大容量。当缓存被填满时,它应该删除最近最少使用的项目。它应该支持以下操作: 获取数据 get 和

2021-04-18 23:04:19 585 2

原创 双向链表java简单实现增删改

双向链表java简单实现增删改比起单向链表,双向链表基于节点Node 类多了一个可以追溯上一个节点的引用pre,多了这个引用针对删除增加等这些操作,都比较方便,这里记录一下简单的java实现过程package DataStrct.linklist;/** * @author luke * @date 2021/4/1819:32 */public class DoubleLinkelistDemo { public static void main(String[] args) {

2021-04-18 20:28:46 255 3

原创 单项链表java简单实现

单向链表概念懂得都懂,不懂的是上面的人为了保护你,让你少知道点东西比较好,毕竟这东西你说它重要也确实重要,说他不重要也确实没那么重要,但是我觉得挺重要的.复制粘贴太损耗社会劳动力了,通过节点类Node的next引用下一个节点的一种数据结构,记录复习一下实现方法package DataStrct.linklist;/** * @author luke * @date 2021/4/1812:43 */public class SinglelinklistDemo { public

2021-04-18 20:25:13 263 3

原创 HIVE 非等值连接的解决思路

HIVE 非等值连接的解决思路hive低版本并不支持非等值连接,在表与表通过join关键字进行连接时,on 后面接的条件需要是区间式的话比如:SELECT A.COL , B.COL FROM TABLEA ALEFT JOIN TABLEB BON A.DATE<B.DATE;这样的连接条件在hivesql中是会报错的.这里提供一种解决思路背景:要统计每个基金每天的基金净值情况,如果当天没有净值数据的话,取最近一天存在净值数据的日期的数据作为当天的数据换句话说只要

2021-04-15 21:35:35 4646 1

原创 SQL取日期为当前月份的第几周思路

问题背景获取每个月的第几周包含跨年问题当前有一份从20010101到20201231的数据,现在需要获得每个日期对应在每个月中的第几周,为了实现日历展示的那种格式展示对应日期所在的是该月份的第几周。**多种日期格式:**to_char(date,‘XXXX’)YYYY:四位表示的年份YYY,YY,Y:年份的最后三位、两位或一位,缺省为当前世纪IYYY:ISO标准的四位年份MM:01~12的月份编号MON:缩写字符集表示MONTH:全拼字符集表示的月份,右边用空格填补Q:季度W:当月

2021-04-06 19:08:53 10556 4

原创 拉链表的使用场景

拉链表的使用场景拉链表,在面对处理的数据量比较大的时候,可以经常听说到,其主要的核心在于通过设置两个字段作为数据是否有效性的开关(begin_date,end_date)这样做的目的是保证在表的数据,在某一个时间区间内(时间粒度得统一,月,日,时,分…)有且仅有一条有效的数据下面介绍一种使用场景背景​ 表t_vip_bal_info 用于记录某商户的vip用户的账户余额,当余额有变动时才会有数据且每天(时间粒度为天)最多仅有单条数据用户每当有新的余额变动时,旧的余额相对于当前就没用了,所

2021-04-01 10:56:52 2547

原创 Kafka 2.1.0 的源码环境搭建

Kafka 2.1.0 的源码环境搭建提前准备下载kafka源码http://kafka.apache.org/downloads我这里使用的是kafka2.1.0版本的下载完之后,解压即可安装jdkjdk1.8oracle官网下载即可安装编译工具gradle 5.5(我最开始使用别的版本报错了,识别不了依赖)https://gradle.org/next-steps/?version=5.5&format=allgradle和maven意义,修改一下配置,让其可以访问.

2021-03-28 16:43:06 488

原创 Oracle 分析函数的汇总

Oracle 分析函数的汇总测试数据1.DENSE_RANK() over()2.ROW_NUMBER() over()3.rank() over()4.cume_dist() over()5.分组统计-sum() over()6.分组统计-max() over()7.分组统计-avg() over()8.分组统计-RATIO_TO_REPORT() over()9.LAG(COL,n,default) over()10.LEAD(COL,n,default) over()11.FIRST_VALUE()

2021-03-26 17:55:47 354

原创 Oracle 子查询优化思路

Oracle 子查询优化思路开头:​ 在Oracle中,支持字段级别的子查询,允许在字段嵌套查询sql,但是在面对数据量大的情况下,其效率会变的极低问题:通过判断统计日期和最开始交易的日期之间工作日天数需要通过这个天数的量级来选择不同的费率一开始使用字段的子查询获取结果SELECT col1,col2,col3 --150 day, (SELECT count(1) FROM T_PDATES where flag=0 and DAY<20

2021-03-25 17:25:11 2083

原创 Oracle merge into 基于大数据量的优化方向

Oracle merge into 基于大数据量的优化方向针对Oracle数据库的更新操作我们会使用update tableName set col1=col2 where condition...这样子的事务提交效率比较低下,所以大部分情况下需要批量更新的话我们会使用merge into 进行替换merge into target_tableName tusing ( select id , col1, col2 ... from source_tableName) aon (t.id=

2021-03-23 10:53:56 4977 2

原创 Oracle NULL值不参与运算判断

Oralce 中NULL 值不参与运算判断在数据分析中,设计到一些数值运算,如果其中某个值为空,会导致该数值被跳过(不是true,或者false)create table t_null_test as ( SELECT decode(round(dbms_random.value(1,2)),1,null,2) as col1 , 12 as col2 FROM dual connect by level <10)生成若干的测试数据进行测试;--取col1+col2 &g

2021-03-19 13:41:08 1279

原创 Oracle 用group by 去重计数还是用distinct 计数

Oracle 用group by 去重计数还是用distinct 计数Oracle 对去重计数的性能比较--Oracle 聚合优化--新建测试表 带索引drop table student;CREATE TABLE student ( t_id number, t_name VARCHAR2(32), t_class VARCHAR2(32), t_num number, CONSTRAINT PK_

2021-02-04 18:15:20 1510 1

原创 使用Antlr4和neo4j解析sql生成数据地图

使用Antlr4和neo4j解析sql生成数据地图杂谈1:之前学习搭建atlas平台的时候就很好奇他是如何解析sql,然后根据sql生成对应的血缘图的,在学习spark源码的过程中认识了antlr4 这样一个可以根据自定义语法规则来解析成语法树的工具于是我就希望可以参考atlas的解析功能,将复杂的长sql解析出它的数据地图出来.杂谈2:那么有人会问了,这样做的意义在哪里.如果做过数据开发之类的工作的话,应该会遇到那种情况,维护了大量的表,但是不知道这些表究竟被谁用了,因为迭代更新,可能需要

2021-01-30 20:44:38 5367 5

原创 某小伙的Antlr4学习笔记

概览作为一款语言识别工具,它可以解析(自定义)规则的语句,生成执行树分有几个阶段1.词法分析阶段 (lexical analysis)根据我们定义的词法解析出我们对应的关键词出来2.解析阶段根据我们定义的语法对解析出来的词进行构建,生成一个语法树应用场景1.定制特定领域语言(DSL)类似hibernate中的HQL,用DSL来定义要执行操作的高层语法,这种语法接近人可理解的语言,由DSL到计算机语言的翻译则通过ANTLR来做,可在ANTLR的结构语言中定义DSL命令具体要执行何种操作

2020-12-12 14:46:47 2049 1

原创 apache Atlas 1.2.0 搭建以及hive的集成

apache Atlas 1.2.0 搭建以及hive的集成简介ps:(官网摘抄)Atlas 是一组可扩展且可扩展的核心基础治理服务,使企业能够高效、高效地满足 Hadoop 内的合规性要求,并允许与整个企业数据生态系统集成。为组织提供开放的元数据管理和治理功能,以构建其数据资产目录,对这些资产进行分类和治理,并为数据科学家、分析师和数据治理团队提供围绕这些数据资产的协作功能。特点:元数据类型和实例各种 Hadoop 和非 Hadoop 元数据的预定义类型能够为要管理的元数据定义新类型类

2020-12-05 21:35:34 1253

原创 Camel管理路由的解决方案

Camel管理路由的解决方案 (持续更新ing)通过Camel管理kafka的路由转发背景:采集数据发送到共有kafka,消费kafka,发送到自己集群kafka…在一般生产的情况下,连接别人的kafka,是需要提供认证证书的,这里我们用同一个集群进行演示环境准备安装zookeeper集群安装kafka创建公共的topic进入对应kafka目录1.1创建topicbin/kafka-topics.sh --create --zookeeper node01:2181,node0.

2020-11-07 20:01:48 909

原创 Camel-学习笔记(二)关于camel-file的使用案例

Camel 为使用许多不同的通信技术实现的端点提供开箱即用的支持。下面是 Camel 支持的端点技术的一些示例。JMS 队列。Web 服务。一个文件(本文样例)。文件可能听起来像是不太可能的终结点类型,直到您意识到在某些系统中,一个应用程序可能会将信息写入文件,而稍后,另一个应用程序可能会读取该文件。FTP 服务器。电子邮件地址。客户端可以向电子邮件地址发送消息,服务器可以从邮件服务器读取传入邮件。POJO(普通旧 Java 对象)。使用案例基于文件的camel的使用案例pom.xml

2020-11-07 13:34:03 2561 1

原创 某小伙的代码笔记本

记录一些随笔的实用的小脚本1.Python 调用linux指令使用python脚本,调用linux系统输出命令自动化执行hql背景:此行为需要在有hive的权限已经开通的环境中#-*- coding:utf-8 -*-# @Time : 2020/11/4 22:45# @File : __init__.py.pyimport commandsfile_path="/tmp/script/table.log"file_path_w="/tmp/xdsp/script/table_ou.

2020-11-04 22:57:32 232

原创 filebeat的搭建与配置使用

Filebeat作为一款轻量级工具,基本解压之后,修改一下配置就可以直接使用了在生产环境中,经常使用filebeat+logstash作为采集数据的解决方案之一因为由于logstash是基于jvm(栈,堆,GC区…)比较占用内存,所以一般会在采集机器上安装filebeat,然后上报到一台服务器的logstash,这样就可以避免因采集数据而占用过多资源的情况1.安装filebeat 6.4.0由于公司使用的是6.4.0,这边也就沿用了https://www.elastic.co/cn/downlo

2020-11-04 22:40:02 524

原创 LeetCode的奇妙刷题之旅

LeetCode题目学习笔记题目来源https://leetcode-cn.com/problems/仅作学习记录用1.两数之和给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]思路:

2020-10-22 00:11:39 418 2

原创 HIVE函数大全及用例

HIVE函数大全及用例关系运算1、等值比较: =语法:A=B操作类型:所有基本类型描述: 如果表达式A与表达式B相等,则为TRUE;否则为FALSEhive> select 1 from iteblog where 1=1; >1 2、不等值比较: <>语法: A <> B操作类型: 所有基本类型描述: 如果表达式A为NULL,或者表达式B为NULL,返回NULL;如果表达式A与表达式B不相等,则为TRUE;否则为FALSEhive> sel

2020-10-20 00:29:59 328 2

原创 某小伙的Spark奇妙之旅-DAG

Spark DAG在学习Spark的过程中,会遇到SparkDag这个概念Dag是一个有向无环图的缩写,他的意思是把Spark中调用各种RDD的过程,转化成一种Dag的形式那么为什么要转化成DAG呢?其实不是为什么要转化成DAG,而是spark的那种调度机制十分的适合DAG,因为spark的rdd调用是lazy的,所以他需要先记录每个rdd之间的依赖关系,防止执行过程中出错了可以根据那个依赖关系取溯源既然每个RDD之间都是有依赖关系了,除了最开始的rdd之外,那么就很符合DAG(有向无环图)这个理

2020-10-11 12:19:26 436

原创 某小伙的Spark奇妙之旅-WordCount

Spark WordCount如果说一个刚接触java程序,敲出的是hello,那么刚接触spark,敲出的应该是wordcount从最开始入门hadoop的时候,就接触过由hadoop官方提供的样例jar,里面的wordcount程序,用来mr程序进行的词频统计spark也一样,在其example包中包含了wordcount的样例简单描述:WordCount 是用来统计某个文件,或者某个数据集中,单词的出现次数首先贴上官方源码public final class JavaWordCount {

2020-09-26 11:44:44 339

原创 某小伙的Spark奇妙之旅

Spark的算法实现Spark的出现很好的解决了MR程序中间文件落地,造成大量io的问题在入门学习Spark的时候,接触到了一个求Π的算法蒙特卡洛算法作为一个入门级的算法,很好的展示了,多次迭代,得到的结果约等于3.14–简单理解最后的比值是(圆的占比=4/Π)通过超级多次的迭代打点,计算出来圆内的点和员外的点的比值,进而反向求出圆周率,因为是随机打点,所以迭代的次数越多,得到的结果就越准确–在搭建好的集群上,提交我们的样例任务bin/spark-submit \--class org.

2020-09-24 22:43:03 295

原创 RabbitMQ 学习笔记

RabbitMQ 入门笔记简介(PS.网上有很多详细的描述,这里就粘贴一些官方简介)RabbitMQ 是一个由 Erlang 语言开发的 AMQP 的开源实现。AMQP :Advanced Message Queue,高级消息队列协议。它是应用层协议的一个开放标准,为面向消息的中间件设计,基于此协议的客户端与消息中间件可传递消息,并不受产品、开发语言等条件的限制。RabbitMQ 最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。具体特点包括:1

2020-08-02 18:19:02 364

原创 MongoDB 学习笔记

Mongo 学习简介mongo 是一款noSql的数据库,和mysql一样,可以通过java进行操作比起mysql,mysql中的表,在mongo中是collectionmysql中表的每一行数据,在mongo中是doc而且是以BSON格式,(JSON格式的基础上更重视数据类型)PS:mongodb在大数据领域还是比较常见的具体特点总结如下:(1)面向集合存储,易于存储对象类型的数据(2)模式自由(3)支持动态查询(4)支持完全索引,包含内部对象(5)支持复制和故障恢复(6)使用

2020-07-26 23:51:32 289

原创 学习笔记-装饰模式

装饰模式说是装饰模式,所以装饰器就需要通过某种方法,与被装饰的对象产生连系在网上看到有人把装饰模式比作买奶茶所谓的基类就是绿茶,红茶,奶茶在这个的基础上,你要添加柠檬,珍珠…就是后来的装饰我觉得是比较形象的,这里通过几个简单的例子定义父接口package it.luke.decorator.simaple;/** * @author luke * @Title: ${file_name} * @Package ${package_name} * @date 2020/7/1923

2020-07-20 01:08:24 286

原创 Vue-idea的搭建

搭建idea vue 的运行环境####vue 环境 依赖于 nodejshttps://nodejs.org/zh-cn/推荐下载长期支持版这样表示安装完成安装国内下载环境(方便下载快点)npm install -g cnpm --registry=https://registry.npm.taobao.org然后是安装vue环境cnpm install -g @vue/cli如果出现无法识别cnpm指令的错误的时候,可以将cnpm的目录添加到环境开始下载vue-cli(cli

2020-06-29 02:17:28 300

原创 Camel-学习笔记(一)

Camel(一)初识camel第一次遇到camel是在公司里面使用的一个架构中体现的,用的是古老的servermix,ESB架构,比起当下特别火热的微服务架构,显得优点龙钟老态,但是里面很多知识,在有闲暇之余的条件下,是很值得学习和借鉴的.说回camel,在我看来,它不像是一个可以独立运行的工具,更像是一个辅助型的光环英雄,自己没有任何输出能力,它的路由转换功能,是它最大的亮点,通过高度的抽象,让不同的数据源,可以通过同一份api,进行路由的转换,其中整合绝大多数市面上已有的协议,所以,掌握它,就像掌

2020-06-21 21:48:56 2325

原创 学习笔记-Spring解析xml并注册

Spring解析xml并注册Spring 有两大特性IOC 和 AOP在两者的基础之上,Spring还需要解析xml配置文件,注册bean才能实现完整的IOC和AOPSpring是如何解析xml和注册的呢我分为几个阶段1.资源路径(***.xml)定位2.解析资源,并封装到beanDefinition中3.将beanDefinition添加到BeanFactory4.这个时候就可以通过BeanFactory 去创建对象直接从源码开始学习.package it.luke.aop;imp

2020-05-25 00:31:33 358

原创 学习笔记-观察者模式

观察者模式没有营养的话:在学习观察者模式的时候观察者模式分为两大部分被观察者和观察者对于这两大部分,可以在生活中找到很多对应的关系,视观察的对象对场景有很大的不一样比如,被观察者是微博的大V,那么观察者就是关注他的粉丝,大V发出动态,他的粉丝就会收到反馈被观察者是一名嫌疑犯的时候,那么观察者就是警察,嫌疑犯有任何可疑的动静的时候,警察都可以收到反馈之前在学习观察者模式的时候,容易和消息中间件的那种生产订阅模式混淆,其实他们不一样和生产订阅的那种模式很像但是又没有那种模式那么解耦观察者

2020-05-17 20:00:35 361

原创 学习笔记-Spring-aop中proxy代理模式

从前面学习的Proxy代理模式中,发现,spring-aop中相关功能与proxy是重合的,所以本次通过从动态代理的方向,去了解spring-aop(个人理解)AOP:面向切面编程,一个 工程其中包括很多个组件,每个组件都有自己的独特的功能,除了每个组件中自己的独特功能外,他们可能还共同承担这其它相似的功能,比如日志、事务管理和安全这样的核心服务,在调用不同组件的过程中,触发的这些逻辑我们知道如果通过java api中的proxy类进行代理的化,可以通过实现同一个接口,然后通过接口去动态生成代理类.

2020-05-10 23:51:08 527

原创 学习笔记-Java代理模式的动态代理的原理理解

在学习代理模式的过程中,特别是调用javaAPI的动态代理Proxy这个类的时候,发现程序会自动生成代理类,于是乎对于他是如何生成,以及生成之后存放在哪里产生了好奇.//通过设置这个参数,可以将程序动态生成的代理保存下来System.getProperties().put("sun.misc.ProxyGenerator.saveGeneratedFiles", "true");public...

2020-05-03 18:24:34 491

原创 学习笔记-proxy代理模式

proxy代理模式proxy代理模式,让我们可以通过中间代理类去操作被代理类的一些处理,让操作者不直接操作对象类就好比明星和经纪人的关系(参考别人博客的说法),除了明星自己的独特的演出,或者唱歌,需要调用对象本身,其余的拉赞助,接通告等其它的事情可以交给经纪人去做.这里的经济人就相当于代理为什么要用代理模式当我们要对某一个方法进行增强时,比如对某个方法计算他的效率,打印开始结束日志等...

2020-04-26 22:10:58 357

原创 学习笔记-单例模式

单例模式单例模式,保障内存中只有一个对象在实际的工作中,常常会用到一些配置类等等,这些类不需要多个对象,所以通过单例模式可以减少无用对象的创建单例模式的设计仅仅只能防止正常创建对象的方式进行创建,如果是以反射的方法进行创建对象的话是没办法的饿汉式饿汉式便是无论我调用与否,他都会在内存中加载该对象且只能一个package it.luke.singleton;/** 饿汉式* 单...

2020-04-19 21:51:46 273

前端模板-Mamba.zip

前端模板-Mamba.zip

2021-05-13

zookeeper-3.4.14.zip

zookeeper-3.4.14.zip

2021-03-28

antlr4 plsql的语法定义文件

plsql的语法定义文件

2021-01-30

Windows 版本的 neo4j-3.3.5.zip

windows 版本的 neo4j 图数据库

2021-01-30

空空如也

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

TA关注的人

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