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. Windows下Redis安装及自启动

    Redis下载 Redis 官方网站没有提供 Windows 版的安装包,可以通过 GitHub 来下载 Windows 版 Redis 安装包,下载地址:点击前往. 打开上述的下载地址链接,Redi ...

  2. windows ftp 简单搭建, wget ftp

    事情起因: 公司客户一台数据库服务器突然连不上了,一开始以为是密码过期了,联系学校的老师给改了密码之后,还是连不上,然后就怀疑是不是ssh服务有问题.然后发现这台服务器上没有安装包,yum 命令也不好 ...

  3. Webpack解析与讲解

    一.什么是Webpack? 一个基于node.js的前端模块化/预处理/扁平化处理器. 二.为什么要使用Webpack? 解决业务代码中的各种依赖,模块加载,静态文件引入问题(重复依赖/强依赖,阻塞加 ...

  4. Python + Selenium + Microsoft Edge浏览器运行环境搭建及配置无界面模式

    介绍 在python中用selenium驱动Microsoft Edge(Chromium版)浏览器,并设置headless模式,也可以参考微软官方指导文档,更全更清晰 安装selenium 可以通过 ...

  5. java初学者-手动输入一个整数,打印这个数是几位数

    import.java.until.Scanner; //手动输入一个整数,打印这个数是几位数 public static void main(String[]args){ //键盘录入 Scanne ...

  6. 用js获取当前路由信息的方法

    1,设置或获取对象指定的文件名或路径.alert(window.location.pathname)2,设置或获取整个 URL 为字符串.alert(window.location.href);3,设 ...

  7. MySql Host is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'

    错误:Host is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts' 原因:同一个ip ...

  8. Spring Boot中使用thymeleaf

    Spring Boot支持FreeMarker.Groovy.Thymeleaf和Mustache四种模板解析引擎,官方推荐使用Thymeleaf. spring-boot-starter-thyme ...

  9. 如何简单使用Git

    Git基本功能 Git基本功能 在具体介绍Git能做什么之前,先来了解下Git里的四个角色: workspace: 本地的工作空间. index:缓存区域,临时保存本地改动. local reposi ...

  10. 使用idea从零编写SpringCloud项目-Hystrix

    ps:Hystrix和Fegin里面使用的Hystrix,有些许区别.我理解的是Fegin.Hystrix主要是用于消费方在调用服务方接口时的异常处理,返回兜底数据等,而Hystrix则是消费方自己本 ...