自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

鹜骜的博客

22岁30年开发经验

  • 博客(110)
  • 收藏
  • 关注

原创 [python] 持续记录《python数据分析与挖掘实战》代码跑不起来 解决方法

在对菜品盈利数据 进行帕累托分析时遇到以下问题:原来是data.sort(ascending = False)结果报错AttributeError: ‘Series’ object has no attribute ‘sort’后来经查阅Series.sort_index(ascending=True) 根据索引返回已排序的新对象换成下面这样就可以了data.sort_index(ascending = False)...

2021-08-31 11:55:58 302

原创 [python] ‘utf-8‘ codec can‘t decode byte 0xb2 in position 0: invalid start byte | ‘gbk’ codec can’t

在使用pyCharm学习python数据分析与挖掘实战时 碰到的报错UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xc8 in position0: invalid continuation byte解决方法:我们使用NotePad++ 打开csv文件 看到数据使用的是ANSI编码所以我们修改代码添加encoding='ansi' 或者encoding='gbk'都可以那么同样的如果报错‘gbk’ codec can

2021-08-31 11:53:18 1417

原创 记录个坑 python写文件出现空文件

根据网上的答案 都说是因为文件没有close()但我是关闭了的 ,不太符合情况最后原因是 我python要读的文件在linux服务器上多了斜杠和反斜杠之类的东西。导致了程序不认识。最终输出了空文件。记录一下思路 多用print看看每一步输出是不是符合自己预期。...

2021-07-13 10:38:23 849 1

原创 Cannot find compatible factory for specified execution.target (=local)

注释掉pom文件里面的 provided,因为provided表明该包只在编译和测试的时候用的。

2021-05-20 20:46:42 205

原创 存储过程 游标

游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。游标充当指针的作用。尽管游标能遍历结果中的所有行,但他一次只指向一行。游标的作用就是用于对查询数据库所返回的记录进行遍历,以便进行相应的操作。CREATE DEFINER=`root`@`%` PROCEDURE `proc_student_source_all`()BEGIN DECLARE p_school_name varchar(100); DECLARE done INT DEFAULT 0; D

2021-05-14 17:32:25 268

原创 ERROR 1093 (HY000): You can‘t specify target table ‘student2‘ for update in FROM clause

在mysql中,不能通过嵌套子查询来直接删除或者修改记录,需要通过别名来指定嵌套子查询作为一个临时表。解决办法:给嵌套子查询的结果取一个别名,然后从这个表中再次查询出记录,然后再做删除或者修改操作。delete from student2 where id not in(select a.id from(select id from student2 group by no,name,coursename,courseno,score)a);...

2021-05-14 17:05:35 144

原创 update 两个表关联 更新

update table1 a set a.c = (select b.b from table2 b where a.a=b.a)

2021-05-14 17:04:42 8254 2

原创 [MYSQL] 报错 2013 lost connection to mysql server at ‘reading authorization packet‘,system error

场景:在linux服务器上安装mysql后远程无法连接报错。服务器上可以正常进入msyql。网上答案试过后没有解决。最后想到没有关闭防火墙。关闭防火墙后问题解决。

2021-04-15 12:50:08 759

原创 [SQL Server] Navcat连接SQL Server报错。 [IM002] [08001] 记录两个坑

1.提示未发现数据源名并且未指定默认驱动程序原因是navicat没有安装sqlserver驱动,就在navicat安装目录下解决方法打开navcat文件所在位置,安装sqlncli_x64.msi重启后测试连接2.无法打开与SQL Server的连接[08001] [Microsoft] [SQL Server Native Client 11.0] 命名管道提供程序:无法打开与SQL Server的连接解决方法cmd打开命令行输入cliconfg在SQL Server客户端网络工具

2021-03-05 10:25:46 775 1

原创 [Oracle] navcat连接oracle库 ORA-28547 / oracle library is not loaded 记录一个坑

这两个问题都是由 oci.dll 文件引起的解决办法:Oracle Instant Client Downloads下载Instant Client (区别32位于64位)但是有一个坑下载完解压之后得到的oci.dll文件 不能直接覆盖 到Navicat Premium下的instantclient_10_2文件夹里要在Navicat-》工具-》选项-》环境-》oci环境里 选择刚才下载的Instant Client里的oci文件,最后重启Navicat解决...

2021-03-01 11:09:29 246

原创 [水文] 无题

工作之后逐渐落下了学习本想12月也写一篇文章好让 月份不要断了 没想拖到了2020的最后一天正文:在学习计算机的路上,我的习惯是独自钻研深究,静下心来时间往往不经意间过的很快。但这种习惯在工作中吃了瘪。因为缺乏计划和沟通前不久,因为有个任务刚派下来我就吭哧吭哧开始干了,交付时却与要求有很大出入,确实是我的理解有误。最后不得不加班修改。工作半年收获:1、完成工作后及时复盘,从经验中总结精华。2、工作完成后有清晰交付,(交付内容包括 任务必需的交付外加向上级的交付(表现形式有日报周报等多种)

2020-12-31 14:59:45 96

原创 [shell] Linux环境执行脚本报错:-bash: ./xxx.sh: /bin/bash^M: 坏的解释器: 没有那个文件或目录

问题描述在编写Linux 脚本后,运行该脚本出现如下错误。 -bash: ./xxx.sh: /bin/bash^M: 坏的解释器: 没有那个文件或目录原因Windows系统中的换行符是**\n\r**,Linux系统中的换行符是**\n**,因此需要将**\r**替换为空白。解决方案Linux sed命令可自动编辑一个或多个文件,执行以下命令即可。sed -i 's/\r$//' xxx.sh...

2020-11-13 17:17:37 553 1

原创 [SQL] on delete cascade联级删除

MySQL 联级删除(on delete cascade)应用需求将某一课程删除之后,将删除以这一课程为先行课的所有课程解决方案将cpno设置为外键,引用的是自身表的cno使用联级删除(on delete cascade),在外键约束时添加...

2020-11-01 22:47:57 956

原创 [SQL]foreign key和references的区别

假设两张表,表1(学号,姓名,性别),学号为主键.表2(学号,课程,成绩).可以为表2的学号定义外键(FOREIGN KEY),该外键的取值范围参照(REFERENCES)表1的学号

2020-11-01 22:44:59 3275

转载 过程建模之数据流图

简介 数据流图是过程建模所使用的主要建模技术。它的建模所使用的基本模型元素有4种:外部实体、过程、数据流和数据存储。 过程建模的简介 过程建模就是通过分析需求获得信息,发现系统的功能及其与外界的交互(外界提供数值输入或者将数据结果提供给外部实体),建立能够实现系统功能的过程分解...

2020-10-21 15:56:36 3094

原创 [Linux] cut,sed,awk,sort 等shell命令学习

文章目录一 cut 命令二 sed 命令三 awk 命令四 sort 命令一 cut 命令Linux cut命令用于显示每行从开头算起 num1 到 num2 的文字。语法:cut [-c] [file]cut [-df] [file]使用说明:cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。如果不指定 File 参数,cut 命令将读取标准输入。必须指定 -b、-c 或 -f 标志之一。参数:-b :以字节为单位进行分割。这些字节位置将忽略多字

2020-09-15 19:10:03 374

原创 [Kettle] java代码组件使用教学 & Kettle5.4版本java代码组件bug

文章目录java代码组件教学关于KETTLE 5.4版本java代码组件bug其实我是很烦在kettle里边写java代码,因为有些地方很不智能。比如TM的他不支持泛型。但是公司一直在用只能硬的头皮来。最近在使用过程中就碰到了一个版本bug。网上没有找到答案。最后公司前辈有碰到过,帮我解决了问题,于是在这记录一下java代码组件教学先介绍一下kettle里边java代码组件kettle中java代码基本上是用来处理普通组件无法完成的一些操作,如果普通组件就能完成功能,那就没有必要去使用java代码“

2020-08-31 18:35:44 1614

原创 [Kettle] 作业(job)中两个转换(tran)传参

在使用Kettle开发时 ,有些时候在一个作业当中, 第二个转换需要用到第一个转换执行之后的结果作为参数传给第二个转换继续执行。网上关于Kettle的帖子教程很乱很杂,经常看很长时间解决不了问题。今天实际开发中用到了,所以打算写下这篇帖子作业(job)中两个转换(tran)传参场景:作者做ETL开发时,老大给过来一个项目当中一个业务的接口文档做了近三个月使用kettle做ETL,发现接口数据源真的是什么类型都有。这个接口属于麻烦一点的,首先根据apiId和secret两个参数去请求一个home.

2020-07-13 18:40:04 3755

原创 [SQL] 查询两表中共有的数据

SQL如何找出连接两表之后,两表共有的记录其实这个问题就是平常查询出A表中有但B表中没有的数据select * from class1 aleft join student_info bon a.student_id=b.student_idwhere b.student_id is null =>查询出A表中有但B表中不是没有的数据 = 查询出AB两表中共有数据select * from class1 aleft join student_info bon a.student

2020-06-30 18:33:07 2348

原创 [JVM]四 执行引擎

文章目录执行引擎编译 & 执行为什么说java是半编译半解释:什么时候选择JIT热点探测回边计数执行方式JIT分类执行引擎虚拟机的执行引擎是由软件实现,因此可以不受物理条件制约的定制指令与执行引擎的体系结构,能够执行那些不被硬件支持的指令集格式jvm主要任务是负责装载字节码到内部,但字节码并不能直接运行在操作系统之上,因为字节码指令并非等价于本地机器指令,他内部包含的仅仅只是一些能够被JVM所识别的字节码指令,符号等,如果要想让一个java程序运行起来。执行引擎的任务就是将字节码指令解释编译为

2020-05-30 16:46:15 249

原创 [Shell] 定时任务脚本--反刷日任务/小时任务脚本模板--贴过去跑不起来你来打我--亲测完美建议收藏!~

很多时候任务要在调度平台上定时执行而你的任务很多是要靠shell脚本来实现启动在此整理了一下日任务和小时任务的shell脚本带反刷数据功能的 模板希望能帮到大家日任务+反刷日任务# !/bin/bash# XX数据XXXX每日任务脚本# 创建时间:2020年5月29日15:05:44# 创建人:鹜 骜 # shell脚本输入参数:# $1 开始时间 格式 yyyyMMdd# $2 结束时间 格式 yyyyMMdd# 这里解释一下$3 调度平台有的执行任务会加日志级别等别的参数在后

2020-05-29 15:41:34 1064 2

原创 [JVM]五 对象在内存中的结构

对象实例化创建对象的方式:1)new ,静态方法创建 , 工厂模式的静态方法创建2)class的newInstance() 反射,只能调用空参的构造器,权限必须是public (过时)3)Constructor的newInstance() 反射,可带参,无权限要求4)使用clone() 实现Cloneable接口 浅复制5)反序列化,从文件或网络中创建对象6)第三方库Objenesis对象创建的步骤1)判断对象对那个的类是否加载,链接,初始化虚拟机首先检查这个指令的参数能否在Metas

2020-05-28 23:55:05 211

原创 [JVM]二 运行时数据区 (5) 方法区 + 直接内存

方法区栈,堆,方法区的交互关系方法区的理解方法区大小与OOM方法区内部结构方法区的垃圾回收

2020-05-27 23:18:44 349

原创 [Kettle] 公式 使用方法

今天要将流中数据接收到 之后存储在mysql数据库中接受过来的字段是这样:这个 100% 是个String类型可是要 更新/插入 的表中对应的字段却是 int 类型 这个"%"就存不进去目前任务 就是要把%去掉kettle中转换工具眼花缭乱,网上讲用 字符串替换 执行sql脚本之类 但是一直也没找到个demo让人能够茅厕(ce)顿开最后用了函数解决 并且学习了一写关于函数的使用方法请看下面demo1)我在生成记录中自定义一个ratio字段String类型,并且规定了值为100%2.

2020-05-27 15:35:39 3980 5

原创 [JVM]二 运行时数据区 (4) 堆

文章目录堆1 堆结构2.对象分配过程3.GC最后$.1 设置堆内存大小 & 查看堆内存$.2 显示GC信息$.3 参数调优堆概述一个JVM实例只存在一个堆内存,堆也是java内存管理的核心区域Java堆在启动时空间大小也就确定了。是JVM管理的最大一块内存空间。堆内存大小可以调节。堆在物理上的内存中不连续,但在逻辑上应该被视为是连续的。所有的线程共享java堆,但堆里还可以划分线程私有的缓冲区几乎(【逃逸分析】,如果没有逃逸会由栈上分配)所有对象实例和数组都应该在运行时分分配在堆上栈

2020-05-25 00:35:50 247

原创 [JVM]二 运行时数据区 (3) 本地方法栈

jvm本地方法栈用于管理本地方法的调用本地方法栈也是线程私有的允许线程固定或者可动态扩展的内存大小某个线程调用一个本地方法时,他就进入了一个不受虚拟机限制的世界,他和虚拟机拥有同样的权限。具体实现:本地方法本质上是依赖于实现的,任何本地方法接口都会使用某种本地方法栈,当线程调用java方法时,虚拟机会创建一个新的栈帧并压入java栈。然而当他调用的是本地方法时,虚拟机会保持java栈不变,不再在线程的java栈中压入新的帧,虚拟机只是简单的动态链接并直接调用指定的本地方法,可以把这块安佐世虚拟机利用

2020-05-23 16:23:51 204

原创 [JVM]三 本地方法库 & 本地方法接口

文章目录本地方法为什么使用本地方法本地方法native(本地的)比如 Object中的 getClass()Thread类中 currentThread()一个Native Method 就是一个java调用非java代码的接口。该方法的实现由非java语言实现,比如C 。定义一个native method时,并不提供实现体,因为由非java实现。本地接口的作用是融合不同的编程语言为java所用。为什么使用本地方法与java环境外交互有时java应用需要与java外面的环境交互,这是本

2020-05-23 15:24:23 961

原创 [JVM]二 运行时数据区 (2) 虚拟机栈

虚拟机栈虚拟机栈栈是运行时的单位。解决程序的运行问题,即程序如何执行。主管java程序的运行,它保存方法的局部变量,部分结果,并参与方法的调用和返回每个线程在创建时都会创建一个虚拟机栈,其内部保存一个个的栈帧,对应着一次次的java方法调用,生命周期和线程一致;栈运行原理栈中的数据以栈帧的格式存在,线程上执行的每一个方法都对应一个栈帧,栈帧是一个内存区块,维系着方法执行过程中的各种数据信息。栈顶栈帧是当前正在执行的方法,也被称作栈顶栈帧,对应当前栈帧的方法就是当前方法,定义这个方法的类就是当前类

2020-05-23 13:21:18 232

原创 [JVM]二 运行时数据区 (1) 程序计数器

运行时数据区概述方法区(JKD8后元数据区)和堆是一个进程共享一份而每个线程对应一个程序计数器,虚拟机栈,本地方法栈程序计数器(PC寄存器)寄存器存储指令相关的现场信息。CPU只有把数据装载到寄存器才能够运行JVM中的pc寄存器是堆物理pc寄存器的一种抽象模拟**作用:**存储指向下一条指令的地址,即将要执行的指令代码,由执行引擎读取吓一条指令。1)他的内存空间很小,但运行速度很快;2)在JVM规范中,每个线程都有自己的程序计数器,生命周期与线程的生命周期一致;3)任何时间一个线程都有

2020-05-21 23:49:03 189 1

原创 [Kettle] Could not read from ..... because it is a not a file.

前言:在win环境下tran和job都可以运行。但是在linux上tran可以执行,job出现报错[root@mysql pdi-ce-5.4.0.1-130]# ./kitchen.sh -file /data/zjhcsoft/etl/cs/cs_integration//dy/job/tran_z_tickte_dy_sell_d.kjb Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; sup

2020-05-20 14:27:48 3984 1

原创 [JVM]一 类加载器子系统

类加载器子系统的作用:类加载器子系统负责从文件或网络中加载Class文件,class文件在文件开头由特定的文件标示ClassLoader负责class文件的加载,至于是否可以运行,则由ExecutionEngine决定加载的类信息存防御方法去的内存空间,处理类的信息外,方法去中还会存放运行时常量池信息,可能还包括字符串字面量和数字常量(这部分常量信息是class文件中常量池部分的内存映射)具体步骤:加载:通过一个类的全限定名获取定义此类的二进制字节流,将这个字节流所代表的静态存储就够转化为方法区

2020-05-19 21:40:32 152

原创 [ETL] 初识kettle

前言:编写kettle的应该是一位爱做饭的程序员kettle 是 java编写 需要jdk环境kettle 组成1.勺子(Spoon.bat/spoon.sh)图形化界面 win选择bat linux选择sh2.锅(Pan.bat/pan.sh)调用Trans3.厨房(Kitchen.bat/.sh)调用job4.菜单(Carte.bat/.sh) 轻量级的web容器 用于建立专用远程的ETL Server 可分布式存储机制以xml形式存储以资源库方式存储(数据资源库.

2020-05-12 23:02:16 174

原创 [Java]synchronized的实现方式 & synchronized与lock的区别

synchronized的实现方式在java语言中存在两种内建的synchronized语法:1、synchronized语句;2、synchronized方法。对于synchronized语句当Java源代码被javac编译成bytecode的时候,会在同步块的入口位置和退出位置分别插入monitorenter和monitorexit字节码指令。synchronized方法则会被翻译成普通的方法调用和返回指令如:invokevirtual、areturn指令,在VM字节码层面并没有任何特别的指令来实

2020-05-12 00:01:48 278

原创 [Java] Semaphore

Semaphore两个作用:1多个共享资源的互斥使用2并发线程数量的控制常用于限制可以访问某些资源的线程数量,例如通过 Semaphore 限流。方法:acquire()release()Semaphore中包含初始化时固定个数的许可,在进行操作的时候,需要先acquire获取到许可,才可以继续执行任务处理完成之后需要release释放。案例:public class Sem...

2020-05-05 16:43:11 143

原创 [Java]countDownLatch & CyclicBarrier

countDownLatch使一个线程等待其他线程各自执行完毕后再执行。concurrent包里面的CountDownLatch其实可以把它看作一个计数器计数器的初始值是线程的数量。每当一个线程执行完毕后,计数器的值就-1,当计数器的值为0时,表示所有线程都执行完毕用途:public class CDText { public static void main(String[] ...

2020-05-05 15:19:04 144

原创 [Java] 关于集合类的线程安全问题

前言:集合类学过也用过,知道ArrayList,HashSet,HashMap线程是不安全的,但是我们在平常使用过程中,并没有发现哪里有问题。下面就说说为什么这些常用集合类是线程不安全的。在前面java学习中,很多情况下只是用到了main线程,没用加入并发,而在并发环境下ListList<String> list = new ArrayList<>(); ...

2020-05-04 16:30:50 362

原创 [Java] volatile 详详解!

前言:要真正搞懂volatile的特性需要与JMM对比来看JMM(线程安全的保证)JMM:JAVA内存模型(java memory model) 是一种抽象概念,并不真实存在,它描述的是一组规则或规范,通过这组规范定义了程序中各个变量(实例字段,静态字段和构成数组对象的元素)的访问方式。JMM关于同步的规定线程解锁前,必须把共享变量的值刷新回主内存;线程加锁前,必须读取主内存的最...

2020-05-03 17:20:47 4895 1

原创 [hive] 窗口函数详解

前言:面试官:窗口函数使用过吗?:了解过啊。窗口函数应用场景:(1)用于分区排序(2)动态Group By(3)Top N(4)累计计算(5)层次查询比如RANK() 排序相同时会重复,总数不会变DENSE_RANK() 排序相同时会重复,总数会减少ROW_NUMBER() 会根据顺序计算OVER():指定分析函数工作的数据窗口大小面试官:小伙子理论还行啊,来用我这电脑建张表实际操作...

2020-05-01 13:19:43 437

原创 [ETL] 数据质量

前言面试官:看你写 有参与过数据清洗ETL之类的工作? 讲讲你这个项目中数据质量是怎么做的:啥数据质量?GG概念数据质量是一种通过测量和改善数据综合特征来优化数据价值的过程。是通过数据收集 、数据识别/匹配 、数据标准化 、数据清理和数据聚集来实现数据质量。由于数据仓库对数据的要求比较严格。错误的数据不仅会带来数据仓库自身维护的高昂费用 ,而且更重要的是会导致制定糟糕的决策。数据质量问...

2020-04-30 20:35:00 890

原创 [big data] 数仓

定义一个数据仓库通常是一个面向主题 的(subject— oriented)、集成的 (integrated)、相对稳定 的(non—volatile)、反映时间变化的 (time—variant)数据集合 ,它 是建立决策支持系统 (Dss)的数据基础 。数据仓库有如下 4个特征 :(1)面向主题的.所谓 主题 ,是指用户使 用数据仓库进行决 策时所关心 的重点方面 ,如销售情况 ,人事情...

2020-04-30 16:35:36 563

空空如也

空空如也

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

TA关注的人

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