hive的建表语句如下:
CREATE [EXTERNAL] TABLE [IF NOT EXISTS] [db_name.]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_buckets BUCKETS] [SKEWED BY (col_name, col_name, ...) ON ([(col_value, col_value, ...), ...|col_value, col_value, ...]) [STORED AS DIRECTORIES] (Note: Only available starting with Hive 0.10.0)] [ [ROW FORMAT row_format] [STORED AS file_format] | STORED BY 'storage.handler.class.name' [WITH SERDEPROPERTIES (...)] (Note: Only available starting with Hive 0.6.0) ] [LOCATION hdfs_path] [TBLPROPERTIES (property_name=property_value, ...)] (Note: Only available starting with Hive 0.6.0) [AS select_statement] (Note: Only available starting with Hive 0.5.0, and not supported when creating external tables.)
如果对存在表cp那么其语句为:
CREATE [EXTERNAL] TABLE [IF NOT EXISTS] [db_name.]table_name LIKE existing_table_or_view_name [LOCATION hdfs_path]
此处的外部表和内部表的标示为是否在建表语句中是否有:EXTERNAL
区别如下:
1.内部表的数据存储在hive的hive.metastroe.warehouse.dir下,如果在创建database的时候指定了LOCATION 那么其内部表的数据会在此目录下;外部表仅仅记录数据位置,不对其位置走任何修改;
2.删除表时,如果是外部表那么只删元数据,不损坏其实际hdfs数据;而内部表会删除元数据和实际数据
3.数据源发生变化时外部表的数据也会变化;如果外部hdfs数据被删那么此表数据也就没了;
举例:
create EXTERNAL TABLE IF NOT EXISTS hive.dual( id STRING COMMENT 'id' ) STORED AS RCFile LOCATION 'hdfs:///hive/dual/';
基于外部数据:
create EXTERNAL TABLE IF NOT EXISTS hive.book( ISBN STRING COMMENT 'ISBN', title STRING COMMENT 'title', author STRING COMMENT 'Author', year STRING COMMENT 'Year-Of-Publication', publisher STRING COMMENT 'Publisher', img_s STRING COMMENT 'Image-URL-S', img_m STRING COMMENT 'Image-URL-M', img_l STRING COMMENT 'Image-URL-L' ) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\073' STORED AS TEXTFILE LOCATION 'hdfs:///hive/book/';
其他:
file_format:
: SEQUENCEFILE
| TEXTFILE
| RCFILE (Note: Only available starting with Hive 0.6.0)
| ORC (Note: Only available starting with Hive 0.11.0)
| INPUTFORMAT input_format_classname OUTPUTFORMAT output_format_classname
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: Only available starting with Hive
0.13
)
| SERDE serde_name [WITH SERDEPROPERTIES (property_name=property_value, property_name=property_value, ...)]
相关推荐
一:内部表和外部表的区别 创建表时使用关键字external创建的表就是外部表,没有使用该关键字创建的表就是内部表。 删除表时(drop table)内部表会删除hdfs对应路径,而外部表不会删除hdfs对应的路径, 删除表无论是...
Hadoop-2.8.0-HA-Hive安装部署与HQL10.hive的基本语法--内部表和外部表.mp4
创建内部表CREATE TABLE ods.u_data (FIELDS TERMINATED BY '\t'当你建表成功并且把数据load 进去之后,你发现数
掌握HQL创建数据库,掌握HQL创建内部表、外部表、分区表 使用有location 和无location创建HIVE数据库,库名与自己的名字相关; 在数据集目录中选取2个数据文件内部表创建表,选取2个数据文件创建外部表。 使用美国...
适用人群:hive学习童鞋,hive方面从业人员 从hive的搭建 到 hive的分区表/内部表/外部表/分桶等sql讲解
内部表和外部表,导入数据,导出数据,将数据从hive的表中导出到本地磁盘目录中,HIVE的存储文件格式,修改表的分区,多重插入,HIVE的自定义函数功能,使用explode —— 行转列,配合lateral view 列转行方便统计,...
自建落地表为什么要自建落地表HIVE SQL创建内/外部表、分区表insert overwrite 向分区表插入数据 为什么要自建落地表 1、公司的大数据资源非常紧张, 2、导数逻辑很复杂; 3、日常导数要求时效性高; 4、部门数仓的...
hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据...Hive中包含以下数据模型:Table内部表,External Table外部表,Partition分区,Bucket桶。Hive默认可以直接加载文本文件,还支持sequence file 、RCFile。
1:创建内部表 (1):start-all.sh,启动Hadoop所有进程 (2):初始化元数据库生成metastore (3):启动hive (4):把linus上面的rg.txt放到hdfs下 (5):show databases;显示所有数据库 (6):新建数据库...
# 内部表转外部表 alter table table_name set TBLPROPROTIES ('EXTERNAL'='FALSE');# 外部表转内部表 # 表结构修改 # 重命名表 use xxxdb; alter table table_name rename to new_table_name; # 增加字段 ...
发一条内推消息,社招、实习生欢迎投递 字节跳动校招内推码: 3UWFMRS 投递链接: 社招: 大数据面试题汇总与答案...hive 内部表和外部表的区别 hive中 sort by / order by / cluster by / distribute by 的区别 hive的me
Hive针对内部表和外部表的区别是 [单选题] A.创建内部表的同时,会将数据挪到数据仓库指定的位置(正确答案) B.删除内部表时只删除源数据 C.创建内部表时,只记录数据指定的路径 D.删除外部表时删除表中数据和源数据...
与大数据存储平台的数据集成 数据库提供外部表技术,可以将交易型和分析型数据库与其他存储平台对接,在数 据库内部,通过外部表访问大数据存储平台中的数据,包括: a)与HDFS对接:外部表访问引擎(读写模块),...
与大数据存储平台的数据集成 数据库提供外部表技术,可以将交易型和分析型数据库与其他存储平台对接,在数 据库内部,通过外部表访问大数据存储平台中的数据,包括: a)与HDFS对接:外部表访问引擎(读写模块),...
⼤数据应⽤测试经验总结 ⼤数据应⽤测试经验总结 ⼤数据应⽤测试... show tables like 'h*' 创建表 内部表:CREATE TABLE page_view if not exists(viewTime INT, userid BIGINT, page_url STRING, referrer_url STRIN
Oozie管道可自动将数据下载和提取到配置单元表 动作1-执行脚本bash,该脚本将下载和存储昨天的数据。 安排作业每天运行。 行动2-将数据存储在HDFS的... 动作4-将数据从covid_ext复制到先前创建的Hive分区内部表covid中
云数据库方案设计 云数据库的云化改造 面向云化环境,数据库在多个方面需要进行改造,... 云数据集成 3.1 与RDS的数据集成 数据库使用外部表技术,可以访问RDS中的其他数据。 支持多种格式的数据; 支持访问和更新数据
106_hive beeline-外部表-内部标 107_hive 分区表-桶表 108_hive word count 109_hive连接查询-union查询-load数据 110_hbase概述 111_zk架构-集群搭建-容灾演练avi 112_zk API-观察者-临时节点-序列节点-leader选举...