Apache Hive--DDL--创建表--分桶表创建&分桶数据导入| 学习笔记

简介: 快速学习Apache Hive--DDL--创建表--分桶表创建&分桶数据导入

开发者学堂课程【大数据Hive教程精讲Apache Hive--DDL--创建表--分桶表创建&分桶数据导入】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/90/detail/1371


Apache Hive--DDL--创建表--分桶表创建&分桶数据导入


内容介绍:

一、分装桶

二、课堂笔记

一、分装桶

CREATE[EXTERNAL] TABLE [IF NOT EXISTS] table_name

[(col_name data_type [COMMENT col_comment], ..)]

[COMMENT table_comment]

[PARTITIONED BY (col_name data_type

[COMMENT col_comment],..)]

[CLUSTERED BY (col_name, cor_name,...)

[SORTED BY (col_name [ASC|DESC], ..)]INTO num_buckets BUCKETS]

[ROW FORMAT row_format]

[STORED AS file_format][LOCATION hdfs_path]

分桶表(cluster byinto num buckets)

#指定开启分桶

set hive.enforce.bucketing = true;

set mapreduce.job.reduces=4;

TRUNCATETABLEstu_buck;

drop table stu_buck;

create table stu_buck(Sno int,Sname string,Sex string,Sage int,sdept string

clustered by (sno)

sorted by (sno DESC)

into 4 buckets

row format delimited

fields terminated by ',';

 


二、课堂笔记

1hive 建立一张表跟已经存在的结构化的数据文件产生映射关系

映射成功之后,就可以通过写sql来分析这结构化的数据避免了写mr程序的麻烦

2、数据库---/user/hive/warehouse 下的一个文件夹对应

---》数据库文件夹下面的子文件夹/user/hive/warehouse/itcast

.db/t_t1

表的数据位置目前不能随便存放一定要在指定的数据库表的文件夹下面

建立表的时候可能还需要指定分隔符否则有可能映射不成功

3、建表的时候一定要根据结构化数据文件的分隔符类型指定分隔符

建表的字段个数和字段类型要跟结构化数据中的个数类型一致

分隔符一般使用内置的来指定 ROW FORMAT DELIMITED 分割字段﹐还是分割集合等等

4、分区表字段不能够在表中已经存在

分区字段是一个虚拟的字段不存放任何数据

分区字段的数据来自于装载分区表数据的时候指定的

分区表的字段﹐在hdfs上的效果就是在建立表的文件夹下面又创建了子文件

这样的目的把数据的划分更加细致减少了查询时候全表扫描的成本只需要按照指定的分区扫描数据并显示结果即可

5、分桶表创建之前需要开启分桶功能

分桶表(分簇表)创建的时候分桶字段必须是表中已经存储的字段也就是说你要按照表中那个字段进行分开

针对分桶表的数据导入: load data 方式不能够导成分桶表的数据没有分桶效果

原因在于 load 本质上相当于 hive 去帮我们执行 hadoop fs -put

zhangsanbeijing ,shanghai ,tianjin,hangzhouwangwushanghai ,chengdu , wuhan ,haerbin

create table complex_array (name string ,work_locations array<string>)

ROw FORMAT DBLIMITED FIELDS TERMINATED BY '\tCOLLECTION ITEMS TERMINATED BY ' ' ;

create table t_user(id intname string) partitioned by (country string) row format delimited fields terminat&

LOAD DAnA 1ocal INPATH '/root/hivedata/5.txtINWO ABLE

day _hour_table partition(dt=120170101',hour='08');

create table stu_buck(Sno int,Sname string,Sex string ,Sage int ,sdept string)

clustered by (sno)

into 4 buckets

row format delimited

fields terminated by ' , ';

LOAD DaTA local INPATH '/root/hivedata/students.txt' INTO TABEE stu_buck;

insert overwrite table stu buck

select * from student cluster by (sno) ; I

create table student(Sno int,Sname string ,Sex string,sage int ,sdept string)row format delimited

fields terminated by ', ';

LOAD DAPA local INPATH '/root/hivedata/students.txt INTO PABLE student;

4.png

相关文章
|
1月前
|
SQL 分布式计算 Hadoop
Apache Hive 帮助文档
Apache Hive 帮助文档
70 9
|
2月前
|
SQL 数据库 HIVE
hive数仓 ods层增量数据导入
根据业务需求,当表数据量超过10万条时采用增量数据导入,否则全量导入。增量导入基于`create_date`和`modify_date`字段进行,并确保时间字段已建立索引以提升查询效率。避免在索引字段上执行函数操作。创建增量表和全量表,并按日期进行分区。首次导入全量数据,后续每日新增或变更数据保存在增量表中,通过全量表与增量表的合并保持数据一致性。
105 13
|
3月前
|
SQL 存储 HIVE
hive分区与分桶
hive分区与分桶
51 1
|
6月前
|
SQL 数据可视化 Apache
阿里云数据库内核 Apache Doris 兼容 Presto、Trino、ClickHouse、Hive 等近十种 SQL 方言,助力业务平滑迁移
阿里云数据库 SelectDB 内核 Doris 的 SQL 方言转换工具, Doris SQL Convertor 致力于提供高效、稳定的 SQL 迁移解决方案,满足用户多样化的业务需求。兼容 Presto、Trino、ClickHouse、Hive 等近十种 SQL 方言,助力业务平滑迁移。
阿里云数据库内核 Apache Doris 兼容 Presto、Trino、ClickHouse、Hive 等近十种 SQL 方言,助力业务平滑迁移
|
6月前
|
消息中间件 存储 Apache
Apache Paimon 表模式最佳实践
Apache Paimon 表模式最佳实践
1884 57
|
6月前
|
存储 Apache 索引
一文彻底弄懂Apache Hudi不同表类型
一文彻底弄懂Apache Hudi不同表类型
154 1
|
6月前
|
SQL JSON 算法
hive学习笔记
hive学习笔记
|
6月前
|
SQL 分布式计算 Apache
Apache Hudi重磅RFC解读之存量表高效迁移机制
Apache Hudi重磅RFC解读之存量表高效迁移机制
64 0
|
6月前
|
SQL 分布式计算 Java
Apache Hudi与Hive集成手册
Apache Hudi与Hive集成手册
364 0
|
6月前
|
SQL 分布式计算 Hadoop
Hadoop学习笔记(HDP)-Part.15 安装HIVE
01 关于HDP 02 核心组件原理 03 资源规划 04 基础环境配置 05 Yum源配置 06 安装OracleJDK 07 安装MySQL 08 部署Ambari集群 09 安装OpenLDAP 10 创建集群 11 安装Kerberos 12 安装HDFS 13 安装Ranger 14 安装YARN+MR 15 安装HIVE 16 安装HBase 17 安装Spark2 18 安装Flink 19 安装Kafka 20 安装Flume
205 1
Hadoop学习笔记(HDP)-Part.15 安装HIVE

推荐镜像

更多
下一篇
无影云桌面