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

原文地址:https://www.cnblogs.com/rrttp/p/9024188.html

时间: 2024-10-07 03:41:28

Hive之基本操作的相关文章

Hive的基本操作详解

一 Hive数据类型 1.1 基本数据类型 Hive数据类型 Java数据类型 长度 例子 TINYINT byte 1byte有符号整数 20 SMALINT short 2byte有符号整数 20 INT int 4byte有符号整数 20 BIGINT long 8byte有符号整数 20 BOOLEAN boolean 布尔类型,true或者false TRUE  FALSE FLOAT float 单精度浮点数 3.14159 DOUBLE double 双精度浮点数 3.14159

2、hive的基本操作

1.创建表 hive>CREATE TABLE userTables(id INT,name STRING); 或者 hive> CREATE TABLE userTables(id int, name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ' LINES TERMINATED BY '\n' STORED AS TEXTFILE; 其中TERMINATED BY ' '指定了数据分隔符是一个空格 创建一个新表,结构与其他一样

hive的基本操作

1.创建表 First, create a table with tab-delimited text file format: (1)CREATE TABLE u_data ( userid INT, movieid INT, rating INT, unixtime STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' STORED AS TEXTFILE; (2)//creates a table called invites wit

hive的基本操作与应用

1.启动hadoop 2.Hdfs上创建文件夹 创建的文件夹是datainput 3.上传文件至hdfs 启动Hive 4.创建原始文档表 5.导入文件内容到表docs并查看 6.用HQL进行词频统计,结果放在表word_count里 7.查看统计结果 原文地址:https://www.cnblogs.com/a7-7/p/9053042.html

Hive HQL基本操作

一. DDL操作 (数据定义语言) 具体参见:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL 其实就是我们在创建表的时候用到的一些sql,比如说:CREATE.ALTER.DROP等.DDL主要是用在定义或改变表的结构,数据类型,表之间的链接和约束等初始化工作上 1 .创建/ 删除/ 修改/使用数据库 1.1创建数据库 首先启动: 启动集群: service iptables stop zkServer.sh

第2节 hive基本操作:6、7、8

第1节 hive安装:6.hive的基本操作:7.创建数据库的语法:8.hive当中创建内部表的语法. hive的基本操作: 创建数据库与创建数据库表操作 创建数据库操作:create database if not exists xxx; 创建数据库表的操作: CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name 创建表的三个关键字段 [(col_name data_type [COMMENT col_comment], ...)] 定义我们的列

Hive部署及优化配置

1.1安装 1.Hive依赖hadoop环境,所有在装之前要先安装hadoop,hive一般安装在hadoop的NameNode节点上面: 2.下载 Hive最新Release版(0.7.1 ) http://www.apache.org/dyn/closer.cgi/hive/ 3.将压缩安装包解压至一目录,如/home/hadoop/hive 4.配制metadata存放方式 默认metadatga是存放在derby里,这种方式不允许多个用户同时登陆hive shell,所有建议用mysql

Hive的工作原理和相关操作

Hive是一个基于Hadoop的数据仓库,提供比较完整的SQL功能(本质还是将SQL转换为MapReduce),可供数据分析师利用Hadoop对海量数据进行分析.但是,Hive也有自身的缺点,比如比较慢等. 一. Hive的工作原理和结构 二. Hive的基本操作 1. 表操作 2. 视图操作 3. 索引操作 4. 分区操作 5. 桶操作 三. 使用JDBC开发Hive程序

BG.Hive - part1

1. Hive架构 What is hive? Facebook,https://en.wikipedia.org/wiki/Apache_Hive a> 一种工具,可以通过SQL轻松的访问数据,可以完成数据仓库任务,如ETL,报表及数据分析 b> 一种机制,增强多样化数据格式的结构 c> 数据访问,HDFS或者其他的数据存储系统(HBase) d> 查询方式,类SQL的HiveQL 默认引擎为MapReduce,简单的Select * From..不会转换为MR任务 e>