自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 问答 (1)
  • 收藏
  • 关注

原创 MySQL 转置结果集以利于跨行计算

备注:测试数据库版本为MySQL 8.0如需要scott用户下建表及录入数据语句,可参考:scott建表及录入数据sql脚本一.需求对来自多个行的数据进行计算。为便于计算,可以把这些行转置到列中,这样所有需要的值都包含于1行中。deptno 20 是总工资最高的部门,执行下列查询可以确认这一列:mysql> select deptno, sum(sal) as sal-> from emp-> group by deptno;±-------±-------

2021-01-29 10:22:02 645

原创 MySQL 抑制结果集中的重复值

备注:测试数据库版本为MySQL 8.0如需要scott用户下建表及录入数据语句,可参考:scott建表及录入数据sql脚本一.需求生成报表时如果两行的同一列包含相同值,希望这个值仅显示一次。例如,要从表emp中找出deptno和ename,按deptno给所有行分组,而且deptno仅显示一次。希望返回如下结果集:±-------±-------+| deptno | ename |±-------±-------+| 10 | CLARK || NULL | KIN

2021-01-28 09:30:36 550

原创 MySQL 将结果集方向转为一列

备注:测试数据库版本为MySQL 8.0如需要scott用户下建表及录入数据语句,可参考:scott建表及录入数据sql脚本一.需求把查询中返回的所有列转换为1列。例如,返回deptno 10中所有员工的ename、job和sal,而且要把这3个值放到一列中。为每个员工返回3行信息,而且在两个员工之间加一个空白行。希望返回的结果集如下:±----------+| emps |±----------+| CLARK || MANAGER || 2450

2021-01-27 13:29:02 1524

原创 大数据开发之Hive优化篇5-使用ORC文件格式优化Hive

备注:Hive 版本 2.1.1文章目录一.ORC文件格式概述二.测试ORC性能2.1 查看两个表存储空间的大小2.2 测试查询性能三.ORC相关参数参考如果使用Hive作为大数据仓库,强烈建议主要使用ORC文件格式作为表的存储格式一.ORC文件格式概述ORC (Optimized Row Columnar)文件格式为Hive数据提供了一种高效的存储方式。它的设计是为了克服其他Hive文件格式的限制。使用ORC文件可以提高Hive读写和处理数据时的性能。例如,与RCFile格式相比,ORC文件格

2021-01-25 09:58:51 2585

原创 大数据开发之Hive优化篇4-Hive的数据抽样-Sampling

备注:Hive 版本 2.1.1文章目录抽样概述一.随机抽样二.桶表抽样三.数据块抽样参考抽样概述当数据量特别大时,对全体数据进行处理存在困难时,抽样就显得尤其重要了。抽样可以从被抽取的数据中估计和推断出整体的特性,是科学实验、质量检验、社会调查普遍采用的一种经济有效的工作和研究方法。Hive中,数据抽样分为以下三种:随机抽样桶表抽样块抽样一.随机抽样Hive有个随机函数rand(),我们可以通过rand()函数对表进行抽样,然后用limit子句进行限制抽样数据的返回。其中rand

2021-01-22 09:21:31 1073

原创 大数据开发之Hive优化篇3-Hive的统计信息

备注:Hive 版本 2.1.1文章目录一.Hive统计信息概述1.1 表和分区的统计信息1.2 列的统计信息1.3 Top K 统计信息二.Hive 统计信息收集方法三.查看表和列的统计信息3.1 desc命令查看统计信息3.2 从元数据查看hive表统计信息参考一.Hive统计信息概述统计数据,比如表或分区的行数和特定列的直方图,在很多方面都很重要。统计数据的一个关键用例是查询优化。统计数据作为成本函数的输入,使优化器可以比较不同的方案并进行选择。统计数据有时可以满足用户查询的目的。用户可以通过

2021-01-21 14:22:09 1941 1

原创 大数据开发之Hive优化篇2-Hive的explain命令

备注:Hive 版本 2.1.1文章目录一.Hive explain命令概述二.Hive explain 案例参考:一.Hive explain命令概述Hive的explain命令用来看Hive sql的执行计划,通过分析执行计划来达到优化Hive sql的目的。语法:EXPLAIN [EXTENDED|CBO|AST|DEPENDENCY|AUTHORIZATION|LOCKS|VECTORIZATION|ANALYZE] queryHive查询被转换成一个阶段序列(它更像是一个有向非循环

2021-01-20 09:32:18 1380

原创 大数据开发之Hive优化篇1-Hive 优化概述

备注:Hive 版本 2.1.1文章目录一.Hive的实现原理二Hive优化2.1 选择合理的存储格式和压缩格式2.2 MR Job优化2.3 Join优化2.3.1 MapJoin 优化2.3.2 SMB Join 优化2.4 数据倾斜2.5 Hive的优化配置参数一.Hive的实现原理Hive的编译器将HQL转换成一组操作符(Operator)操作符是Hive的最小处理单元每个操作符代表一道HDFS操作或者MR Job 作业Hive的操作符Hive编译器Parser:将SQL转换

2021-01-19 09:41:28 798 4

原创 大数据开发之Hive篇20-Hive的高级特性

备注:Hive 版本 2.1.1文章目录一.Hive ACID and Transactions二.Hive on Tez三. Hive on Spark四.HCatalog参考这个blog介绍Hive的高级特性1) Hive ACID and Transactions2) Hive on Tez3) Hive on Spark4) HCatalog一.Hive ACID and TransactionsHive 0.14版本开始支持ACID历史版本:一次写入,多次分析查询的场景(H

2021-01-18 09:40:57 3407 10

原创 大数据开发之Hive篇19-Hive分区表详解

备注:Hive 版本 2.1.1文章目录一.Hive分区表概述二.静态分区2.1 单分区测试2.2 多分区测试三.动态分区3.1 动态分区测试3.2 动态分区和静态分区混合使用四.分区的其它操作4.1 恢复分区4.2 归档分区4.3 交换分区参考一.Hive分区表概述数据分区的概念以及存在很久了,通常使用分区来水平分散压力,将数据从物理上移到和使用最频繁的用户更近的地方,以及实现其目的。

2021-01-15 09:23:11 1975 3

原创 大数据开发之Hive篇18-Hive的回收站

备注:Hive 版本 2.1.1一.模拟误删表误删除了这张表hive> > drop table ods_fact_sale_orc;OK二.从回收站恢复表查看回收表[root@hp1 ~]# hadoop fs -ls /user/root/.Trash/Current/user/hive/warehouse/test.dbFound 2 itemsdrwxrwxrwt - root hive 0 2020-12-02 19:18 /use

2021-01-14 11:06:17 4063 7

原创 Oracle RMAN无法删除归档一例

备注:Oralce 11.2.0.4文章目录一.问题描述二.解决方案2.1 清理归档日志2.2 问题分析2.3 最终解决方案参考:一.问题描述因为空间不足导致无法归档,数据库hang住Thu Jan 14 03:24:49 2021ARC3: Error 19502 Closing archive log file '/oracle/ora11g/db/dbs/arch/1_74591_982339590.dbf'Thu Jan 14 03:24:52 2021ARC0: Error 19

2021-01-14 10:54:43 1095 3

原创 大数据开发之Hive面试题1-根据分隔符进行分组

备注:Hive 版本 2.1.1文章目录一.题目要求二.解决方案2.1 通过lag函数打标记2.2 省略lag函数直接通过标记sum汇总2.3 通过id与row_number()求差值一.题目要求题目要求如下图所示:二.解决方案测试数据:create table test_1 (id int,name string);insert into test_1 (id,name) values (1,'/'),(2,'A'),(3,'B'),(4,'C'),(5,'/'),(6,'D'),(7

2021-01-13 12:03:00 831 2

原创 大数据开发之Hive篇17-Hive锁机制

备注:Hive 版本 2.1.1文章目录一.Hive锁概述二.Hive 锁相关操作2.1 Hive的并发性2.2 查看表的锁2.3 解锁三.Hive 事务表锁机制四.Hive 锁测试参考:一.Hive锁概述Hive支持如下两种类型的锁:1.Shared (S)2.Exclusive (X)顾名思义,可以同时获取多个共享锁,而X锁阻塞所有其他锁。兼容性矩阵如下:对于某些操作,锁本质上是分层的——例如,对于某些分区操作,表也是锁定的(以确保在创建新分区时表不会被删除)。获取锁模式背后的理性

2021-01-13 09:28:14 4847 8

原创 大数据开发之Hive篇16-Hive的事务介绍

备注:Hive 版本 2.1.1文章目录一.Hive事务简介1.1 为什么要支持ACID1.2 hive事务的限制二.Hive 事务表测试2.1 修改配置文件2.2 重启hive服务2.3 验证acid参考一.Hive事务简介1.1 为什么要支持ACID事务的四个属性:1.原子性(Atomic)(Atomicity)事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。通常,与某个事务关联的操作具有共同的目标,并且是相互依赖的。如果系统只执行这些操作的一个子集,则可能会破坏事务

2021-01-11 09:49:30 1385 2

原创 大数据开发之Hive篇15-Hive之hpl/sql编程

备注:Hive 版本 2.1.1文章目录一. HPL/SQL概述二.HPL/SQL测试案例2.1 测试执行简单sql2.2 测试函数和循环2.3 测试include套用存储过程2.4 测试package2.4 测试游标2.5 测试游标2参考一. HPL/SQL概述Hive 2.0版本开始,已经有了Hive存储过程的解决方案(HPL/SQL –Procedural SQL on hadoop)。该解决方案不仅支持Hive,还支持在SparkSQL,其他NoSQL,甚至是RDBMS中使用类似于Oracl

2021-01-08 09:15:44 3358 10

原创 大数据开发之Hive篇14-Hive归档(Archiving)

备注:Hive 版本 2.1.1文章目录一.Hive归档简介二.Hive 归档操作参考一.Hive归档简介由于HDFS的设计,文件系统中的文件数量直接影响namenode中的内存消耗。虽然对于小型集群来说通常不是问题,但当有5000w -1亿个文件时,单个机器上的内存使用可能会达到可访问内存的极限。在这种情况下,尽可能少的文件是有利的。使用Hadoop Archives是减少分区中文件数量的一种方法。Hive内置了将现有分区中的文件转换为Hadoop Archive (HAR)的支持,这样一个曾经

2021-01-07 09:51:18 2153 5

原创 大数据开发之Hive篇13-Hive的索引

备注:Hive 版本 2.1.1文章目录一.Hive索引简介二.Hive 索引案例2.1 索引语法2.2 索引相关操作2.3 创建索引案例2.4 使用索引案例一.Hive索引简介Hive索引的目标是提高对表的某些列进行查询查找的速度。如果没有索引,则使用类似于“WHERE tab1.col1 = 10”这样的谓词进行查询’加载整个表或分区并处理所有行。但是如果col1存在索引,那么只需要加载和处理文件的一部分。索引所能提供的查询速度的提高是以创建索引和存储索引的磁盘空间的额外处理为代价的。Hiv

2021-01-06 09:20:00 2594 2

原创 大数据开发之Hive篇12-Hive正则表达式

备注:Hive 版本 2.1.1文章目录一.Hive 正则表达式概述1.1 字符集合:1.2 边界集合:1.3 重复次数集合:1.4 组合操作符:1.5 匹配操作符:1.6 转义操作符:二.Hive 正则表达式案例2.1 regexp2.2 regexp_replace2.2.1 截取字符串中汉字部分2.2.2 截取字符串中数字部分2.2.3 截取字符串中字母部分2.2.4 截取字符串中的大小写字母和数字2.3 regexp_extract参考:一.Hive 正则表达式概述Hive的正则表达式虽然没

2021-01-05 09:29:24 2452 3

原创 大数据开发之Hive篇11-Hive分析函数及窗口语句

备注:Hive 版本 2.1.1文章目录一.row_number、rank、dense_rank二.lag、lead三.first_value、last_value四.percent_rank、CUME_DIST五.ntile参考测试数据-- create tablecreate table dept( deptno int, dname varchar(14), loc varchar(13));insert into dept(deptno, dname, loc)

2021-01-04 13:41:08 860 1

空空如也

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

TA关注的人

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