随笔分类 -  hive

数据的列式与行式存储以及大数据的存储格式
摘要:一、数据的列式与行式存储 1、列式存储是相对于传统关系型数据库的行式存储来说的。两者的区别就是如何组织表;从下图可知,行式存储是将数据的一条记录(多列组成)存储起来的,但是列式存储是将数据的一条记录的各列分开进行存储。 2、区别 (1)数据写入区别 1)行存储的写入是一次完成。可以保证写入过程的成功 阅读全文

posted @ 2020-09-23 15:04 hdc520 阅读(1851) 评论(0) 推荐(0) 编辑

数据仓库
摘要:一、数据仓库与数据库的 (1)数据库:存放定制数据,表是二维,一张表有多个字段。利用二维表表现多维关系。数据库是根据业务需求应用进行设计。 (2)数据仓库:是数据库概念上的升级,比数据库可以容纳更多的数据。逻辑上数据库与数据仓库无太大差别。 数据仓库是依照分析需求、分析维度、分析指标进行设计的。 二 阅读全文

posted @ 2020-08-08 18:01 hdc520 阅读(231) 评论(0) 推荐(0) 编辑

hive常考SQL题
摘要:sql执行顺序:from -> on -> join -> where -> group by -> 聚集函数 -> having -> having -> select ->distinct -> union -> order by -> limit (1)分组求最大值 1、单表分组最大 //在每 阅读全文

posted @ 2020-05-16 14:29 hdc520 阅读(1728) 评论(0) 推荐(0) 编辑

Hive以及spark的Join过程
摘要:Join大致包括三个要素:Join方式、Join条件以及过滤条件。其中过滤条件也可以通过AND语句放在Join条件中。 二、Hive/MR中的Join可分为Common Join(Reduce阶段完成join)和Map Join(Map阶段完成join)。介绍两种join的原理和机制。 (1)Com 阅读全文

posted @ 2020-04-28 10:41 hdc520 阅读(1779) 评论(0) 推荐(0) 编辑

Hive的面试整理
摘要:1、hive的作用: hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 相对于mapreduce 离线计算需要写很多java代码去实现数据提取,hive可以通过类SQL语句快速实 阅读全文

posted @ 2020-03-28 17:45 hdc520 阅读(718) 评论(0) 推荐(0) 编辑

hive group by distinct区别以及性能比较
摘要:Hive去重统计 相信使用Hive的人平时会经常用到去重统计之类的吧,但是好像平时很少关注这个去重的性能问题,但是当一个表的数据量非常大的时候,会发现一个简单的count(distinct order_no)这种语句跑的特别慢,和直接运行count(order_no)的时间差了很多,于是研究了一下。 阅读全文

posted @ 2019-11-05 11:47 hdc520 阅读(1390) 评论(1) 推荐(0) 编辑

hive之wordcount
摘要:1.创建一张表,记录文件数据,使用换行符作为分隔符 create table file_data(content string) row format delimited fields terminated by '/n' 2.将准备的数据(/home/hadoop/wordcount.tx)添加到 阅读全文

posted @ 2019-08-27 09:39 hdc520 阅读(182) 评论(0) 推荐(0) 编辑

hive之调优
摘要:1、简单的查询,就是只是select,不带count,sum,group by这样的,都不走map/reduce,直接读取hdfs文件进行filter过滤,即尽量让fetch task(当开启一个Fetch Task功能,就执行一个简单的查询语句不会生成MapRreduce作业,而是直接使用Fetc 阅读全文

posted @ 2019-07-11 16:51 hdc520 阅读(210) 评论(0) 推荐(0) 编辑

hive之窗口函数
摘要:1、窗口函数种类: over():新建一个字段,指定分析函数工作的数据窗口大小,这个数据窗口大小可能会随着行的变而变化。 current row:当前行。 n preceding:往前n行。 n following:往后n行 unbounded:起点。 unbounded preceding:第一行 阅读全文

posted @ 2019-07-05 11:22 hdc520 阅读(441) 评论(0) 推荐(0) 编辑

hive中的列转行和行转列
摘要:1、列转行 1.1 相关函数的说明: concat(string1,string,...) //连接括号内字符串,数量不限。 concat_ws(separator,string1,string2,...) //连接括号内字符串,数量不限,连接符为separator。 collect_set(col 阅读全文

posted @ 2019-07-04 16:19 hdc520 阅读(11864) 评论(0) 推荐(0) 编辑

hive之视图和索引
摘要:一、视图 1、视图定义 视图其实是一个虚表,视图可以允许保存一个查询,并像对待表一样对这个查询进行操作,视图是一个逻辑结构,并不会存储数据。 2、视图的创建 通过创建视图来限制数据访问可以用来保护信息不被随意查询。 create table userinfo( id int,name string, 阅读全文

posted @ 2019-07-03 19:41 hdc520 阅读(1036) 评论(0) 推荐(0) 编辑

hive中Sort By,Order By,Cluster By,Distribute By,Group By的区别
摘要:order by: hive中的order by 和传统sql中的order by 一样,对数据做全局排序,加上排序,会新启动一个job进行排序,会把所有数据放到同一个reduce中进行处理,不管数据多少,不管文件多少,都启用一个reduce进行处理。如果指定了hive.mapred.mode=st 阅读全文

posted @ 2019-07-02 17:06 hdc520 阅读(5244) 评论(0) 推荐(2) 编辑

hive的数据定义之创建数据库和表
摘要:1、对数据库的操作 create database hive_db //创建数据库hive_db create table hive_db.test(字段内容及其格式省略) //在数据库hive_db中创建test表 create database student_db location '/use 阅读全文

posted @ 2019-06-26 22:08 hdc520 阅读(12946) 评论(0) 推荐(0) 编辑

hive基础知识or基本操作命令
摘要:MySQL的密码是:123456 1、hive创建标准表(以后均可以按照这样创建): create [external] table [if not exists] records (year STRING [comment "year备注消息"], temperature INT [comment 阅读全文

posted @ 2019-06-24 16:11 hdc520 阅读(2378) 评论(0) 推荐(0) 编辑

导航