Hive基础04、Hive建表语句详解

目录

  • 1、HQL建表语句语法格式
  • 2、建表案例

1、HQL建表语句语法格式

语法格式(hql不区分大小写,[ ]中的属性是可选属性)

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,col_name,...)]
[SORTED BY(col_name [ASC|DESC],...)] INTO num_buckers BUCKETS]
[ROW FORMAT row_format]
[STORED AS file_format]
[LOCATION hdfs_path]

英文关键字解析:

1、CREATE TABLE 创建一个指定名字的表,如果库中已有相同名的表,则抛出异常;
用户可以使用 IF NOT EXISTS 选项来忽略此异常。

2、EXTERNAL 关键字可以让用户创建一个外部表(默认创建内部表)。外部表在建表的同时必须指定一个指向实际数据的路径(LOCATION),Hive在创建内部表时,会将数据移动到数据仓库指向的路径;若创建外部表,仅记录数据所在的路径,不对数据的位置做任何改变。在删除表的时候,内部表的元数据和数据会被一起删除,而外部表只删除元数据,不删除数据。

3、COMMENT 是给表字段或者表内容添加注释说明的。

4、PARTITIONED BY 给表做分区,决定了表是否为分区表。

5、CLUSTERED BY 对于每一个表(table)或者分区, Hive 可以进一步组织成桶,也就是说桶是更为细粒度的数据范围划分,Hive采用对列值哈希,然后除以桶的个数求余的方式决定该条记录存放在哪个桶当中。

6、ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘,’, 这里指定表存储中列的分隔符,默认是 \001,这里指定的是逗号分隔符,还可以指定其他列的分隔符。

7、STORED AS SEQUENCEFILE|TEXTFILE|RCFILE,如果文件数据是纯文本,可以使用 STORED AS TEXTFILE,如果数据需要压缩,使用 STORED AS SEQUENCEFILE。

8、LOCATION 定义 hive 表的数据在 hdfs 上的存储路径,一般管理表(内部表不不要自定义),但是如果定义的是外部表,则需要直接指定一个路径。

2、建表案例

PARTITIONED BY 给表做分区,决定了表是否为分区表。

ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘,’, 这里指定表存储中列的分隔符,默认是 \001,这里指定的是逗号分隔符,还可以指定其他列的分隔符。

这里用的是【\t】作为分隔符

create table users(
id int,
userName string,
sex string,
introduce string
)
row format delimited fields terminated by '\t'
stored as textfile;


使用【desc】可以查看建表情况:

desc users;


注:Hive表中的数据不能通过insert语句插入,而是load data语句进行加载,其中加载的数据来源主要包括:

1、本地文件系统加载数据

2、HDFS文件系统加载数据

删除语句

truncate table table_name;

Hive基础04、Hive建表语句详解相关推荐

  1. Hive建表语句详解--CREATE TABLE

    创建表的三种方法 Hive创建表的方式(默认路径/user/hive/warehouse,也可以location指定,主要针对external表) 1.使用create命令创建一个新表,带分区 CRE ...

  2. Hive的dwd层建表语句及加载数据

    数仓-DWD层 1)对用户行为数据解析. 2)对业务数据采用维度模型重新建模. 订单明细事实表(事务型事实表) 建表语句: DROP TABLE IF EXISTS dwd_order_detail; ...

  3. [转]sqlserver2008锁表语句详解

    本文转自:http://xue.uplook.cn/database/sqlserver/801760.html 锁定数据库的一个表 代码如下: SELECT * FROM table WITH (H ...

  4. 大数据单机学习环境搭建(5)Hive建表DDL详解

    专题:大数据单机学习环境搭建和使用 1. Hive建表简单示例 1.1.Hive建表语句 1.2.表详细信息 1.3.数据展示 2. Hive建表语法详解 3.拓展1:复杂数据分割 4.拓展2:事务表 ...

  5. mysql分片建表语句_Mysql元数据如何生成Hive建表语句注释脚本详解

    前言 本文主要给大家介绍了关于Mysql元数据生成Hive建表语句注释脚本的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 最近在将数据从Mysql 等其他关系型数据库 抽取 ...

  6. mysql hive 建表语句_Mysql元数据如何生成Hive建表语句注释脚本详解

    前言 本文主要给大家介绍了关于Mysql元数据生成Hive建表语句注释脚本的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 最近在将数据从Mysql 等其他关系型数据库 抽取 ...

  7. 使用java代码编写脚本,把oracle建表语句变成hive建表语句

    使用java代码编写脚本,把oracle建表语句变成hive建表语句 java代码 测试oracle.sql 生成hive创表语句 java代码 import java.io.File; import ...

  8. Oracle 建表语句的关键字详解

    目录 一.建表语句 二.关键字详解 1. ENABLE 和 DISABLE 2. 创建主键约束 3. USING INDEX 4. PCTFREE 5. PCTUSED 6. INITRANS 和 M ...

  9. hive建表的标准格式及其建表属性详解1

    Hive建表是学习使用hive的第一步,然后才能基于表对hive数据仓库进行操作.学习建表前,首先要知道hive表的构建属性 ,知道哪些属性是固定的,哪些属性是可以定制的等等. 一.标准hql建表语法 ...

  10. mysql2hive建表语句的转换

    (基于SQL实现异构数据源DDL转换) 准备一张维度表:dim_ddl_convert,建表语句如下: DROP TABLE IF EXISTS `dim_ddl_convert`; CREATE T ...

最新文章

  1. 恭喜,五年时间再造一家赴美上市公司
  2. pandas使用resample函数计算每个月的统计均值、使用matplotlib可视化特定年份的按月均值
  3. ORACLE 10g 数据库体系结构图
  4. 机器人学习--Hans Moravec在斯坦福博士论文1980年-Obstacle Avoidance and Navigation in the Real World by a Seeing Ro
  5. 为什么有的S4系统看不到Adapt UI按钮
  6. PCIE总线-PCI、PCIE关系及信号定义
  7. 0408~送给小伙伴的汉堡包
  8. react学习(10)----react数组定义 从0开始 直接加个0下标空
  9. mysql python 2.7.14_Python2.7.14新手学习
  10. 年终奖扣税方式1月1日起施行,程序员你还好吗?
  11. css绝对定位的参照物
  12. 北大数学系女神推荐的几个硬核IT公众号
  13. ocpc php,研发相关 · 百度 oCPC 开发者文档
  14. 7. R语言【独立性检验】:卡方独立性检验、Fisher精确检验 、Cochran-Mantel-Haenszel检验
  15. 城市空中交通和无人系统的空中交通管制评估
  16. learn more ,study less(一):整体性学习策略
  17. Android手机间语音通话使用webrtc消除回音
  18. PDF通用工具其他下载地址
  19. halcon 相机标定
  20. Win7下硬盘安装Linux双系统

热门文章

  1. java snmp walk,snmpwalk命令常用方法总结(转)
  2. 迅雷地址转换 php,PHP迅雷/快车/QQ旋风下载地址与普通URL链接互转
  3. w ndows模拟器,iPad 模拟器 模拟器(windows - iPadian)
  4. 恢复有道词典单词记录本的几种方法(非完美)
  5. 射频电路设计的常见问题及经验总结
  6. 用javascript实现win7系统扫雷游戏
  7. Ubuntu以及CentOS7修改ssh端口号详细步骤
  8. ESP8266使用教程之初识
  9. vs2018网站浏览时显示: HTTP 403.4 - 禁止访问: 需要使用 SSL 查看该资源”错误,但是网站没有配置为使用 SSL
  10. 视频教程-Docker 基础与实践(DevOps系列)-Linux