Hive之基本操作
1,CREATE table.
- 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, ...) [STORED BY (col_name [ASC | DESC], ... )] INTO num_buckets BUCKETS]
- [
- [ROW FORMAT ] [STORED AS file_format]
- | STORED BY 'storage.handler.class.name' [ WITH SERDEPROPERTIES (...) ] ] [LOCATION hdfs_path] [TBLPROPERTIES (property_name=property_value, ...)] [AS select_statement] CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name LIKE existing_table_name [LOCATION hdfs_path]
基本数据类型
- data_type
- : primitive_type
- | array_type
- | map_type
- | struct_type
- primitive_type
- : TINYINT
- | SMALLINT
- | INT
- | BIGINT
- | FLAOT
- | DOUBLE
- | BOOLEAN
- | STRING
- array_type
- : ARRAY <data_type>
- map_type
- : MAP <primitive_type , data_type>
- struct_map
- : STRUCT <col_name : data_type [COMMENT] , ...... >
介绍
CREATE TABLE 创建一个指定名字的表。如果相同名字的表已经存在,则抛出异常;用户可以用 IF NOT EXIST 选项来忽略这个异常。
EXTERNAL 关键字可以让用户创建一个外部表,在建表的同时指定一个指向实际数据的路径(LOCATION),Hive 创建内部表时,会将数据移动到数据仓库指向的路径;若创建外部表,仅记录数据所在的路径,不对数据的位置做任何改变。在删除表的时候,内部表的元数据和数 据会被一起删除,而外部表只删除元数据,不删除数据。
LIKE 允许用户复制现有的表结构,但是不复制数据。
用户在建表的时候可以自定义 SerDe 或者使用自带的 SerDe。如果没有指定 ROW FORMAT 或者 ROW FORMAT DELIMITED,将会使用自带的 SerDe。在建表的时候,用户还需要为表指定列,用户在指定表的列的同时也会指定自定义的 SerDe,Hive 通过 SerDe 确定表的具体的列的数据。
如果文件数据是纯文本,可以使用 STORED AS TEXTFILE。如果数据需要压缩,使用 STORED AS SEQUENCE 。
有分区的表可以在创建的时候使用 PARTITIONED BY 语句。一个表可以拥有一个或者多个分区,每一个分区单独存在一个目录下。而且,表和分区都可以对某个列进行 CLUSTERED BY 操作,将若干个列放入一个桶(bucket)中。也可以利用SORT BY 对数据进行排序。这样可以为特定应用提高性能。
表名和列名不区分大小写,SerDe 和属性名区分大小写。表和列的注释是字符串。
- 参考 : https://www.imooc.com/article/9265
Hive之基本操作的更多相关文章
- Hive的基本操作和数据类型
Hive的基本操作 1.启动Hive bin/hive 2.查看数据库 hive>show databases; 3. 打开默认数据库 hive>use default; 4.显示defa ...
- 【Hadoop离线基础总结】Hive的基本操作
Hive的基本操作 创建数据库与创建数据库表 创建数据库的相关操作 创建数据库:CREATE TABLE IF NOT EXISTS myhive hive创建表成功后的存放位置由hive-site. ...
- hive的基本操作
1.创建表 First, create a table with tab-delimited text file format: (1)CREATE TABLE u_data ( userid INT ...
- Hive HQL基本操作
一. DDL操作 (数据定义语言) 具体参见:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL 其实就是我们在创建 ...
- Hive(二)hive的基本操作
一.DDL操作(定义操作) 1.创建表 (1)建表语法结构 CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name[(col_name data_type ...
- 2、hive的基本操作
1.创建数据库和表 1)创建数据库 hive> CREATE DATABASE IF NOT EXISTS userdb; OK Time taken: 0.252 seconds hive&g ...
- hive的基本操作与应用
通过hadoop上的hive完成WordCount 启动hadoop Hdfs上创建文件夹 创建文件夹 上传文件至hdfs 启动Hive 创建原始文档表 导入文件内容到表docs并查看 用HQL进行词 ...
- 第2节 hive基本操作:6、7、8
第1节 hive安装:6.hive的基本操作:7.创建数据库的语法:8.hive当中创建内部表的语法. hive的基本操作: 创建数据库与创建数据库表操作 创建数据库操作:create databas ...
- 那些年使用Hive踩过的坑
1.概述 这个标题也是用血的教训换来的,希望对刚进入hive圈的童鞋和正在hive圈爬坑的童鞋有所帮助.打算分以下几个部分去描述: Hive的结构 Hive的基本操作 Hive Select Hive ...
随机推荐
- Feature Toggle JUnit
Feature Toggle,简单来说,就是一个开关,将未完成功能的代码屏蔽后发布到生产环境,从而避免多分支的情况.之所以有本文的产生,就是源于此情景.在引入Feature Toggle的同时,我们发 ...
- Shell--基础知识
变量的定义: a=1 b=hello c="hello world !" d='hello "反启" !' e=`ls` (注意:这是反引号) 备注:=号左右 ...
- Java字符编码问题
今天研究了一下,记录下来 中间用的是redis,可以使用任意其他的io替代,一样的 Test1 String s1 = "我要测试"; String s2 = "I wa ...
- ubuntu 下安装 jdk
1. 下载 jdk : https://www.oracle.com/technetwork/java/javase/downloads/index.html 2. 解压 jdk 到系统默认 jdk ...
- HDU Today---hdu2112(最短路-_-坑在是无向图)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2112 spfa或者迪杰斯特拉都可以 注意公交车是有来回的--- #include <iostre ...
- arpa/inet.h所引起的Segmentation fault及网络编程常见的头文件
最近在学习Linux网络编程方面的知识,感觉还是有些困难.主要是对协议过程的理解,还有socket的API的理解不够深刻.今天复习编写了一个TCP的服务端和客户端的程序实现client.c从命令行参数 ...
- 【调研与分析】标杆学习、知识管理和竞争情报的关系——From Team
注: 1)红色实线箭头表示可以直接使用:例如竞争情报业务输出产品之一的标杆文档可以直接作为公司标杆学习中外部标杆的资料: 2)蓝色虚线箭头表示转化后使用或者间接利用的关系:例如专题调研可以帮助建立内部 ...
- Cocos2d-JS实现的打飞机
一.前言 今天我们来讲一个最最最常见的一个小游戏--打飞机!是的,打飞机!还记得小时候在玩儿的雷电,应该是打飞机最早的样子了吧.直到现在,也有微信打飞机,全民飞机大战,全民打飞机等游戏的出现,这些游戏 ...
- js 中的[] {}是什么意思
<div id="aa1">aaaaa</div><div id="aa2">bbbb</div><div ...
- centos7修改hostname
[root@centos7 ~]$ hostnamectl set-hostname prd_web1 # 使用这个命令会立即生效且重启也生效 [root@centos7 ~]$ hostname # ...