2019独角兽企业重金招聘Python工程师标准>>>

Hive的数据类型

–: primitive_type
–| array_type
–| map_type
–| struct_type
–:primitive_type
–|TINYINT
–| SMALLINT
–| INT
–| BIGINT
–| BOOLEAN
–| FLOAT
–| DOUBLE
–| STRING

Hive完整的DDL

–CREATE [EXTERNAL] TABLE [IF NOT EXISTS] [db_name.]table_name
–[(col_namedata_type[COMMENT col_comment], ...)]
–[COMMENT table_comment]
–[PARTITIONED BY (col_namedata_type[COMMENT col_comment], ...)]
–[CLUSTERED BY (col_name, col_name, ...) [SORTED BY (col_name[ASC|DESC], ...)] INTO num_bucketsBUCKETS]
–[SKEWED BY (col_name, col_name, ...) ON ([(col_value, col_value, ...), ...|col_value, col_value, ...]) (Note: only available starting with 0.10.0)]
–[ [ROW FORMAT row_format] [STORED AS file_format]
–| STORED BY 'storage.handler.class.name' [WITH SERDEPROPERTIES (...)] (Note: only available starting with 0.6.0) ]
–[LOCATION hdfs_path]
–[TBLPROPERTIES (property_name=property_value, ...)] (Note: only available starting with 0.6.0)
–[AS select_statement] (Note: this feature is only available starting with 0.5.0, and is not supported when creating external tables.)###Hive常用的DDL
–CREATE [EXTERNAL] TABLE [IF NOT EXISTS] [db_name.]table_name
–LIKE existing_table_or_view_name
–[LOCATION hdfs_path]###Hive建表
–create table person(
–id int,
–name string,
–age int,
–likes array<string>,
–address map<string,string>
–)
–row format delimited
–FIELDS TERMINATED BY ','
–COLLECTION ITEMS TERMINATED BY '-'
–MAP KEYS TERMINATED BY ':'
–lines terminated by '\n';
–Select address[‘city’] from person where name=‘zs’###创建分区表
-partition分区放在ROW FORMAT 之前
-分区地段不能出现之前定义的字段之内
–Load分区数据###Hive常用的DDL删除表
–DROP TABLE table_name

Hive导入数据

Load data [local] inpath 'student.txt' overwrite into table student.
- 添加local 说明在数据文件在搭建集群的文件系统上
- 没有local 说明在集群的hdfs上

Hive的内表和外表
External关键字
内表删除表或者分区元数据和数据都删了
外表删除表元数据删除,数据保留

HIve的分区partition

  • 必须在表定义时创建partition

    • 单分区建表语句:create table day_table(id int, content string) partitioned by (dt string)

      • 单分区表,按天分区,在表结构中存在id,content,dt三列。
      • 以dt为文件夹区分
    • 双分区建表语句:create table day_hour_table(id int, content string) partitioned by (dt string, hour string)
      • 双分区表,按天和小时分区,在表结构中新增加了dt和hour两列。
      • 先以dt为文件夹,再以hour子文件夹区分
  • Hive添加分区表语法
    • (表已创建,在此基础上添加分区):ALTER TABLE table_name ADD partition_spec[ LOCATION 'location1' ]partition_spec[ LOCATION 'location2' ] ...
    • ALTER TABLE day_table ADD PARTITION (dt='2008-08-08', hour='08') location '/path/pv1.txt'
  • Hive删除分区语法
    • ALTER TABLE table_name  DROP  partition_spec, partition_spec,...
    • 用户可以用ALTER TABLE DROP PARTITION 来删除分区。分区的元数据和数据将被一并删除。例:
      • ALTER TABLE day_hour_table  DROP  PARTITION (dt='2008-08-08', hour='09');
  • Hive数据加载进分区表中语法
    • LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)]
    • 例如:LOAD DATA INPATH '/user/pv.txt' INTO TABLE day_hour_table PARTITION(dt='2008-08-08', hour='08'); LOAD DATA local INPATH '/user/hua/*' INTO TABLE day_hourpartition(dt='2010-07-07');当数据被加载至表中时,不会对数据进行任何转换。Load操作只是将数据复制至Hive表对应的位置。数据加载时在表下自动创建一个目录基于分区的查询的语句:SELECT day_table.* FROM day_tableWHERE day_table.dt>= '2008-08-08';
  • Hive查看分区语句
    • hive> show partitions day_hour_table; OK dt=2008-08-08/hour=08 dt=2008-08-08/hour=09 dt=2008-08-09/hour=09

HQL

create database test;
show databases;
use databases;###--psn
#1,xiaoming1,man,book-shejian-shoot,beijing:wudaokou-huoxing:weizhi-shanghai:songjiang
#2,xiaoming2,man,shejian-shoot,beijing:wudaokou-huoxing:weizhi
#3,xiaoming3,man,book,beijing:wudaokou-huoxing:weizhi
#4,xiaoming4,man,book-shoot,beijing:wudaokou-huoxing:weizhi
####创建表psn
create table psn(id int, name string, sex string, likes ARRAY<string>, address map<string,string>)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
COLLECTION ITEMS TERMINATED BY '-'
MAP KEYS TERMINATED BY ':';
#加载数据
load data local inpath '/tmp/psn' overwrite into table psn;
#创建外表
create EXTERNAL table psn2
(id int, name string, sex string, likes ARRAY<string>, address map<string,string>)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
COLLECTION ITEMS TERMINATED BY '-'
MAP KEYS TERMINATED BY ':'
location '/test/psn2';create table psn3 as select * from psn;create table psn4 like psn;create EXTERNAL table psn5
(id int, name string, sex string, likes ARRAY<string>, address map<string,string>)
PARTITIONED BY (age int, weight int)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
COLLECTION ITEMS TERMINATED BY '-'
MAP KEYS TERMINATED BY ':' ;create table psn7
(id int, name string, sex string, likes ARRAY<string>, address map<string,string>)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
COLLECTION ITEMS TERMINATED BY '-'
MAP KEYS TERMINATED BY ':';from psn6 p
insert into table psn7select p.id, p.name, p.sex, p.likes, p.address;from psn6 p
insert OVERWRITE table psn7select p.id, p.name, p.sex, p.likes, p.address;

转载于:https://my.oschina.net/rosetta/blog/747275

6-Hadoop之旅-Hive(二)相关推荐

  1. hadoop之旅8-centerOS7 : Hive的基本操作

    通过hadoop之旅7-centerOS7 : Hive环境搭建相信搭建已经在自己的虚拟机上搭建好了hive的环境,今天带大家熟悉一下hive的基本使用 hive脚本的三种执行方式 hive -e ' ...

  2. 大数据基础(二)hadoop, mave, hbase, hive, sqoop在ubuntu 14.04.04下的安装和sqoop与hdfs,hive,mysql导入导出

    hadoop, mave, hbase, hive, sqoop在ubuntu 14.04.04下的安装 2016.05.15 本文测试环境: hadoop2.6.2 ubuntu 14.04.04 ...

  3. Hadoop数据仓库工具——Hive

    一.什么是Hive: 1)基于Hadoop的数据仓库解决方案 - 将结构化的数据文件映射为数据库表 - 提供类sql的查询语言HQL(Hive Query Language) - Hive让更多的人使 ...

  4. Hadoop 系列之 Hive

    Hadoop 系列之 Hive Hive 的官网:http://hive.apache.org/ Hive versions 1.2 onward require Java 1.7 or newer. ...

  5. hadoop+zookeeper+hbase+hive

    hadoop安装配置 hadoop安装文档:https://blog.csdn.net/pucao_cug/article/details/71698903 zookeeper安装文档:https:/ ...

  6. hadoop生态圈之hive面试(一)

    hadoop生态圈之hive面试(一) 说下为什么要使用Hive?Hive的优缺点?Hive的作用是什么? 问过的一些公司:头条,字节x2,阿里参考答案: 1.为什么要使用Hive? Hive是Had ...

  7. Hadoop(HDFS+MapReduce+Hive+数仓基础概念)学习笔记(自用)

    文章目录 修改虚拟机IP 复制网卡的配置 Vi编辑器的常用命令 实操部分 复制网卡的配置 Hadoop集群初体验 20.secondarynameNode如何辅助管理FSImage与Edits文件 ⭐ ...

  8. 基于Hadoop的数据仓库Hive 基础知识

    转载自:namelessml 原文链接:[完]基于Hadoop的数据仓库Hive 基础知识 Hive是基于Hadoop的数据仓库工具,可对存储在HDFS上的文件中的数据集进行数据整理.特殊查询和分析处 ...

  9. (第7篇)灵活易用易维护的hadoop数据仓库工具——Hive

    摘要: Hive灵活易用且易于维护,十分适合数据仓库的统计分析,什么样的结构让它具备这些特性?我们如何才能灵活操作hive呢? 博主福利 给大家推荐一套hadoop视频课程 [百度hadoop核心架构 ...

  10. Hadoop最常用的工具(SQL on Hadoop):Hive

    认识Hive 对十Hadoop的出现,无论是业界还是学术界对其都给予了极高的关注度,Hadoop及其生态圈提供了一个成熟高效的处理海量数据集的解决方案.随着Hadoop越来越流行,一个问题也随之产生: ...

最新文章

  1. 黄聪:Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)...
  2. 1044 拦截导弹——http://codevs.cn/problem/1044/
  3. ecplise ee下载安装教程+SpringMVC的helloword
  4. 面试官:能不能手写一个 Promise?
  5. python目录结构生成库,使用CMake构建平台无关的目录结构
  6. java response 输出word_java导出数据到word(一)
  7. java 读音_数的读法 (Java代码)
  8. 浅谈OpenGOP与ClosedGOP
  9. 安装Linux操作系统Ubuntu 22.04 LTS并配置拨号连接
  10. 51jiqiren小语种语音机器人
  11. html中的注释格式是,html的注释格式是什么
  12. 临沧黄衣阿佤-中国佤民族中一支穿黄色衣服的佤族群体
  13. 【task02】共享单车数据挖掘赛
  14. 物联网入门教程【中】
  15. IIS之web服务器部署
  16. 浅谈自动化测试中的验证码处理方法小总结
  17. 控制工程基础 董景新_编委读报丨“十大最美公交司机”都是谁;新疆交通消费扶贫花样多;海南邮轮港口海上游航线试点迎来新突破……...
  18. 电子时钟万年历+51单片机+1602液晶屏+DS1302+DS18B20+按键
  19. 计算机课忘记签到,有定时提醒大学生上网课签到的提醒便签软件吗?
  20. c语言之先后输出字符

热门文章

  1. 第六章 函数逼近-强化学习理论学习与代码实现(强化学习导论第二版)
  2. 《深度学习Python实践》第14章——自动流程
  3. day12--k近邻算法KNN
  4. Micmac摄影测量软件介绍
  5. 【Python:统一时间格式YYYY-MM-DD】时间数据、格式处理、并根据时间合并dataframe
  6. 安装程序未能打开日志文件_安装和启动日志错误 | Adobe Creative Suite 6、Adobe Creative Suite 5.5、Adobe Creative Suite 5...
  7. ios笔试题算法_【2018年最新】iOS面试题之常见算法
  8. mysql主从复制及读写分离
  9. 题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出1000以内的所有完数。
  10. Linux虚拟机扩容