- 博客(26)
- 资源 (2)
- 收藏
- 关注
原创 MYSQL查询指定库表下所有表的表结构
SELECT A.TABLE_SCHEMA '数据库', A.TABLE_NAME '表名', A.COLUMN_NAME '表列名', A.ORDINAL_POSITION '表字段顺序号', A.DATA_TYPE '列的数据类型', A.COLUMN_TYPE '列的类型', A.COLUMN_COMMENT '列的备注'FROM INFORMATION_SCHEMA.COLUMNS AWHERE A.TABLE_SCHEMA='库名'OR
2022-06-20 16:26:17
308
1
原创 Oracle查看表空间终极SQL
查看表空间使用率:select ta.tablespace_name "表空间名称", decode(tb.contents,'UNDO','UNDO表空间','TEMPORARY','临时表空间','数据表空间') "表空间类型", round(ta.tablespace_size*8/1024,2) "表空间总容量(MB)", round(ta.used_space*8/1024,2) "表空间已使用容量(MB)", round((ta.tabl
2022-06-14 17:32:38
398
原创 Spark性能优化指南——高级篇
Spark性能优化指南——高级篇忘记是在哪里找的了,这里面的内容曾经某个时期给予我特别大的帮助。数据倾斜调优调优概述有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时Spark作业的性能会比期望差很多。数据倾斜调优,就是使用各种技术方案解决不同类型的数据倾斜问题,以保证Spark作业的性能。数据倾斜发生时的现象Ÿ 绝大多数task执行得都非常快,但个别task执行极慢。比如,总共有1000个task,997个task都在1分钟之内执行完了,但是剩余两三个task却要一两个
2021-12-28 11:33:43
173
原创 Hive表的视图、索引、类型
Hive学习笔记:表的类型、视图、索引以及加载方式Hive表的类型 Hive 的表有哪些类型呢,我们简单可以分为四种,受控表、外部表、分区表、桶表,从严格意义上说,应该分为两种受控表,又叫内部表、外部表,分区表和桶表其实是受控表的不同体现。1、受控表 所谓受控表,我们也经常叫内部表,和外部表对应起来,就是说表的数据的生命周期收表的控制,当表定义被删除的时候,表中的数据随之一并被删除。创建一张表,其对应在hive中就有了表记录,在metastore表TBLS中就有表定义,当我们一旦从h
2021-12-28 11:27:21
634
原创 Oracle—列序号 rownum,rowid说明
【功能】rownum和rowid,都属于系统字段,查询数据库中任何表都有该字段,该字段不需要创建。rownum与rowid的区别:rownum是逻辑地址序号(随查询结果显示的数据条数而变化),可以限制查询结果的行数;rowid是物理地址(固定不变的)。/数据记录的逻辑地址rownum/【示例】1)用rownum可以随机抽取表中某几行数据;示例:select * from tb_det_prov where rownum<10;2)用rownum可以将已经排序好的结果,提取出TOP(前
2021-12-28 11:07:17
1478
原创 总结存储过程begin和end 之间
执行语句:begin 与end之间--1.变量赋值execute immediate--2.流程控制(顺序结果、if分支、循环)--3.DML DCL--4.动态SQL: execute immediate+动态SQL(DDL)--5.dbms_output.put_line(参数)--6.调用子存储过程---打印输出:dbms_output.put_line(变量、常量)--dbms_output是包,put_line是打印函数,put_line只有一个参数--1.每执行一次打..
2021-12-28 11:01:38
1487
原创 动态SQL execute immediate
【功能】如果在存储过程中,要执行“创建、修改、删除、删表(create、alter、drop、truncate)”四种语句,不能直接使用,要将该类语句放在动态SQL(execute immediate)中执行。应用场景:1.封装DDL语句 alter drop2.for 循环使用【格式】beginexecute immediate ‘要执行的语句’;end;【示例】①动态SQL组成部分:1.常量(DML语音关键字用常量封装) 2.变量(字段、表 注意:不能用单引封装) 3.连接符||
2021-12-17 17:32:24
2366
原创 异常 exception
【功能】针对已经编绎通过的块/存储过程,在运行过程中,也可能会报错,异常处理可以将报错的信息进行记录并返回,另外,也可以自定义异常。【格式】declare自定义异常变量 exception;begin–数据处理exceptionwhen 自定义变量 then–自定义异常处理when others then–系统异常处理end;【注意事项】1.异常有两种:自定义异常(需要定义异常类型的变量)、系统异常(others)/自定义异常/【示例1】需求描述:create or r
2021-12-17 17:31:56
541
原创 循环控制语句 for
【功能】for是循环控制语句,循环执行for loop与end loop之间的语句,"循环次数"要看for后面的变量值范围或游标里的查询语句条数是多少。/游标循环/【格式】beginfor 变量名 in (查询语句) loop添加循环执行的语句end loop;end;【示例】declarev_i integer;beginfor i in (select prov_id,prov_name from tb_det_prov) loopselect count(*) into v
2021-12-17 17:31:18
638
原创 判断控制语句 if
【功能】if是判断控制语句,用于在指定的条件下要执行某些语句时使用,如果if后面括号里的条件成立的话,就执行if与end if之前的语句,如果条件不成立,就跳过不执行,但如果有else关键字时,如果条件成立,执行if下面的语句,如果条件不成立,执行else下面的语句。【格式】beginif (条件) then添加符合条件后要执行的语句end if;end;beginif (条件) then添加符合条件后要执行的语句else添加不符合条件后要执行的语句end if;end;【示例
2021-12-17 17:30:18
204
原创 显性、隐性游标 cursor
什么是游标?①查询出的结果集放到内存中使用使用游标的方法:答:从内存中的结果集一次只能取一条,直到数据取完为止跳出循环。【功能】SQL语句返回来的结果集,【格式】declarecursor cur is select id,name from tt;beginfor c in cur loopdbms_output.put_line(c.name);end loop;end;【示例】/显示游标/1.显性游标 IS----begin 之间使用什么把封装好的SQL语句装载袋子
2021-12-17 17:29:38
248
原创 变量和常量 variables,constants
/******************************************变量(定义)******************************************/【功能】变量用于存储变化的值。变量的定义(位置在begin上面)【格式】变量名称 变量类型;【示例】declarev_i integer;begin–要执行的语句end;/******************************************变量(赋值)*****************
2021-12-17 17:29:04
238
原创 输入和输出 input,output
–输入、输出参数/输入、输出参数/【功能】【格式】输入/输出参数的命名规则输入/输出关键字缩写_[变量名缩写]create procedure 存储过程名称(输入参数名称 in 类型, --统计日期/统计月份输出参数名称 out 类型 --结束成功是否标志(0为成功,1为错误))isbeginnull; --具体要执行的脚本end ;【示例】(iv_date in varchar2, --统计日期oi_return out integer --结
2021-12-17 17:27:40
918
原创 存储过程 procedure
存储过程 procedure代码开发注意事项:1)基础要求:准确 完整 规范2)加强要求:思路清晰基本框架:create procedure 存储过程名称isbeginnull; --具体要执行的脚本end ;–丰富一下create or replace procedure 存储过程名称 --第一次创建是create procedure,后续修改就用create or replace procedure(输入参数名称 in 类型, --统计日期/统计月份
2021-12-17 17:26:34
1060
原创 匿名块declare
【功能】匿名块就像没有名称的存储过程一样,SQL语句在开发工具上,可以直接执行,但PL/SQL语句是不可以的,必须将要执行的PL/SQL语句,放置在begin与end之间,如果不建成存储过程,就要建成匿名块(即没有名称的执行脚本),匿名块实现的功能和存储过程是一样的,只是将代码建成存储过程,系统会自动保存起来,而将代码建成匿名块,就不会自动保存。vgopdw.vdw_number_segment :号段表【格式】declare声明部分beginexception异常部分end;【示例】
2021-12-17 17:25:26
1038
原创 IEDA 2021.2安装包以及补丁(使用无限延期方法进行使用)
如题,有些资源需要用到的时候其实挺难找的,大家可以借鉴一下,附上链接链接:https://pan.baidu.com/s/1nDHE7j6mKyDYbYyL4bqixA提取码:8pzy
2021-12-17 17:09:02
213
原创 spark参数调优
set spark.sql.caseSensitive=FALSE; 设置不区分大小写set spark.speculation.interval='500';--检测周期,单位为毫秒set spark.speculation.quantile='0.75';--完成task的百分比时启动推测set spark.speculation.multiplier='1.5'; --比其它的慢多少倍时启动推测set spark.streaming.concurrentJobs='3'; --控制job并发度
2020-10-15 16:03:39
715
原创 hive表中yyyymmdd格式日期校验
之前由于工作需要,要对日期格式数据进行校验下面是校验代码select '20201015' regexp '([\d]{4}(((0[13578]|1[02])((0[1-9])|([12][0-9])|(3[01])))|(((0[469])|11)((0[1-9])|([12][1-9])|30))|(02((0[1-9])|(1[0-9])|(2[1-8])))))|((((([02468][048])|([13579][26]))00)|([0-9]{2}(([02468][04...
2020-10-15 15:57:41
2535
2
原创 通过正则表达式校验hive表中手机号码字段
select '13611112349' regexp '13[0-9]\\d{8}$' 执行结果返回true则为手机号码正确效果图如下:
2020-10-15 15:37:11
3846
3
原创 hive的一些常用命令
表、程序名命名规则:层级+模块+业务+行为+周期;创建存储格式为ORC格式的表:压缩比1:50查询性能最快hive的常用操作命令查看库 show databases;使用库(要操作的库) use 库名;查看库中有那些表 show tables;查看表结构 desc tdw_credit_bass_m; --...
2020-10-15 15:30:57
174
原创 hive的一些调优参数
很久以前存的,忘记是从哪篇文章扒拉下来的,里面有很多开发中会用到的参数,希望可以方便大家使用(其实记录这些也是方便后面用到的时候自己方便查看,本地存的东西有点乱了,打算换个地方再存一份)。set hive.support.concurrency = true; 关闭表锁机制 show locks 查看表锁set hive.enforce.bucketing = true;set hive.exec.dynamic.partition.mode = nonstrict;set hive...
2020-10-15 15:25:49
2502
原创 查看hive表元数据信息:describe extended table_name
查看表的元数据信息,个人还是比较喜欢用describe extended table_name来查看,能看到信息很完整,比showcreatetable +表名描述清楚效果图如下:
2020-10-15 15:21:04
2705
原创 hive中特殊字符替换
1、使用regexp_replace处理数据中心的特殊字符:用法:regexp_replace(字段,'\\\\','')2、regexp_replace替换特殊字符:用法实例:regexp_replace("我;们",'\\;','。')
2020-10-15 15:03:28
11943
原创 shell执行hsql脚本
em......话不多少直接上代码(通过shell执行hsql脚本),可以直接执行的#!/bin/bash#DWD目标表hive_dwd_table=XXXecho $hive_dwd_table ;#ODS源表hive_ods_table=XXXecho $hive_ods_table;#日志信息表hive_log_table=XXXecho $hive_log_table;#判读是否传入日期参数,如果传入则使用传入的日期,没有则使用$date_timeif [ ! -n .
2020-10-15 14:55:16
650
原创 python以shell方式执行hsql脚本
最近开始学习python,因为项目需要,需要测试使用python+hsql,在网上也查了不少信息,因为工作环境比较特殊,执行脚本都是用的定制化工具,大概情况就是需要将脚本提交到集群然后通过ETL调度执行,所以python脚本不像以往的开发那样子写,感觉和shell脚本执行hsql一个道理。在这里要感谢博主的分享https://blog.csdn.net/weixin_38750084/article/details/102719489?utm_medium=distribute.pc_relevant.
2020-10-15 14:48:53
334
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人