首页 > 其他分享 >Hive-分桶

Hive-分桶

时间:2024-08-13 17:26:18浏览次数:7  
标签:comment 分桶 int into Hive table 源表

1. 源表建立

Create external table 源表(
字段 类型,
字段 类型,
id int comment '分桶字段'
)row format delimited 
Fields terminated by ','
Location '上传的表存放的路径';

2. 创建分桶表

Create external table 源表(
字段 类型,
字段 类型,
id int comment '分桶字段'
)
clustered by (分桶列名id) sorted by (列1 , 列2) into n(桶数) buckets
row format delimited 
Fields terminated by ','
Location '上传的表存放的路径';

加载数据:

load data local inpath 'linux文件地址' into table 分桶表名;

load data inpath 'HDFS文件地址' into table 分桶表名;

insert  into 分桶表名 select ... from 源表 where 条件;

3. 分桶表的多表关联

select * from bucket_1 b1 join bucket_2 b2 on b1.分桶字段=b2.分桶字段

两张分桶表关联,其各自分桶的列必须是可作连接条件的列;

分桶的个数之间相除为整数:N1/N2=整数;

4. 分桶分区表

4.1 创建分桶分区源表

Create external table 源表(
字段 类型,
字段 类型,
列1 int comment '分桶字段1',
列2 int comment '分桶字段2',
dt date comment '分区字段'
)row format delimited 
Fields terminated by ','
Location '上传的表存放的路径';

4.2 创建分桶分区表

Create external table 源表(
字段 类型,
字段 类型,
列1 int comment '分桶字段1',
列2 int comment '分桶字段2'
)
partition by (dt date)
clustered by (分桶列名id) sorted by (列1 , 列2) into n(桶数) buckets
row format delimited 
Fields terminated by ','
Location '上传的表存放的路径';

4.3 加载数据

insert into 分桶分区表 partition (dt分区字段)
select  分桶分区表所需字段(...列1,列2)+分区字段(dt)  
from  源表;

标签:comment,分桶,int,into,Hive,table,源表
From: https://blog.csdn.net/weixin_65642229/article/details/140911876

相关文章

  • 计算机毕业设计Hadoop+Hive居民用电量分析 居民用电量可视化 电量爬虫 机器学习 深度
    《Hadoop居民用电量分析》开题报告一、研究背景与意义能源问题在全球范围内一直是热点议题,尤其是随着居民生活水平的提高和城市化进程的加快,居民用电量急剧增长,对电力系统的稳定运行和能源管理提出了更高要求。如何科学合理地管理和分析居民用电量数据,成为提升能源利用效率、......
  • Apache Hive详解
    文章目录一、ApacheHive概述二、ApacheHive架构、组件1.Hive架构图2.Hive组件(1)用户接口(2)元数据存储(3)Driver驱动程序(4)执行引擎(5)启动命令三、ApacheHive元数据1.元数据2.HiveMetadata3.HiveMetastore四、HiveSQL语言1.HiveSQL之数据库与建库(1)createdatabase(2)use......
  • 查询分析框架:Hive
    ApacheHive是一个数据仓库软件项目,用于对存储在分布式存储系统(如Hadoop)中的大数据进行查询和管理。它定义了一种类似于SQL的查询语言,称为HiveQL,使得用户可以方便地进行数据查询、数据摘要和分析。以下是Hive的一些关键特性:1.**SQL兼容**:HiveQL提供了类似于SQL......
  • 如何用sql在1分钟从1T数据中精准定位查询?Hive离线数仓 Spark分析
    最近在一个群里,从群友哪里了解到这样一个业务需求:如何在hdfs  1T源数据库中,1分钟内从其中抓取自己想要的数据?我的理解是:在hdfs数据库中为拥有 尽1T数据的表创建索引,并对其进行性能优化,以实现1分钟精准查询数据的目的  想要实现其实有点繁杂,可以使用多种工具和技......
  • 离线数仓之Hive的基础操作
    Hive简介hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行。Hive的优点是......
  • hive06_SQL优化
    HiveSQL原理joinjoin分为MapJoin、ReduceJoin两种,其中MapJoin思想是将小表存内存,然后大表分片,与小表完成连接操作。MapJoinMap阶段分为两个操作:将小表数据读入内存,生成分片文件后存储到分布式存储系统中;每个Mapper从分布式存储系统中读取文件分片到内存,然后顺......
  • hive05_窗口函数
    窗口函数窗口函数可以更加灵活地对一定范围内的数据进行操作和分析,它能够为每行数据划分一个窗口,然后对窗口范围内的数据进行计算,最后将计算结果返回给该行数据;举个例子,区别于GroupBy,GroupBy对分组范围内的数据进行聚合统计,得到当前分组的一条结果;窗口函数对每一条数据处理,......
  • hive04_DQL操作
    注意点全局排序OrderBySELECT<select_expression>,<select_expression>,...FROM<table_name>ORDERBY<col_name>[ASC|DESC][,col_name[ASC|DESC],...]Hive中使用全局排序时,会将所有数据交给一个Reduce任务进行计算,实现查询结果的全局排序。所以数据量......
  • HIVE合并小文件
          8.分区分桶,合并小文件         为什么小文件需要合并?            1.小文件过多,MR处理数据时,会产生多个MapTask,然而每个MapTask处理的数据量很少,            那么导致MapTask启动时间大于执行时间,整体任务时间消......
  • Hive SQL必刷练习题:同时在线人数问题(*****)
    https://blog.csdn.net/Mikkkee/article/details/136776193  --DropDROPTABLEIFEXISTStest_live_events;--DDLCREATETABLEIFNOTEXISTStest_live_events(user_idINTCOMMENT'用户id',live_idINTCOMMENT'直播id'......