当前位置:   article > 正文

hive_partiiton rename hive

partiiton rename hive

hive安装:https://www.yiibai.com/hive/hive_installation.html

hive:hive基于hadoop的一个数据仓库工具,可以将结构化的数据映射为一张数据库表

hive调用cli,driver开始对词性分析,语法分析,编译,优化以及查询计划的生成,生成的计划存储在hdfs中,并在随后的mapreduce调用

hive提供了一个动态分区功能,其可以基于查询参数的位置去推断分区的名称,从而建立分区**

Hive与传统数据库的异同

  • Hive是数仓工具,使用类似SQL的HQL来处理海量数据(写入和查询),速度有延迟,不适合处理小批量数据

  • 除了基本数据类型还支持复杂数据类型 ARRAY MAP STRUCT

  • ollect_set/collect_list:分组之后将分组内容聚合成数组

  • lateral view explode:explode函数 拆开复杂数据结构

  • CONCAT/CONCAT_WS: 字符串拼接

  • map的使用:str_to_map(), map_keys(wm) ,map_values(wm

ODS层(原始数据层)

  • 原始数据层,存放原始数据,直接加载原始日志、数据,数据保持原貌不做处理。

DWD层(明细数据层)

  • ODS层数据进行清洗(去除空值,脏数据,超过极限范围的数据

DWS层(服务数据层)

  • 以DWD层为基础,进行轻度汇总,一般聚集到以用户当日,设备当日,商家当日,商品当日等等的粒度。

ADS层(数据应用层)

  • 为各种统计报表提供数据

拉链表:数据会发生变化,但是大部分是不变的。

生效日期<=某个日期 且 生效结束日期>=某个日期,能够得到某个时间点的数据全量切片

拉链表意义:当日全部数据和数据库中每天变化的数据拼接在一起,形成一个新的临时拉链表,用这个临时的表覆盖旧的拉链表

1.创建表相关知识点

Hive 通过给用户提供的一系列交互接口,接收到用户的指令(SQL),使用自己的 Driver, 结合元数据(MetaStore),将这些指令翻译成 MapReduce,提交到 Hadoop 中执行,最后,将 执行返回的结果输出到用户交互接口。

row format delimited fields terminated by ',' -- 列分隔符 collection items terminated by '_' --MAP STRUCT 和 ARRAY 的分隔符(数据分割 符号) map keys terminated by ':' -- MAP 中的 key 与 value 的分隔符 lines terminated by '\n'; -- 行分隔符

1)CREATE TABLE 创建一个指定名字的表。如果相同名字的表已经存在,则抛出 异常;用户可以用 IF NOT EXISTS 选项来忽略这个异常。 (2)EXTERNAL 关键字可以让用户创建一个外部表,在建表的同时指定一个指向实际 数据的路径(LOCATION),Hive 创建内部表时,会将数据移动到数据仓库指向的路 径;若创建外部表,仅记录数据所在的路径,不对数据的位置做任何改变。在删除表的 时候,内部表的元数据和数据会被一起删除,而外部表只删除元数据,不删除数据。 (3)COMMENT:为表和列添加注释。 (4)PARTITIONED BY 创建分区表 (5)CLUSTERED BY 创建分桶表 (6)SORTED BY 不常用 (7)ROW FORMAT

2.修改内部表 student2 为外部表

alter table student2 set tblproperties('EXTERNAL'='TRUE');

3.分区表

分区表就是分目录

  • 创建表语法 partitioned by (month string)

  • 增加或者删除分区 alter table 表名 add(drop) partition(month='1234')

  • 展示分区 show partitions 表

  • 查看分区结构 desc formatted 表

分区表与数据产生关联的三种方式

  • 上传数据后修复

    • 修复命令 msck repair table 表

  • 上传数据后添加分区

    • alter table 表 add partition(month='')

  • 创建文件夹后加载数据到分区

重命名表

  • alter table_name reanme to new_table_name

增加修改删除表分区

  • 增加列

    • alter table 表 add columns('字段','类型')

    • alter table 表 change column 就字段 新字段 类型

    • alter table 表 replace columns()字段全部替换

  • 删除表 drop table 表

数据导入方式

  • 加载数据并覆盖已有数据 overwrite

    • load data local data inpath '路径' overwrite into table_name

  • 通过查询加载数据

    • 基本插入数据

      • insert (overwrite)into table 表 partition(month='') select * from 表 where month=''

    • 多模式插入数据

      • from student insert into table student partition(month='201708') select id,name wherer month insert into table student

    • 创建表加载数据

      • create table if not exists studet(id int,name string) row format delimited fields terminated by '\t' location ''

    • import 数据制定导入

      • import table 表 partiiton() from '路径'

数据导出

insert导出

  • insert overwrite local directory '' select * from student

hadoop 导到本地

  • dfs -get '远程目录' ' 本地目录'

hive 命令导出

  • bin/hive -e 'select * fro default.student;' 文件目录

export 导出到hdfs上

  • export table defult.student to 'hdfs文件目录'

清除表中数据

  • truncate table student 只能删除管理表 不能删除外部表

like 和rlike

  • %代表任意字符 _代表任意一个字符

  • rlike可以通过正则表达式指定匹配规则

排序

  • order by 代表全局排序

  • sort by 每个reducer内部进行排序

    • 1.设置reduce个数 set mapreduce.job.reduces=3;

  • 分区排序

    • distribute by 和 order by 一般一起使用

    • 分区字段和排序字段相同时使用cluster by

分桶表数据存储

  • 分区针对的是存储路径 分桶针对的是数据文件

  • 解决分桶数据问题

    • set hive.enforce.bucketing=true;

    • set mapreduce.job.reduces=-1

  • 分桶抽样查询

    • select * from stu tablesample(bucket 2 of 4 on id)

  • 空字段赋值

    • NVL(字段,replace_with)

  • 时间类

    • date_format 格式化时间

    • date_add 时间和天数相加

    • date_sub 时间和天数相减

    • date_diff 两个是时间相减

case when then

  • 行转列

    • concat_ws(separator,str1,str2)

  • 列传行

    • explode 将复杂的数组和map结构分成多行

    • lateral view 对拆分后的数据进行聚合

      • 示例 select * from 表 lateral view explode()

  • 窗口函数 : 和分组聚合函数类似,但是窗口函数是每一行都产生一个结果

    • over() 制定分析函数的数据窗口的大小,这个数据的窗口大小随着行的变化而变化

  • rank

    • rank() 排序相同时会重复,总数不会变 dense_rank

    • row_number 一般和窗口函数一块用

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/644321
推荐阅读
相关标签
  

闽ICP备14008679号