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. C#textbox控件区分扫码枪输入和键盘输入

    前言: 一般我们在某个UI界面输入内容的时候又不想人为的去键盘输入,这个时候就需要区分键盘输入和扫码枪的输入,从而禁止人为键盘输入内容,只能使用扫码枪扫码输入.就目前来说这种直插式扫码枪输入和键盘输入 ...

  2. vue+element el-table有关Checkbox的一些功能

    在做项目的时候会碰到一些表格操作的问题其中我归整了一下有关于多选功能的一些记录 一:默认选中其中一行 <el-table class="editTable" :data=&q ...

  3. C#MSDN简体中文 最后一版本 2007年的

    我在学习C# 需要 先看 MSDN文档,英文看的很吃力,就找了好久 MSDN简体中文版本的: 因为微软已经关闭网站(MSDN中文的链接),我找到的就是  磁力链接的: 我分享出来 ,有需要的 自行下载 ...

  4. 配置Nginx 反向代理 + go在windows 环境下编译运行在linux的文件

    在源码根目录下 创建build.bat: set GOOS=linux set GOARCH=amd64 go build -o build/myweb main.go 在终端执行: ./build. ...

  5. CC2020 分享信息

    CC2020是鄙人第一次参与的国际计算教育报告.CC2020报告的特色是希望面向未来的教育能走近每一个教育的利益相关者,包括家长.学生.行业雇主.政府决策制定者和学术界人士.敬请各位从自己的身份角度对 ...

  6. mysql可参考的查询

    获取批量修改列为大写SQL脚本 1 SELECT 2 concat( 'alter table ', TABLE_NAME, ' change column ', COLUMN_NAME, ' ', ...

  7. scroll-view 横向滚动无效

    scroll-view的内层view元素需要: display: inline-block scroll-view的外层元素需要: white-space: nowrap 使得内部组件不换行.

  8. 多线程post

    async Task<long> post() { var stopwatch = new Stopwatch(); stopwatch.Start(); var client = new ...

  9. 语法分析~LL1的实现

    语法分析之 LL1分析法实现 一.设计目的 根据某一文法编制调试LL(1)分析程序,以便对任意输入的符号串进行分析.本次实验的目的主要是加深对预测分析LL(1)分析法的理解. 二.设计要求 程序输入/ ...

  10. 每日一道算法题——斐波那契数列Fibonacci

    题目: 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1),n≤39: 示例1 输入: 4 返回值: 3 代码: 方法一:递归 publi ...