- 博客(25)
- 资源 (2)
- 收藏
- 关注

转载 最近在同程艺龙实习整理笔记《Hive那些事儿》系列书籍,共同学习成长。加油。虚心竹有低头叶,傲骨梅无仰面花。
最近在同程艺龙实习,对hive进行了学习,做了些整理的笔记。基本概念hivehive是基于hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库库表,并提供类SQL查询功能。基本组成用户接口:CLI,shell命令行;JDBC/ODBC是hive的java实现;webGUI是通过浏览器访问hive;元数据存储:通常是存储在关系数据库如mysql, derby中;hive...
2020-01-06 18:17:18
253
转载 2020-12-30 Elasticsearch查询速度为什么这么快?
这段时间在维护产品的搜索功能,每次在管理台看到 Elasticsearch 这么高效的查询效率我都很好奇他是如何做到的。这甚至比在我本地使用 MySQL 通过主键的查询速度还快。为此我搜索了相关资料:这类问题网上很多答案,大概意思呢如下:ES 是基于 Lucene 的全文检索引擎,它会对数据进行分词后保存索引,擅长管理大量的索引数据,相对于 MySQL 来说不擅长经常更新数据及关联查询。说的不是很透彻,没有解析相关的原理;不过既然反复提到了索引,那我们就从索引的角度来对比下两者的差异。MySQL
2020-12-30 20:32:15
207
原创 drop、truncate和delete的区别
drop、truncate和delete的区别(1)DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。TRUNCATE TABLE 则一次性地从表中删除所有的数据并不把单独的删除操作记录记入日志保存,删除行是不能恢复的。并且在删除的过程中不会激活与表有关的删除触发器。执行速度快。(2)表和索引所占空间。当表被TRUNCATE 后,这个表和索引所占用的空间会恢复到初始大小,DELETE操作不会减少表或索引所占用的空间。drop
2020-07-17 15:49:30
227
原创 Hive 配置参数大全
hive.ddl.output.format:hive的ddl语句的输出格式,默认是text,纯文本,还有json格式,这个是0.90以后才出的新配置;hive.exec.script.wrapper:hive调用脚本时的包装器,默认是null,如果设置为python的话,那么在做脚本调用操作时语句会变为python hive.exec.plan:hive执行计划的文件路径,默认是null,会在运行时自动设置,形如hdfs://xxxx/xxx/xx;hive.exec.scratchdir:hive用
2020-05-20 14:22:05
1102
1
转载 数据倾斜原理及解决方案
何为数据倾斜?在弄清什么是数据倾斜之前,我想让大家看看数据分布的概念:正常的数据分布理论上都是倾斜的,就是我们所说的20-80原理:80%的财富集中在20%的人手中, 80%的用户只使用20%的功能 , 20%的用户贡献了80%的访问量 , 不同的数据字段可能的数据倾斜一般有两种情况:一种是唯一值非常少,极少数值有非常多的记录值(唯一值少于几千)一种是唯一值比较多,这个字段的某些值有远远多...
2020-04-01 19:05:43
325
原创 HIve动态分区
分区是hive存放数据的一种方式。将列值作为目录来存放数据,就是一个分区。这样查询时使用分区列进行过滤,只需根据列值直接扫描对应目录下的数据,不扫描其他不关心的分区,快速定位,提高查询效率。Hive分区分为静态分区和动态分区两种,以下是Hive的静态分区。动态分区:分区的值是非确定的,由输入数据来确定。动态分区的相关属性:hive.exec.dynamic.partition=true...
2020-04-01 19:04:07
471
原创 Hive内部表和外部表的区别
区别创建内部表:内部表直接创建,不需要加关键字create table if not exits xm_testA(KEHUMC VARCHAR(50) COMMENT ‘客户名称’,KEHUZH VARCHAR(50) COMMENT ‘客户号’)COMMENT ‘客户信息表’1234外部表:外部表的创建需要加上external关键字修饰,可以通过location指定hi...
2020-04-01 18:58:51
289
转载 笔者现在在一家国内市值前30的互联网公司作为大数据工程师就职
笔者现在在一家国内市值前5的互联网公司作为大数据工程师就职。有一天一个要好的同事问我:“你一个写SQL的,怎么赚的比我们写Java的还多?” 我笑了笑,没有回答。确实在中国的互联网公司来说,Java开发绝对是最主流最重要的开发岗位,没有之一,而他的疑问,也是很多其他开发同学的疑问。RD内部天生就有一个鄙视链,写C的看不起写Java的,写Java的看不起写C#的,而写SQL的根本连进这个鄙视链的资格...
2020-03-01 15:56:10
329
转载 Hive那些事儿之十一-hive官方文档翻译
原文链接 :https://blog.youkuaiyun.com/qi49125/article/details/78007181概念Hive是什么Hive是一个基于Apache Hadoop的数据仓库。对于数据存储与处理,Hadoop提供了主要的扩展和容错能力。Hive设计的初衷是:对于大量的数据,使得数据汇总,查询和分析更加简单。它提供了SQL,允许用户更加简单地进行查询,汇总和数据分析。同时,...
2020-02-26 16:32:06
295
原创 Hive那些事儿之十-hive常用字符串函数
hive常用字符串函数语法: instr(string A,string B)返回值: int说明:返回字符串B在字符串A的位置,不存在返回0举例:select instr(‘abcd’,‘a’)1select instr(‘abcd’,‘t’)0语法: length(string A)返回值: int说明:返回字符串A的长度举例:hive> select leng...
2020-02-18 11:43:16
208
转载 Hive那些事儿之九-Hive实现数据抽样的三种方法
Hive那些事儿之九-Hive实现数据抽样的三种方法在大规模数据量的数据分析及建模任务中,往往针对全量数据进行挖掘分析时会十分耗时和占用集群资源,因此一般情况下只需要抽取一小部分数据进行分析及建模操作。Hive提供了数据取样(SAMPLING)的功能,能够根据一定的规则进行数据抽样,目前支持数据块抽样,分桶抽样和随机抽样,具体如下所示:数据块抽样(tablesample()函数)1) tab...
2020-02-18 11:05:15
166
原创 Hive那些事儿之八-大数据踩过的坑——Hive insert
大数据踩过的坑——Hive insert我在对Hive表数据清洗后,使用了如下SQL将结果集插入到新表中:insert into db_name.table_name_1 ( col_1,col2,col3)with temp_table_1 as ( select id,col_2 from db_name.table_name_2 where id = condat...
2020-02-17 14:17:22
1777
原创 Hive那些事儿之七-Hive行转列、列转行问题
介绍三种常用函数,空字段赋值,行转列,case when,一、NVL函数空字段赋值,语法:nvl(string1,replaceValue),当某值为空时调用,二、case when就相当于java中switch case,记得最后一定要加end,else就相当于java中的defalut举例:select dept_id,sum(case sex when ‘男’ then ...
2020-01-15 18:02:34
230
转载 Hive那些事儿之六-Hive常用日期函数整理
【hive 日期函数】Hive常用日期函数整理1、to_date:日期时间转日期函数select to_date(‘2015-04-02 13:34:12’);输出:2015-04-022、from_unixtime:转化unix时间戳到当前时区的时间格式select from_unixtime(1323308943,’yyyyMMdd’);输出:201112083、unix_tim...
2020-01-15 09:55:29
389
转载 Hive那些事儿之五-HiveQL DDL语法规则
Hive DDL ROW FORMATHiveQL DDL语法规则包括CREATE DATABASE/SCHEMA, TABLE, VIEW, FUNCTION, INDEX(创建 数据库/模式,表,视图,函数,索引)DROP DATABASE/SCHEMA, TABLE, VIEW, INDEX(删除 数据库/模式,表,视图,索引)TRUNCATE TABLE(清空 表)ALTER D...
2020-01-15 09:50:12
164
转载 Hive那些事儿之四-hive概念
概念Hive是什么Hive是一个基于Apache Hadoop的数据仓库。对于数据存储与处理,Hadoop提供了主要的扩展和容错能力。Hive设计的初衷是:对于大量的数据,使得数据汇总,查询和分析更加简单。它提供了SQL,允许用户更加简单地进行查询,汇总和数据分析。同时,Hive的SQL给予了用户多种方式来集成自己的功能,然后做定制化的查询,例如用户自定义函数(User Defined Fu...
2020-01-03 18:17:00
406
转载 Hive那些事儿之开篇-开发规范参考
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。笔者在平时开发过程中总结了些规范,供大家参考:Hive分为内部表和外部表,当删除...
2020-01-03 16:40:57
314
转载 Hive那些事儿之三-索引和索引实例分析
一、什么是索引数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。就像我们以前用的新华字典的目录一样,能帮助我们快速查询到某一个字。二、索引的分类分类角度 索引名称数据结构 B+树,Hash索引,R-Tree等存储层面 聚簇索引,非聚簇索引逻辑层面 主键索引,普通索引,复合索引,唯一索引,空间索引等三、索引实例分析(以InnoDB为例)3.1 In...
2020-01-03 16:16:49
471
转载 Hive那些事儿之二-hive常用字符串函数
hive常用字符串函数语法: instr(string A,string B) 返回值: int 说明:返回字符串B在字符串A的位置,不存在返回0举例: select instr(‘abcd’,‘a’)1select instr(‘abcd’,‘t’)0语法: length(string A) 返回值: int 说明...
2020-01-03 15:33:11
337
转载 Hive那些事儿之一-hive日期
该片文章为转载,整理了两篇博客,主要是方便我的查找,里面内容经过检验。1.unix_timestamp()返回当前时区的unix时间戳返回类型:biginthive (tmp)> select unix_timestamp() from hive_sum limit 1;14658750162.from_unixtime(bigint unixtime[,string forma...
2020-01-03 15:30:33
222
转载 使用between and查找时间范围时的日期边界问题
使用between and查找时间范围时的日期边界问题最近在一个项目的后台数据库查找中,需要根据表中的时间字段查找某一范围内的数据(7天、15天、30天),这时我想用between and(其实使用DateDiff函数就可以完成,详情请看另一片文章:SQL查询今天、昨天、7天内、30天),但我对于between and查找时间范围时的边界问题不是特别清楚,所以在网上查找了相关资料,在这儿做个简单...
2020-01-03 15:26:13
3051
转载 Oracle与MySQL的SQL语句区别
Table of Contents一、DML数据库数据表二、DDL数据类型基本语法函数https://blog.youkuaiyun.com/yang5726685/article/details/78245742https://www.jb51.net/article/110443.htm一、DML数据库序号 类别 Oracle MySQL 注释1 数...
2019-11-28 14:46:30
300
转载 Oracle实现自增的两种方式
面向对象1. 面向对象思想回想一下,这几天我们完成一个需求的步骤:首先是搞清楚我们要做然后在分析怎么做,最后我们再代码体现。一步一步去实现,而具体的每都需要我们去实现和操作。这些步骤相互调用和协作,完成我们的需求。在上面的每一个具体步骤中我们都是参与者,并且需要面对具体的每骤和过程,这就是面向过程最直接的体现。当需求单一,或者简单时,我们一步一步去操作没问题,并且效率也可随着需求的更改,功能的增多...
2019-11-28 14:24:21
1030
原创 java面向对象基础
面向对象面向对象思想回想一下,这几天当我完成一个需求的步骤:首先要搞清楚我在做什么,然后在分析怎么做,最后再去代码体现。一步一步去实现,而具体的每一步都需要我们去实现和操作。这些步骤相互调用和协作,完成我们的需求。在上面的每一个具体步骤中我们都是参与者,并且需要面对具体的每一个步骤和过程,这就是面向过程最直接的体现。当需求单一,或者简单时,我们一步一步去操作没问题,并且效率也挺高。...
2019-11-23 21:49:05
105
原创 Ocrale数据库基础
Oracle一.Oracle数据库基本概念一个Oracle服务器是一个数据库管理系统(RDBMS),由一个Oracle数据库和多个Oracle实例组成基于关系模式关系型数据库:mysql sqlservernoSqlOracle数据库:硬盘上实际存放数据的文件,这些文件组在一起,形成一个逻辑整体,即数据库Oracle实例:内存中的数据结构,用户通过实例读取数据库中的数据用户...
2019-11-23 21:35:14
1186
Oracle .doc
2019-11-23
寝室管理系统html
2018-06-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人