在动态分区中, 表中存在分区列的值。因此, 不需要手动传递分区列的值。
- 首先, 选择我们要在其中创建表的数据库。
hive>
use show;
文章图片
- 使用以下命令启用动态分区:-
hive>
set hive.exec.dynamic.partition=true;
hive>
set hive.exec.dynamic.partition.mode=nonstrict;
- 创建一个虚拟表来存储数据。
hive>
create table stud_demo(id int, name string, age int, institute string, course string) row format delimitedfields terminated by ', ';
文章图片
- 现在, 将数据加载到表中。
hive>
load data local inpath '/home/codegyani/hive/student_details' into table stud_demo;
文章图片
- 使用以下命令创建分区表:-
hive>
create table student_part (id int, name string, age int, institute string) partitioned by (course string)row format delimitedfields terminated by ', ';
文章图片
- 现在, 将虚拟表的数据插入分区表。
hive>
insert into student_partpartition(course)select id, name, age, institute, coursefrom stud_demo;
文章图片
文章图片
- 在下面的屏幕截图中, 我们可以看到表student_part分为两类。
文章图片
- 让我们使用以下命令检索表的全部数据:-
hive>
select * from student_part;
文章图片
- 现在, 尝试使用以下命令检索基于分区列的数据:-
hive>
select * from student_part where course= "java ";
文章图片
【Hive动态分区】在这种情况下, 我们不会检查整个数据。因此, 这种方法改善了查询响应时间。
- 我们还使用以下命令来检索另一个分区数据集的数据:-
hive>
select * from student_part where course= "hadoop";
文章图片
推荐阅读
- HDFS功能和目标
- MapReduce中的数据流
- Hive中的桶
- Apache Spark字数示例
- Apache Spark教程
- 专业人士必备的10款最佳流程图软件合集
- 专业人士的10款最佳组织结构图软件合集
- Mac最佳股票交易软件有哪些(哪个最适合你?)
- Android框架之高速开发框架xUtil