05 2022 档案
摘要:分区 就是把一张表的数据分成N个区块,在逻辑上看最终只是一张表,但底层是由N个物理区块组成的 分表 就是把一张表按一定的规则分解成N个具有独立存储空间的实体表。系统读写时需要根据定义好的规则得到对应的字表明,然后操作它。 分库 一旦分表,一个库中的表会越来越多 将整个数据库比作图书馆,一张表就是一本
阅读全文
摘要:第一种:oracle的方法 merge into emp_bak a using emp b on (a.ename like CONCAT('%',concat(b.ename,'%'))) 模糊匹配,如果是等值,把like换成= ,CONCAT('%',concat(b.ename,'%')))
阅读全文
摘要:文件处理 在 Python 中使用文件的关键函数是 open() 函数。 open() 函数有两个参数:文件名和模式。 有四种打开文件的不同方法(模式): "r" - 读取 - 默认值。打开文件进行读取,如果文件不存在则报错。 "a" - 追加 - 打开供追加的文件,如果不存在则创建该文件。 "w"
阅读全文
摘要:一、什么是url URL(Uniform Resource Locator,统一资源定位符)地址,俗称网页地址,简称网址,是Internet上用来描述信息资源 地址(Address)的字符串,如同在网络上的门牌。URL地址主要用在各种WWW客户程序和服务器程序上 它最初是由蒂姆·伯纳斯-李发明用来作
阅读全文
摘要:一、查询使用 1. 加锁的目的:实现对 '共享资源' 的 '并发控制' 例如,'同时' 更新 '同一条记录' 若不加锁,则更新无先后顺序,得到的结果集可能并非想要的 若加了锁,则更新有先后顺序,能得到想要的结果集 2. 锁的分类:从不同的角度,有不同的分类方法 3. 相关视图 (1) select
阅读全文
摘要:Oracle里的绑定变量 使用绑定变量,是可以重用解析树和执行计划基础条件. 绑定变量的语法: --sql var x number; exec :x := 7369; select ename from emp where empno= :x; --plsql declare vc_name va
阅读全文
摘要:单个文件可以使用vi或vim编辑器打开日志文件,使用编辑器里的查找功能。在查看模式下,符号/后面跟关键字向下查找,符号?后面跟关键字向上查找,按n查找下一个,按N查找上一个。 多个文件可以使用grep命令,比如 grep ERROR /var/log/messages*。会把匹配到ERROR这个关键
阅读全文
摘要:Oracle使用正则表达式4个主要函数: 1、regexp_like 只能用于条件表达式,和 like 类似,但是使用的正则表达式进行匹配,语法很简单: 2、regexp_substr 函数,和 substr 类似,用于拾取合符正则表达式描述的字符子串,语法如下: 3、regexp_instr 函数
阅读全文
摘要:自定义函数和存储过程的区别: 1)一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强。存储过程,功能强大,可以执行包括修改表等一系列数据库操作;用户定义函数不能用于执行一组修改全局数据库状态的操作。 2)对于存储过程来说可以返回参数,如记录集,而函数只能返回值或者表对象。函数只能
阅读全文
摘要:一.事务(transaction)定义:事务就是一个对数据库操作的序列,是一个不可分割的工作单位,要不这个序列里面的操作全部执行,要不全部不执行。特性:原子性 (Atomicity) 持久性(Durability) 一致性(Consistency) 隔离性(Isolation)下面我将用银行转账来举
阅读全文
摘要:一、数据库为什么需要锁? 为了保证数据的一致性。mysql数据库存在多种数据引擎,MySQL各存储引擎使用了三种类型(级别)的锁定机制:表级锁定,行级锁定和页级锁定。 二、表级锁 1.表级锁(表级锁一次会将整个表锁定,所可以很好的避免死锁问题) (1)锁定粒度大,锁冲突概率高、并发度低; (2)好处
阅读全文
摘要:1、OLTP的概述:On-Line Transaction Processing 联机事务处理过程(OLTP),也称为面向交易的处理过程。 2、OLAP的概述:联机分析处理OLAP是一种软件技术,它使分析人员能够迅速、一致、交互地从各个方面观察信息,以达到深入理解数据的目的。 1、基本含义不同:OL
阅读全文
摘要:Oracle与MySQL的区别以及优缺点MySQL的特点 1、性能卓越,服务稳定,很少出现异常宕机; 2、开放源代码无版本制约,自主性及使用成本低; 3、历史悠久,社区和用户非常活跃,遇到问题及时寻求帮助; 4、软件体积小,安装使用简单且易于维护,维护成本低;品牌口碑效应; 5、支持多种OS,提供多
阅读全文
摘要:--有如下一张表NBA,表中的内容是每年获得冠军的球队的名字。 --查询出在此期间连续获得冠军的有哪些,其连续的年份的起止时间是多少,结果如下: --使用的方法(自关联) SELECT C.TEAM,MIN(Y1) START_YEAR,MAX(Y2) END_YEAR FROM (SELECT A
阅读全文
摘要:1.order by col_list: 全局排序,默认为升序asc ,因此只有一个reducer,只有一个reduce task的结果, 比如文件名是000000_0,会导致当输入规模较大时,需要较长的计算时间。 如果指定了hive.mapred.mode=strict(默认值是nonstrict
阅读全文
摘要:--.自定义函数--语法: CREATE OR REPLACE FUNCTION FUN_函数名(参数1 数据类型,参数2 数据类型……) RETURN + 返回的数据类型 IS|AS BEGIN --逻辑体 --里面必须要有一个RETURN子句 END; --对比存储过程 CREATE OR RE
阅读全文
摘要:--存储过程--存储过程指的是将一个过程(查询过程,更新过程...)存储到数据库中,方便我们随时调用。--语法: CREATE OR REPLACE PROCEDURE SP_存储过程名 IS/AS --需要声明的内容 BEGIN --逻辑体; END; --注意:--1.存储过程的命名:SP_存储
阅读全文
摘要:.递归查询:对于表里面的数据是以树状结构存储的数据,可以利用这种查询来直接获取每一个节点上的数据。--什么是树状结构的数据--例:比如SMITH和他的领导们SMITH→FORD→JONES→KING--这种结构就叫做树状结构的数据。 --语法: SELECT 字段名 FROM 表名 --WHERE
阅读全文
摘要:--列转行(数据对称型) --需求:将test的数据转换为如下所示: drop table test; CREATE TABLE TEST ( YEARS NUMBER, Q NUMBER, AMT NUMBER ); INSERT INTO TEST(YEARS,Q,AMT) VALUES(202
阅读全文
摘要:构建企业级数据仓库五步法: 一、 确定主题即确定数据分析或前端展现的主题(例:某年某月某地区的啤酒销售情况)。主题要体现出某一方面的各分析角度(维度)和统计数值型数据(量度)之间的关系,确定主题时要综合考虑. 二、 确定量度确定主题后,需要考虑分析的技术指标(例:年销售额等等)。它们一般为数据值型数
阅读全文
摘要:一个引擎:spark --目前我们使用的查询引擎是hivesql,其实是MapReduce,也就是那个java程序。--这个引擎效率不高,所以考虑使用高效的查询引擎处理数据。 --spark就是一个基于内存计算的高效的查询引擎,可以用它查询hive中的表--我们使用spark-sql spark-s
阅读全文
摘要:•If函数: if if函数: 语法: if(boolean testCondition, T valueTrue, T valueFalseOrNull)返回值: T说明: 当条件testCondition为TRUE时,返回valueTrue;否则返回valueFalseOrNull举例:hive
阅读全文
摘要:大数据数仓分层 create database ods; 来源数据层 create database dwd; 明细事实层 create database dim; 维度层 create database dws; 汇总层 create database ads; 应用层 传统数仓分层 create
阅读全文
摘要:Azkaban是一个开源的任务调度系统,用于负责任务的调度运行(如数据仓库调度),用以替代linux中的crontab。Azkaban是一个分布式工作流管理器,以解决Hadoop作业依赖性问题。我们有需要按顺序运行的工作,从ETL工作到数据分析产品。 1.azkaban启动,在xshell中开启两个
阅读全文
摘要:hive数据倾斜产⽣的原因数据倾斜的原因很⼤部分是join倾斜和聚合倾斜两⼤类⼀、Hive倾斜之group by聚合倾斜原因: 分组的维度过少,每个维度的值过多,导致处理某值的reduce耗时很久; 对⼀些类型统计的时候某种类型的数据量特别多,其他的数据类型特别少。当按照类型进⾏group by的时
阅读全文
摘要:大数据ETL工具之sqoop Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。 1、显示连接的所有库名 sq
阅读全文
摘要:分区表: create table fzname_p ( id int, name string, age int, tel string ) PARTITIONED BY (month string) 指定分区 ROW FORMAT DELIMITED FIELDS TERMINATED BY '
阅读全文
摘要:shell中的比较符号如下: -eq 等于 equal-ne 不等于 no equal -gt 大于 -lt 小于ge 大于等于le 小于等于 #!/bin/bash ################################# ##创建人: ##创建时间: ##修改人: ##修改时间: ##
阅读全文
摘要:1、进⼊hive数据库:hive2、查看hive中的所有数据库:show databases;3、⽤default数据库:use default;4、查看所有的表:show tables;5、查询表结构:desc mytest(表名);6、查询表数据: select * from mytest(表名
阅读全文
摘要:一、hive的基础建表语句 CREATE [external] TABLE [IF NOT EXISTS] table_name (--[external]建外部表,[IF NOT EXISTS]如果存在就不重新建表 id string, sfsb string )COMMENT 'emp' --这
阅读全文
摘要:1、什么是Hive? Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。叫做HSQL,或者HQL Hive利用HDFS,也就是分布式文件存储系统来存储数据,利用MapReduce查询数据,简称MR,java程序, 书写的sql语句会转化成
阅读全文
摘要:hadoop fs -help --查看帮助 hadoop fs -put /mydir/dept.txt hdfs://hadoop-master:9000/mytable/test/ 把数据文件上传到hadoop hadoop fs -mkdir hdfs://hadoop-master:900
阅读全文
摘要:一、什么是hadoop Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统( Distributed File System),其中一个组件是HDFS(H
阅读全文
摘要:1、ls 命令 cd /root ls #显示当前目录下所有的非隐藏文件 ls -a #显示当前目录下所有文件,包含隐藏文件 ls -l #显示当前目录下所有的非隐藏文件的详情 ls -al #显示当前目录下所有文件,包含隐藏文件 的详情 ls -lh #以列表形式显示当前目录下所有的非隐藏文件的大
阅读全文
摘要:1.什么是高水位?(high water mark 简称:HWM) 所有的Oracle段(segments,在此,为了理解方便,建议把segment作为表的一个同义词)都有一个在段内存放数据的上线,那么我们把这个上线成为“high water mark”或HWM.HWM是一个标记,用来说明已经有多少
阅读全文
摘要:--一个程序包由两部分组成:包定义和包体。 其中包定义部分声明包内数据类型、变量、常量、游标、子程序和函数等元素,这些元素为包的共有元素。--包主体则定义了包定义部分的具体实现。 向包里放入程序 创建一个包,包定义/包头 --包分为包头和包体。一层一个包。 --包的命名:PKG_包名--创建包头--
阅读全文
摘要:建表的时候指定表空间 表空间 1个或者多个文件 ==》 往表中插入数据,实际是插入 建表时指定的表空间对应的文件当中。 1. 创建自己的表空间 create tablespace myspace datafile 'C:\app\EDY\oradata\orcl\myspace.dbf' size
阅读全文
摘要:分区 把一个表的数据按照字段的值,保存在多个区域,查询时,仅仅查询某一个或者多个区域,避免全表扫描。 --建表的时候,需要指定分区字段 以及 预制的分区。先要划好分区,才能插入数据。 列表分区 1.不连续的,零散的字段的值,作为分区,常采用list列表类型 CREATE TABLE MYEMP2 (
阅读全文
摘要:--索引的定义,使用场景,常见的用法 索引是 对表中的数据进行排序之后,把数据以及所在的位置的行rowid都记录下来,记录到一个表当中(索引表)。当我们对数据进行查询的时候,首先 会差索引表,从索引表中查到rowid,直接访问rowid对应的行。 在index表新建索引 索引格式 create in
阅读全文
摘要:优化的方式: 一、SQL语句的优化 1、表尽量使用别名,字段尽量使用别名.字段名,这样子,可以减少oracle数据库解析字段名。而且把不需要的字段名剔除掉,只保留有用的字段名,不要一直使用 select *。 2、关联查询时,选择好主表。oracle解析器对from 后面的表的解析是从右到左的,所以
阅读全文
摘要:--视图 一段复杂的SQL,取一个别名作为表名,可以直接从这个表名中查询数据,当发生查询时,实际是 执行这段SQL并返回结果。 视图和表的区别在于: 表是实际存储数据。视图:用到的时候再查询,不存储数据,不占空间。 --使用者必须先赋权,有创建视图的权限。 grant create view to
阅读全文
摘要:一、什么是触发器 触发器(trigger)是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。 触发器可以从 DBA_TRIGGERS ,
阅读全文
摘要:主键 主键是一种对表的约束,主键的特点是非空且唯一。--主键分为唯一主键和复合主键。--唯一主键:在一个列上创建的主键。--复合主键:在多个列上创建一个主键。--语法: ALTER TABLE 表名 ADD CONSTRAINT PK_约束名 PRIMARY KEY(列名 1[,列名 2...])
阅读全文
摘要:异常处理 异常处理,也叫作错误处理,通常是把异常记录在日志中 在存储过程中加上异常处理后,让异常原因记录在日志表中。 --注意:异常处理有自己的BEGIN..END..,意思就是异常处理的BEGIN..END..和存储过程的BEGIN..END..不共用。--语法: BEGIN 执行的语句 EXCE
阅读全文
摘要:日志 日志是一张表,在这张表里面记录了存储过程的运行记录。(每执行一次存储过程,都会在日志表里面留下记录) --第一步:在用户下创建一张日志表。 CREATE TABLE LOG_RECORD( LOG_ID NUMBER, --就是一个行号(序列号) SP_NAME VARCHAR2(100),
阅读全文
摘要:一、什么是拉链表 拉链表:维护历史状态,以及最新状态数据的一种表,拉链表根据拉链粒度的不同,实际上相当于快照,只不过做了优化,去除了一部分不变的记录,通过拉链表可以很方便的还原出拉链时点的客户记录。(也可以叫 缓慢变化维) 总的来说就是:对历史记录不做物理删除,而是用一个标识(起止时间 或者 有效标
阅读全文
摘要:数据更新 数据更新分为两种:全量更新和增量更新。--全量更新:删除整张表的数据,然后再把最新的全部数据插入到表中。--适用范围:维度表(数据量少),数据量比较少的事实表或者宽表。--增量更新:不删除或者删除部分表中数据,只把最新产生的数据插入到表中,历史数据不动。--适用范围:数据量一定范围内增量比
阅读全文
摘要:-- 查询语法格式 SELECT --从数据库表中检索数据行和列 FROM --数据来自哪些表 WHERE -- 哪些条件 AND -- 和 其他条件 OR -- 或 其他条件 GROUP BY -- 按条件分组 HAVING -- 分组后按条件过滤 ORDER BY -- 按条件排序 ASC --
阅读全文
摘要:CREATE 创建 OR 或 REPLACE 替换 ,更新 PROCEDURE 存储过程 FUNCTION 函数 IS / AS 是... / 像... BEGIN 开始 END 结尾 CURSOR 游标 OPEN 打开 CLOSE 关闭 FETCH 赋值 EXIT 退出 EXISTS 类似 IN
阅读全文
摘要:一、SQL常用关键字 -- ORACLE SQL常用 关键字(特殊的命令,写SQL的时候这些命令会变色 或者 是一些特定的用法) -- SQL执行顺序的几个关键字 SELECT 查询想要的字段 结果 FROM 从哪个表查 WHERE 按... 条件过来 GROUP BY 按... 条件分组 HAVI
阅读全文
摘要:--数据语言 --数据定义语言(DDL),包括CREATE(创建)命令、ALTER(修改)命令、DROP(删除)命令、TRUNCATE(删除数据)命令等。 --数据操纵语言(DML),包括INSERT(插入)命令、UPDATE(更新)命令、DELETE(删除)命令等。 --数据查询语言(DQL),包
阅读全文
摘要:5、表分区(创建分区表) 1、范围分区 【例】按入职日期进行范围分区 CREATE TABLE 表名 (列名 数据类型 [,列名 数据类型]...) PARTITION BY RANGE (HIREDATE) ( PARTITION part1 VALUES LESS THAN (TO_DATE('
阅读全文
摘要:4、用户 --语法结构:创建用户 CREATE USER 用户名 IDENTIFIED BY password [ACCOUNT LOCK|UNLOCK]; --语法结构:给用户授权 GRANT CONNECT,RESOURCE TO 用户名; 直接将connect角色,resource角色授予用户
阅读全文
摘要:3、对数据的操作(数据操纵语言(DML)):在执行完后,需要做提交的操作(commit) --语法结构:数据插入 INSERT INTO 表名(列名1,列名2……) VALUES (值1,值2……) --列名可以省略。当省略列名时,默认是表中的所有列名,列名顺序为表定义中列的先后顺序。 --值的数量
阅读全文
摘要:2、表的约束:约束不能修改,只能删除重建 按照约束用途分类: 1.PRIMARY KEY:主键约束:额外约定(必须遵守):一张表只有一个主键,也可以没有主键 2.FOREIGN KEY:外键约束 3.CHECK:检查约束 4.UNIQUE:唯一约束 5.NOT NULL:非空约束 --语法格式:AL
阅读全文
摘要:1、对表的操作 --语法结构:创建表 CREATE TABLE 表名1 (列名 数据类型 [,列名 数据类型]...); --语法结构:复制表结构 CREATE TABLE 表名1 AS SELECT * FROM 表名2 WHERE 1=2; --语法结构:复制表结构+表里的信息(根据结果集来创建
阅读全文