大数据(十九) -- Hive操作--基础

本文介绍了Hive的基本操作,包括创建数据库和表、加载数据、查看数据结构以及删除表的方法。重点讲述了Hive中创建表的三种方式和插入数据的四种方式,强调了Hive支持的数据类型和操作特点,如数组、键值对和结构体数据的处理。此外,还提到了内部表、临时表、外部表、分区表和分桶表等Hive中的表类型。
摘要由CSDN通过智能技术生成

前言

  Hive支持常见的SQL语句, 除此之外它还有其独特的部分. 常见SQL语句与关系型数据库(例如MySQL)中的语法一致, 这里就不再做详细说明. 我们主要来看Hive中不一样的部分.

  Hive的所有操作可以去Hive官网查看, 点击此处LanguageManual

  Hive其实并不难, 对于有写过SQL语句的人来说会更简单. 在学习Hive时, 建议大家边学边敲, 多做联系.

准备工作

  既然要使用Hive就要有Hive的环境, 可以根据这篇博客来安装Hive以及与Hive相关的环境(Hadoop, Yarn)大数据生态圈搭建

  这里我使用的是基于Mysql的远程模式来操作Hive.

操作流程

创建第一个表格

  连接进入Hive shell 之后, 先建一个新的数据库, 之后的大部分操作我们都在这个数据库中来练习.

创建:
create database hive_test;

使用该数据库:
use hive_test;

  然后, 创建第一个表gfstbl, 也可使用数据库.表的格式(例如hive_test.gfstbl).

CREATE TABLE gfstbl(
  id INT,
  name STRING,
  age INT,
  gfs ARRAY<STRING>,
  address MAP<STRING,STRING>,
  info STRUCT<country:String,province:String,city:String>
)
ROW FORMAT DELIMITED  
FIELDS TERMINATED BY ' ' 
COLLECTION ITEMS TERMINATED BY ','
MAP KEYS TERMINATED BY ':' 
LINES TERMINATED BY '\n';

  解释说明:

  • create语句, ()中为字段之间用逗号分隔, 字段名称与类型之间用空格隔开. 这里字段的数据类型有整型, 字符串, 数组, 键值对以及结构体.
    Hive支持的数据类型:
数据类型 注释
tinyint 短整型, 范围:-128~127
smallint 小整型, -32768~32767
int 整型, -232~232-1
bigint 大整型, 就很大
float 单精度浮点数
double 双精度浮点数
decimal 精度38位十进制数
date 日期
timestamp 时间戳
char 字符
string 字符串
varchar 可变长度字符串
array 数组类型
map 键值对类型
structs 结构化类型
  • ROW FORMAT DELIMITED : 行格式分隔
  • FIELDS TERMINATED BY ’ ’ : 字段之间使用空格分隔
  • COLLECTION ITEMS TERMINATED BY ‘,’ : 集合(就是这的数据)使用逗号分隔
  • MAP KEYS TERMINATED BY ‘:’ : 键值对使用冒号分隔
  • LINES TERMINATED BY ‘\n’ : 记录之间使用换行符分隔
  • ; : 每一条SQL语句结尾都需要以分号结束
  • 除此之外, 如果去掉分号, 加上:LOCATION “/test”; , 就可设置源数据在HDFS中存放的位置, 若不设置默认就在Hive的工作目录区.

  创建表的SQL语句公式如下, 我们会根据Hive表的类型将这一公式分开操作.

CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS] [db_name.]table_name    -- (Note: TEMPORARY available in Hive 0.14.0 and later)
  [(col_name data_type [COMMENT col_comment], ... [constraint_specification])]
  [COMMENT table_comment]
  [PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)]
  [CLUSTERED BY (col_name, col_name, ...) [SORTED BY (col_name 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值