- 博客(24)
- 收藏
- 关注
原创 数据仓库建模
oracle数据仓库的建模一.数据库的使用场景1、OLTP(在线联机事务处理)内容:前台接收的用户数据可以立即传送到计算中心进行处理,并在很短的时间内给出处理结果,是对用户操作快速响应的方式之一OLTP数据库主要考虑的是数据库的业务响应时间以及并发度。一个公司往往会使用并维护若干个数据库,这些数据库保存着公司的日常操作数据,比如商品购买、酒店预订、学生成绩录入等,票务交易系统是个典型的操作型系统核心:强调数据库内存效率,强调内存各指标命令率,强调并发操作。特点:减少冗余和提高精度;适合于数据的
2021-08-13 17:58:59 412
原创 hive的函数大全
1.Hive分析窗口函数(1)SUM,AVG,MIN,MAX,count()关键是理解ROWS BETWEEN含义,也叫做WINDOW子句:PRECEDING:往前FOLLOWING:往后CURRENT ROW:当前行UNBOUNDED:起点,UNBOUNDED PRECEDING 表示从前面的起点, UNBOUNDED FOLLOWING:表示到后面的终点over(order by salary range between 50 preceding and 150 following)每行
2021-08-13 14:14:01 268
原创 HIVE的基础知识
Hive是一个基于Hadoop的数据仓库平台。通过hive,我们可以方便地进行ETL的工作。hive定义了一个类似于SQL的查询语言:HQL,能 够将用户编写的QL转化为相应的Mapreduce程序基于Hadoop执行。1. Hive是什么Hive是基于hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类sql的查询功能。Hive处理的数据存储在hdfs文件。Hive分析数据底层是mapreduce。执行程序运行在yarn上。2.优缺点优点:(1)操作接口采用类sql语法
2021-08-13 11:24:27 285
原创 hive中常用的set设置
–设置引擎为spark:若内存允许,优先考虑使用sparkset hive.execution.engine=spark;–打开动态分区后,允许所有分区都是动态分区模式set hive.exec.dynamic.partition.mode = nonstrict;– 是否启动动态分区set hive.exec.dynamic.partition=true;–小文件合并参数–设置map端输出进行合并,默认为true–文件数目小,容易在文件存储端造成瓶颈,给HDFS带来压力,影响处理效率。对此
2021-08-13 10:53:18 3259
原创 MapReduce实现基本SQL操作的原理
一.MapReduce的执行过程。二.针对具体的hsql在mr中执行原理。1.Join的实现原理:select u.name, o.orderid from order o join useru on o.uid = u.uid;2.Group By的实现原理3.distinct的实现原理
2021-08-13 09:38:16 237
原创 hive常用的函数以及知识
1.Hive:insert into table 与 insert overwrite table 区别不清理以上已经插入的记录,直接执行insert overwirte,并查询分析结果两者的异同insert into 与 insert overwrite 都可以向hive表中插入数据,但是insert into直接追加到表中数据的尾部,而insert overwrite会重写数据,既先进行删除,再写入。如果存在分区的情况,insert overwrite会只重写当前分区数据。2.Hive实现自
2021-08-11 09:49:23 454
原创 UDF自定义函数的开发流程
准备好idea,安装jdk,以及系统配置2.maven的配置(1)系统配置,setting本地仓库以及代理的修改Path下(2)连接外网的代理设置:目前是为了在线下载jar包(3)idea上的配置配置maven配置jdk3.创建一个maven项目加载对应的jar包4.继承UDF类,使用evaluate5.开发验证后,打jar包6.然后jar布置到hive环境上,在自定义一个函数。如:hive>add JAR /root/hivedata/udf.ja.
2021-08-06 11:26:25 345
原创 有关udf自定义函数的开发流程
准备好idea,安装jdk,以及系统配置maven的配置:(1)系统配置,setting本地仓库以及代理的修改;Path下查看是否配置成功(2) 连接外网的代理设置:目前是为了在线下载jar包(3)idea上的配置配置maven配置jdk3. 创建一个maven项目:加载对应的jar包4.继承UDF类,使用evaluate5.开发验证后,打jar包6.然后jar布置到hive环境上,在自定义一个函数。如:hive>add JAR /root/hive.
2021-08-06 11:18:19 165
原创 oracle中实用的函数
1.窗口函数:over(1)lag()/lead() over()分析函数lag函数是按id倒序排序把上一行的age记录显示在当前行的列lag,为null显示null;lead函数是按id倒序排序把下一行的age记录显示在当前行的列lag,为null显示null(2)排序编号的使用row_number()/rank()/dense_rank() OVER(PARTITION BY… ORDER BY…)(3)聚合函数等的配合使用sum() ,first_value()、last_value()
2021-08-06 11:10:19 254
原创 oracle上针对表的操作性能优化
1.如何从大表中快速查询数据如何从几十亿的表中高效地查询几百条数据?(1)如果是Oracle数据库的话,首先我们可以将表改成分区表,配合建立分区索引,效率是非常的快的,如果将普通表改成分区表,用Oracle的在线重定义包 dbms_redefinition就可以实现;(2)如果这个表一般不插入数据的话,只供查询的话,我们还可以将表压缩,改成收缩表压缩后插入效率很低,不过查询效率很高;(3)如果是其他的数据库的话,如sybase的话,只能定义一些索引了,并且索引要放在不同的segment里面,防止查询
2021-08-06 10:33:17 342
原创 Hive on Spark以及spark的定义
一.Hive on Spark的定义Hive on Spark是由Cloudera发起,由Intel、MapR等公司共同参与的开源项目,其目的是把Spark作为Hive的一个计算引擎,将Hive的查询作为Spark的任务提交到Spark集群上进行计算。通过该项目,可以提高Hive查询的性能,同时为已经部署了Hive或者Spark的用户提供了更加灵活的选择,从而进一步提高Hive和Spark的普及率。二.把Spark作为新的计算引擎供给Hive使用。在Hive中, 一条SQL语句从用户提交到计算并返回结
2021-07-27 22:26:27 1256
原创 hive的知识
一. Hive是什么Hive是一个基于Hadoop的数据仓库平台。通过hive,我们可以方便地进行ETL的工作。hive定义了一个类似于SQL的查询语言:HQL,能 够将用户编写的QL转化为相应的Mapreduce程序基于Hadoop执行。Hive是基于hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类sql的查询功能。二.Hive的执行过程1.hive的核心是驱动引擎:Hive处理的数据存储在hdfs文件Hive分析数据底层是mapreduce执行程序运行在yarn
2021-07-16 16:39:30 310
原创 数据仓库的事实表、维度表和聚合表
事实表保存度量值的详细信息或者事实的表,表中是键值列加上度量列(数值或者号码之类的),最底层级别的明细,包含数据、汇总数据等。维度表维度的每个成员的特定名称(属性),包含事实记录的特性,如产品维度表中包含n中产品。聚合表(中间表)事实表的数据经过汇总、平均、极值等聚合技术所形成的表...
2021-06-07 11:26:07 944
原创 hive的知识以及Hql优化点
1.含义:Hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载(ETL),可以将结构化的数据文件hdfs映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行,实现快速MapReduce的统计。使MapReduce变得更加简单,而不必开发专门的MapReduce应用程序。适用于离线的批量数据计算。通过元数据来描述Hdfs上的结构化文本数据,通俗点来说,就是定义一张表来描述HDFS上的结构化文本,包括各列数据名称,数据类型是什么等,方便我
2021-05-27 17:24:42 535
原创 Oracle数据库中建库、表空间和用户
Oracle数据库-建库、建表空间,建用户:创建完数据库后,并不能立即在数据库中建表,必须先创建该数据库的用户,并且为该用户指定表空间。1.创建一个数据库,新建的数据库目录就在*\product\10.1.0\oradata\目录下2.在创建用户之前,先要创建表空间:格式: create tablespace 表间名 datafile ‘数据文件名’ size 表空间大小;如: SQL> create tablespace news_tablespace datafile ‘F:\orac
2021-02-25 11:18:02 412
原创 Oracle中bitand函数和hextoraw函数
Oracle中bitand函数和hextoraw函数Oracle中bitand函数和hextoraw函数,无bitor函数和bitxor函数。一. bitand函数定义和使用指定按位进行AND 运算的两个数值。如果nExpression1 和 nExpression2 为非整数型,那么它们在按位进行 AND 运算之前转换为整数。Oracle bitand( )函数返回值类型:数值型说明:BITAND( ) 将nExpression1 的每一位同 nExpression2 的相应位进行比较。
2020-12-10 14:52:39 761
原创 绑定变量的使用
绑定变量的使用:虽然变量绑定减少了硬编译次数,节省了cpu等资源,大多是情况下使用它可以显著的提高系统性能和系统的并发访问量,但是仍然有一些情况下不适合使用变量绑定:1、对于隔相当长一段时间才执行一次的sql语句,利用绑定变量的好处会被不能有效利用优化器而抵消;2、数据仓库的情况下;3、在对建有索引的字段,且字段(集)的集非常大时,利用绑定变量可能会导致查询计划错误,因而导致查询效率非常低。1.在游标中使用:2.在一般sql中使用:v_sql:='update emp set a=‘1’
2020-10-15 14:47:50 437
原创 触发器的认识
触发器的认识一、触发器简介触发器(trigger)是SQL server 提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。 触发器可以从 DBA_TRIGGERS ,USER_TRIGGERS 数据字典中查到。SQL3的触发器是一个能由系统自动执行对数据库修改的语句。触发器
2020-10-15 10:45:21 347
原创 数据库结构化设计理论(sa法)
结构化设计理论(结构化分析方法 SA法)1.结构化分析方法的基本思想是分解与抽象(1)分解:对于一个复杂的系统,为了将复杂性降低到可以掌握的程度,可以把大问题分解成若干小问题,然后分别解决.(2)抽象:分解可以分层进行,即先考虑问题的本质属性,暂时把细节忽略掉,以后再逐层增加细节,直至涉及到最详细的内容,这种用最本质的属性表示一个系统的方法就叫‘抽象’2.步骤:(1)建立业务的具体模型(2)抽象出业务的逻辑模型(3)建立目标系统的逻辑的模型(4)为了对目标系统做完整的描述,还需要考虑人机界面
2020-10-13 10:52:08 3874 1
原创 ORA-01563:表空间不足
ORA-01563:表空间不足表空间信息查询(多个文件,需分组求和)SELECT ddf.file_id 文件id,ddf.file_name 文件名,dt.tablespace_name 表空间名,dfs.block_id 块id,dt.contents 表空间类型,dt.extent_management 表空间管理模式,dt.segment_space_management 块空间管理模式,dt.allocation_type 分配类型, – “system 系统随机” or “un
2020-09-09 11:13:15 203
原创 触发器的认识
触发器的认识一、触发器简介触发器(trigger)是SQL server 提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。 触发器可以从 DBA_TRIGGERS ,USER_TRIGGERS 数据字典中查到。SQL3的触发器是一个能由系统自动执行对数据库修改的语句。触发器
2020-09-07 14:54:35 205
原创 Oracle一列的多行数据拼成一行显示
Oracle一列的多行数据拼成一行显示字符Oracle一列的多行数据拼成一行显示字符的方法一共有两种,如下:1.oracle提供的函数WMSYS.WM_CONCAT,格式WMSYS.WM_CONCAT(A)。默认’,‘隔开,可以使用replace修改。该函数是去重之后,才拼成一行的。如:SELECT replace(WMSYS.WM_CONCAT(a.PHONE),’,’,’;’) from PHONE a;2.oracle提供的函数ListAgg,语法格式:LISTAGG( [,]) WI
2020-06-17 16:23:14 3550
原创 ORACLE数据库的结构组成、特点和工作原理
ORACLE数据库的结构组成和工作原理一.体系结构组成数据库是一个数据的集合,不仅是指物理上的数据,也指物理、存储及进程对象的一个组合。Oracle是一个基于B/S模式的关系型数据库管理系统(RDBMS)。Oracle系统体系结构由三部分组成:逻辑结构、物理结构和实例。1.Oracle的逻辑结构Oracle的逻辑结构是一种层次结构。主要由:表空间、段、区和数据块等概念组成。逻辑结构是面向用户的,用户使用Oracle开发应用程序使用的就是逻辑结构。(1)数据块(Data Blocks)数据块是O
2020-05-27 09:45:10 2967 1
原创 oracle中常用的优化函数和方法,以及在一体机exadata上的优化
oracle中常用的优化函数和方法,以及在一体机exadata上的优化1.with as 被用到多次的 建议加上hint/+materialize/ --强制转换成临时表。inline是不转换成临时表,materialize是强制转换成临时表。若某个表被访问多次,而且每次访问的限制条件都是一样的,就可以使用WITH as 来提高性能。with as部分被调用一次则数据不会放入一个临时表,这时要不使用hint/+materialize/ ;被调用多次则会把数据存入临时表中,这时候就不需要使用hint.
2020-05-20 09:10:43 844
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人