Hive

启动hive 使用命令`hive`

输入命令之后要有一个 ; 结尾!!!!!!!

DDL命令

1.创建数据表

create table lxl(
num int,
name string,
gender string
)
row formate delimited
fields terminated by '\t';

2.查看当前数据库已有的数据表:

show tables;

3.查看表的结构:

desc [表名];

desc lxl;

4.查看数据表的全部内容:

select * from [表名];

select * from lxl;

5.导入数据库:

load data lcoal inpath [地址] overwrite into table [表名]

load data local inpath '/home/zkpk/ll' overwrite into table lxl;

/home/zkpk/ll 是本地文件的地址

6.增加表的字段(列):

alter table [表名] add columns ([字段名] [字段类型]);

alter table lxl add columns(age int);

7.修改字段名:

alter table [表名] change [old] [new] [类型];

alter table lxl change age nianling int;

8.修改字段排序

修改字段排序也是修改字段,所以需要添加上 旧表名和新表名

alter table [表名] change [旧字段名] [新字段名] [类型] after [另一个字段];
# 把一个字段放到另一个字段的后面

9.删除字段

这个操作实际上是替换,用括号里的表结构替换已有的表结构

alter table [表名] replace columns([留下来的字段名] [留下来的字段类型],。。。)

10.以一个已有的表lxl 为模板 复制一个表

# 全复制 (复制结构和内容)
create table lxl1 as select * from lxl; # 可以加条件(复制结构,内容不复制)
create table lxl2 as select * from lxl where 1 = 0;

11.重命名表

alter table [旧表名] rename to [新表名];

12.清空表内容

truncate table lxl1;

13.删除表结构

drop table [表名]

hive里面的表叫做元数据,hdfs里的表叫物理数据

14.创建外部表

create external table [外部表名exlxl](
num int,
)

如果创建外部表,删除此表,只删除hive里面的表,不会删除hdfs里的表

15.下载表到本地

insert overwrite local directory '[路径]' select * from lxl;

内部表和外部表的区别:内部表创建删除后外部表也没有了,外部表在hive中删除,只是删除了内部表,外部表还在

16.建立分区表:

分区表就是把这个表分成多个小表,方便检索

create table palxl(
num int,
name string
) partition by(gender string)
row formate delimited
fields terminated by '\t';

给女孩建立一个分区

insert overwrite table palxl partition(gender) select no,name,gender from lxl where gender='f';

#第一次会出错,执行以下三条命令;

set hive.exec.dynamic.partition=true;
set hive.exec.dynamic.partition.mode=nonstrict;
set hive.exec.max.dynamic.partitions.pernode=10;

桶表

桶表是对分区表的进一步划分

创建桶表:

create table clupalxl(no int, name string, gender string)
clustered by(no) sorted by(no) into 3 buckets
row format delimited
fields terminated by '\t'

向桶表插入数据

insert into table clupalxl select no,name,gender from palxl distribute by(no) sort by(no);

#需要执行以下命令(允许分桶)
set hive.enforce.bucketing=true;

hive中的复杂数据类型

创建带有复杂数据类型的表:

// TODO 补全

视图

视图时为了展示内容,创建视图不会存储在hdfs中,是一个虚表

创建视图:

create view [视图名]([字段],。。。) as [查询语句]

数据库de操作

查看数据库

show databases;

创建数据库

create database [数据库名];
create database l;

为新建的数据库创建表

create table [数据库名].[表名]....

查看l数据库里面的所有表

show tables in [数据库名];
show tables in l;

删除数据库

# 直接删除数据库,不能删除非空
drop database [数据库名];
# 删除非空数据库
drop database [数据库名] cascade;

hadoop 第二期的更多相关文章

  1. 超人学院二期学员分享hadoop工作经验

    定于2月17日--2月23日的某一天,邀请咱们学员分享一下hadoop工作经验.对于没工作过的同学或者没从事过hadoop工作的同学,抓住机会啊,你可以提前准备自己关心的各种问题! 具体时间请关注QQ ...

  2. hadoop资料

    1."Hadoop.Operations.pdf.zip" http://vdisk.weibo.com/s/vDOQs6xMAQH6 2."Hadoop权威指南(中文版 ...

  3. Docker生态不会重蹈Hadoop的覆辙

    本文原作者是晏东(精灵云Ghostcould创始人),在读到<Docker生态会重蹈Hadoop的覆辙吗?>文章后的个人思考,里面的不少观点也是很不错的. 1.形态上的差异 2013年的时 ...

  4. Hadoop经典书籍资料收藏(35本)转

    原文地址:http://www.hadoopor.com/thread-5128-1-2.html 1."Hadoop.Operations.pdf.zip" http://vdi ...

  5. Hadoop 中利用 mapreduce 读写 mysql 数据

    Hadoop 中利用 mapreduce 读写 mysql 数据   有时候我们在项目中会遇到输入结果集很大,但是输出结果很小,比如一些 pv.uv 数据,然后为了实时查询的需求,或者一些 OLAP ...

  6. 初识Hadoop、Hive

    2016.10.13 20:28 很久没有写随笔了,自打小宝出生后就没有写过新的文章.数次来到博客园,想开始新的学习历程,总是被各种琐事中断.一方面确实是最近的项目工作比较忙,各个集群频繁地上线加多版 ...

  7. hadoop 2.7.3本地环境运行官方wordcount-基于HDFS

    接上篇<hadoop 2.7.3本地环境运行官方wordcount>.继续在本地模式下测试,本次使用hdfs. 2 本地模式使用fs计数wodcount 上面是直接使用的是linux的文件 ...

  8. hadoop 2.7.3本地环境运行官方wordcount

    hadoop 2.7.3本地环境运行官方wordcount 基本环境: 系统:win7 虚机环境:virtualBox 虚机:centos 7 hadoop版本:2.7.3 本次先以独立模式(本地模式 ...

  9. 【Big Data】HADOOP集群的配置(一)

    Hadoop集群的配置(一) 摘要: hadoop集群配置系列文档,是笔者在实验室真机环境实验后整理而得.以便随后工作所需,做以知识整理,另则与博客园朋友分享实验成果,因为笔者在学习初期,也遇到不少问 ...

  10. Hadoop学习之旅二:HDFS

    本文基于Hadoop1.X 概述 分布式文件系统主要用来解决如下几个问题: 读写大文件 加速运算 对于某些体积巨大的文件,比如其大小超过了计算机文件系统所能存放的最大限制或者是其大小甚至超过了计算机整 ...

随机推荐

  1. centos7的mysql主从

    互为主从关闭两台虚拟机的防火墙1.yum -y install mariadb-server mariadb2.Systemctl start mariadb3.进入配置文件:vi /etc/my.c ...

  2. oracle 实例无法启动和初始化

    1 先看oracle的监听和oracle的服务是否都启动了.启动oracle监听:cmd的命令行窗口下,输入lsnrctl start,回车即启动监听.2 查看oracle的sid叫什么,比如创建数据 ...

  3. MySQL中的json函数

    json_valid 判断是否为合法json文档 json_unquote 去除json字符串的引号,将值转成string类型 json_extract 提取json值

  4. rdlc报表需要显示的时间格式

    [仅取当前时间的年月日]=FormatDateTime(System.DateTime.Now.ToLongDateString().ToString()) [仅取数据库保存的时间的年月日]=form ...

  5. wpf 使用了 template 了的 combobox 中,displaymemberpath 有 bug,仅在 popup 中生效

    需求是:仅想改变combobox的默认样式,所以 template 是直接在属性窗口点击转化为本地值的. using System.Collections.Generic; using System. ...

  6. AES加密 php7版本 openssl_encrypt 遇到的坑

    与前端对接api ,解密不了前端加密的数据. 问题描述: 1.前端用 cryptojs  加密的 密钥是24位 , 2.后端用的php7的 openssl_encrypt  同密钥来进行解密,发现解密 ...

  7. linux安装mongo-c-driver

    yum install mongo-c-driver sudo yum install cmake openssl-devel cyrus-sasl-devel $ wget https://gith ...

  8. Vue3+Vite项目中 使用WindiCSS.

    之前工作有了解过根据类名来写元素的样式,一听就发出疑问:这样写项目可读性恐怕不是很好吧... 之后来到杭州工作后,开始使用WindiCSS后发现 真香!!!  由于近期所写的项目都是自己一个人开发的 ...

  9. 10、jmeter的 Http的请求默认值

    在我们测试过程当中,有很多HTTP协议的请求 这些请求 有很多比如说网址(url)都是相同的 端口也是相同的,路径可能也是相同的 这个时候就需要用到请求默认值,后续直接用就可以  不需要再去配置 后续 ...

  10. 磊磊零基础打卡算法:day16 c++ Trie树

    5.19 Trie树: 用处:快速的查找和高效存储字符串集合的数据结构. 类似如此的查找,存储 其简单的两个操作:插入和删除 插入: void insert(char str[]) { int p; ...