hive
CodeShelby
这个作者很懒,什么都没留下…
展开
-
hive-sql中透视表的实现
一所美国大学有来自亚洲、欧洲和美洲的学生,他们的地理信息存放在如下 student 表中。namecontinentJackAmericaPascalEuropeXiAsiaJaneAmerica需求:写一个查询语句实现对大洲(continent)列的 透视表 操作,使得每个学生按照姓名的字母顺序依次排列在对应的大洲下面。输出的标题应依次为美洲(America)、亚洲(Asia)和欧洲(Europe)。数据保证来自美洲的学生不少于来自亚洲或者欧洲的学生。原创 2020-10-13 19:50:33 · 1676 阅读 · 1 评论 -
hive-sql中平方和开根号函数
power(m,n)表示m的n次方POWER(2,3) 返回 2 的 3 次方,3的平方即power(3,2)SQUARE 返回给定表达式的平方。语法SQUARE ( float_expression )square(3)表示3的平方SQRT 返回给定表达式的平方根。语法SQRT ( float_expression )sqrt(9) 表示根号9...原创 2020-10-13 08:30:11 · 9154 阅读 · 0 评论 -
hive中用avg函数来求比例
题目:Table: Activity+--------------+---------+| Column Name | Type |+--------------+---------+| player_id | int || device_id | int || event_date | date || games_played | int |+--------------+---------+(player_id,event_dat原创 2020-10-11 13:59:29 · 4052 阅读 · 1 评论 -
hive中grouping sets的妙用
hive中grouping sets的用法假设有这样一张名为class的表:需求:查出每个地区,每个学校,每个班级各自的总人数;假设使用group by分别查出地区,学校,班级的总人数,代码如下:select region,null school,null class,count(*)total from classgroup by regionunionselect null region,school,null class,count(*) total from classgroup原创 2020-08-18 21:26:15 · 1302 阅读 · 0 评论 -
hive分区和分桶详解
1 、分区表分区表实际上就是对应一个HDFS文件系统上的独立的文件夹,该文件夹下是该分区所有的数据文件。Hive中的分区就是分目录,把一个大的数据集根据业务需要分割成小的数据集。在查询时通过WHERE子句中的表达式选择查询所需要的指定的分区,这样的查询效率会提高很多。1)分区表基本操作(1)引入分区表(需要根据日期对日志进行管理, 通过部门信息模拟)dept_20200401.logdept_20200402.logdept_20200403.log(2)创建分区表语法hive (defa原创 2020-08-14 17:01:38 · 820 阅读 · 0 评论 -
HIVE查询语法案例
查询语句语法:SELECT [ALL | DISTINCT] select_expr, select_expr, ... FROM table_reference [WHERE where_condition] [GROUP BY col_list] [HAVING col_list] [ORDER BY col_list] [CLUSTER BY col_list | [DISTRIBUTE BY col_list] [SORT BY col_list] ] [LI原创 2020-08-14 16:41:10 · 304 阅读 · 0 评论 -
HIVE中的DML操作
1、数据导入1)向表中装载数据(Load)(1)语法hive> load data [local] inpath '数据的path' [overwrite] into table student [partition (partcol1=val1,…)];(1)load data:表示加载数据(2)local:表示从linux本地加载数据到hive表;否则从HDFS加载数据到hive表(3)inpath:表示加载数据的路径(4)overwrite:表示覆盖表中已有数据(不管表中有几个文原创 2020-08-14 16:36:28 · 359 阅读 · 0 评论 -
HIVE中的DDL操作
1 、创建数据库CREATE DATABASE [IF NOT EXISTS] database_name[COMMENT database_comment][LOCATION hdfs_path][WITH DBPROPERTIES (property_name=property_value, ...)];1)创建一个数据库,数据库在HDFS上的默认存储路径是/user/hive/warehouse/*.db。hive (default)> create database db_hiv原创 2020-08-14 16:32:45 · 439 阅读 · 0 评论 -
hive企业调优方法
1、 Fetch抓取Fetch抓取是指,Hive中对某些情况的查询可以不必使用MapReduce计算。例如:SELECT * FROM emp;在这种情况下,Hive可以简单地读取emp对应的存储目录下的文件,然后输出查询结果到控制台。在hive-default.xml.template文件中hive.fetch.task.conversion默认是more,老版本hive默认是minimal,该属性修改为more以后,在全局查找、字段查找、limit查找等都不走mapreduce。<prope原创 2020-08-14 19:12:42 · 172 阅读 · 0 评论