文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

SQL-Hive中常用的表格操作是什么

2024-04-02 19:55

关注

本篇内容主要讲解“SQL-Hive中常用的表格操作是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SQL-Hive中常用的表格操作是什么”吧!

01-最基础的建表语句

Hive建表的全部建表语法如下:

CREATE [EXTERNAL] TABLE [IF NOT EXISTS] 表名 (列名 data_type [COMMENT 列注释], ...) [COMMENT 表注释] [PARTITIONED BY (列名 data_type [COMMENT 列注释], ...)] [CLUSTERED BY (列名, 列名, ...)  [SORTED ,BY (列名 [ASC|DESC], ...)] INTO num_buckets BUCKETS] [ROW FORMAT row_format] [STORED AS file_format] [LOCATION hdfs_path]

所有[ ]中的内容都是可选项,即可有可无,下面我们分别详细介绍。

CREATE [EXTERNAL] TABLE [IF NOT EXISTS] 表名

(列名 data_type)

是建表语句必须有的,举个例子,我们要建立一个用户启动表:

CREATE TABLE t_od_use_cnt (       date_8 INT       ,platform string       ,app_version string       ,user_id BIGINT       ,use_cnt INT       ,is_active TINYINT       );

首先我们建一个库app,然后使用并在其中建表,执行效果如下:

hive> create database app; OK Time taken: 0.899 seconds hive> use app; OK Time taken: 0.03 seconds hive> create table t_od_use_cnt(     >       date_8 int     >       ,platform string     >       ,app_version string     >       ,user_id bigint     >       ,use_cnt int     >       ,is_active tinyint     >       ); OK Time taken: 0.389 seconds

备注:Hive中的关键字大小写是不区分的,所有关键字均可使用小写。

02-查看表结构

执行语句:

DESC 表名;

查询上一步新建表的字段及字段对应的数据类型,运行效果如下:

hive> desc t_od_use_cnt; OK date_8                int                                    platform              string                     app_version           string                               user_id               bigint                                use_cnt               int                                is_active             tinyint                                Time taken: 0.28 seconds, Fetched: 6 row(s)

03-删除表

删除表的语句和删除库的类似,只是把database换成了table,都是使用drop关键字进行删除操作,慎重操作:

DROP TABLE 表名;

04-建分区表

Hive中有分区表的概念,分区表改变了Hive对数据存储的组织方式。查询时如果我们限定了分区范围,Hive就可以直接去相应的目录下查询数据,而不需要扫描整个表,所以当数据量很大时可以显著提高查询性能。

建立分区表要使用关键字[PARTITIONED BY (col_name data_type[COMMENT col_comment], ...)]  ,注意分区的字段不可在普通字段中重复出现。分区表在工作中十分常见,一般来说公司所有的表都会以日期进行分区,以便提高查询效率。

我们还是以t_od_use_cnt为例,建表语句如下:

CREATE TABLE t_od_use_cnt (       platform string comment '平台 android,ios'       ,app_version string comment 'app版本'       ,user_id BIGINT comment '用户id'       ,use_cnt INT comment '当日使用次数'       ,is_active TINYINT comment '是否活跃'       ) partitioned BY (date_8 INT comment '日期');

05-查询既有建表语句

在公司中需要查询既有表的建表格式时使用以下语句即可:

show create table tablename;

查询上文已建表格效果如下:

hive> show create table t_od_use_cnt; OK CREATE TABLE `t_od_use_cnt`(   `platform` string COMMENT '平台 android,ios',    `app_version` string COMMENT 'app版本,',    `user_id` bigint COMMENT '用户id',    `use_cnt` int COMMENT '当日使用次数',    `is_active` tinyint COMMENT '是否活跃') PARTITIONED BY (    `date_8` int COMMENT '日期') ROW FORMAT DELIMITED    FIELDS TERMINATED BY ','  STORED AS INPUTFORMAT    'org.apache.hadoop.mapred.TextInputFormat'  OUTPUTFORMAT    'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION   'hdfs://hadoop:9000/usr/hive/warehouse/t_od_use_cnt' TBLPROPERTIES (   'transient_lastDdlTime'='1556161316')

到此,相信大家对“SQL-Hive中常用的表格操作是什么”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯