• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >HBase > hive DDL-Table

hive DDL-Table

作者: 字体:[增加 减小] 来源:互联网 时间:2018-08-22

通过本文主要向大家介绍了Create/Drop/Truncate Table 等相关知识,希望本文的分享对您有所帮助

Create/Drop/Truncate Table

Create Table

CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS] [db_name.]table_name
    [(col_name data_type [COMMENT col_comment], ... [constraint_specification])]
    [COMMENT table_comment]
    [PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)]
        ON ((col_value, col_value, ...), (col_value, col_value, ...), ...)
    [LOCATION hdfs_path]  --外部表存储位置
    [TBLPROPERTIES (property_name=property_value, ...)]  --表属性
    [ROW FORMAT row_format] 

创建db.tb(– mysql不支持)

CREATE TABLE database_name.table_name(col_name data_type)

创建临时表 e.g.

CREATE TEMPORARY TABLE tmp_tb_01 (col_name string);

查看表结构

(字段名,类型)

desc table_name;

格式化查看Table_Type
内/外部表

desc formatted tb_name;

MANAGED_TABLE  管理表
EXTERNAL_TABLE   外部表

显示建表语句

show create table tb_name

删除表

drop table tb_name

清空表内容

truncate table tb_name;

创建集合类型表

CREATE TABLE tb_name(  
    name string,  
    array<data_type>,  
    map<primitive_type/data_type>,  
    strut<col_name:data_type,...>,  
    uniontype<data_type,data_type,...>  
    )

e.g.

CREATE TABLE tb_name(
    name string,
    likes ARRAY<string>,
    cards MAP<string,string>,
    address STRUCT<省份:sring,市:string>
    );

分隔符

row_format
  : DELIMITED [FIELDS TERMINATED BY char [ESCAPED BY char]]
        [COLLECTION ITEMS TERMINATED BY char]
        [MAP KEYS TERMINATED BY char]
        [LINES TERMINATED BY char]
        [NULL DEFINED AS char]   -- (Note: Available in Hive 0.13 and later)
  | SERDE serde_name [WITH SERDEPROPERTIES (property_name=property_value, property_name=property_value, ...)]

FIELDS:字段与字段之间的分隔符
COLLECTION:集合之间
MAP KEYS:MAP中key与value之间
LINES:行

e.g.
创建表时指定分隔符

CREATE TABLE tb_name(name string COMMENT 'the name',age COMMENT 'the age')
    ROW FORMAT
        DELIMITED FIELDS TERMINATED BY '\t'
        COLLECTION ITEMS TERMINATED BY ','
        MAP KEYS TERMINATED BY ':'

txt内容e.g.

张三 篮球,乒乓球 1001:中国银行,1002:工商银行 四川,成都

分隔符:
\n 换行  \r 回车  \t 跳格


复制字段到新表(不复制数据)

create table tb_2 like tb_1;

复制数据创建新表

create table tb_2 as select col_1,col_2 from tb_1;

修改表结构

修改列位置

tip:只适用于新建表,修改字段位置,数据位置不会改变
change
修改name和age位置e.g.

ALTER TABLE tb_name CHANGE name name string AFTER age;

增加列

ALTER TABLE tb_name ADD columns(col_new string);

插入

insert into table tb_1(name,age)
    select name,age from tb_2;

小知识点:
统计时计入为空的值

select count(1) from (select name from tb_user) bieming;
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2017-07-23hbase的调优
  • 2018-08-22hive DDL-Table
  • 2018-08-22hive DDL-Database
  • 2018-08-22hive 分区表
  • 2018-08-22hive DML-Load,insert into,
  • 2018-08-22hive 导入 导出
  • 2017-09-02《HBase权威指南》架构,region拆分
  • 2018-08-22hive 分桶

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • hive DML-Load,insert into,
    • hive 分桶
    • hbase的调优
    • hive 导入 导出
    • hive 分区表
    • hive DDL-Table
    • 《HBase权威指南》架构,region拆分
    • hive DDL-Database

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有