hadoop 第二期
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 第二期的更多相关文章
- 超人学院二期学员分享hadoop工作经验
定于2月17日--2月23日的某一天,邀请咱们学员分享一下hadoop工作经验.对于没工作过的同学或者没从事过hadoop工作的同学,抓住机会啊,你可以提前准备自己关心的各种问题! 具体时间请关注QQ ...
- hadoop资料
1."Hadoop.Operations.pdf.zip" http://vdisk.weibo.com/s/vDOQs6xMAQH6 2."Hadoop权威指南(中文版 ...
- Docker生态不会重蹈Hadoop的覆辙
本文原作者是晏东(精灵云Ghostcould创始人),在读到<Docker生态会重蹈Hadoop的覆辙吗?>文章后的个人思考,里面的不少观点也是很不错的. 1.形态上的差异 2013年的时 ...
- Hadoop经典书籍资料收藏(35本)转
原文地址:http://www.hadoopor.com/thread-5128-1-2.html 1."Hadoop.Operations.pdf.zip" http://vdi ...
- Hadoop 中利用 mapreduce 读写 mysql 数据
Hadoop 中利用 mapreduce 读写 mysql 数据 有时候我们在项目中会遇到输入结果集很大,但是输出结果很小,比如一些 pv.uv 数据,然后为了实时查询的需求,或者一些 OLAP ...
- 初识Hadoop、Hive
2016.10.13 20:28 很久没有写随笔了,自打小宝出生后就没有写过新的文章.数次来到博客园,想开始新的学习历程,总是被各种琐事中断.一方面确实是最近的项目工作比较忙,各个集群频繁地上线加多版 ...
- hadoop 2.7.3本地环境运行官方wordcount-基于HDFS
接上篇<hadoop 2.7.3本地环境运行官方wordcount>.继续在本地模式下测试,本次使用hdfs. 2 本地模式使用fs计数wodcount 上面是直接使用的是linux的文件 ...
- hadoop 2.7.3本地环境运行官方wordcount
hadoop 2.7.3本地环境运行官方wordcount 基本环境: 系统:win7 虚机环境:virtualBox 虚机:centos 7 hadoop版本:2.7.3 本次先以独立模式(本地模式 ...
- 【Big Data】HADOOP集群的配置(一)
Hadoop集群的配置(一) 摘要: hadoop集群配置系列文档,是笔者在实验室真机环境实验后整理而得.以便随后工作所需,做以知识整理,另则与博客园朋友分享实验成果,因为笔者在学习初期,也遇到不少问 ...
- Hadoop学习之旅二:HDFS
本文基于Hadoop1.X 概述 分布式文件系统主要用来解决如下几个问题: 读写大文件 加速运算 对于某些体积巨大的文件,比如其大小超过了计算机文件系统所能存放的最大限制或者是其大小甚至超过了计算机整 ...
随机推荐
- python 安装步骤
1.这个安装方法不需要配置环境变量 2. 3. 4.进入cmd,输入python -v
- 2021/9/26 Leetcode 两数之和
题目:给你两个整数 a 和 b ,不使用 运算符 + 和 - ,计算并返回两整数之和. int getSum(int a, int b) { while(b != 0){ unsigne ...
- JS中Promise
Promise的作用: Promise是异步微任务,解决了异步多层嵌套回调的问题,让代码的可读性更高,更容易维护. Promise如何使用: Promise是ES6提供的一个构造函数,可以使用Prom ...
- Jmeter前置处理器和后置处理器的使用
一.JMETER基本概念 1. 测试计划:顶级菜单,代表一个测试计划: 2. 线程组:代表一个要测试的场景(各种相关的交易集合),对于性能测试来说可以指定多少个用户完成这个场景的内容,对于自动化测试 ...
- vue组件 子组件没有事件怎么 向父组件传递数据
通过ref去接收值!!! 需求图片 代码实现 //----------父组件 <div class="fingerprint-bottom"> <el-tabs ...
- Django框架搭建web项目(二)
1.在路径XXXXX\mydjango\mydjango\mydjango下新建views.py(在浏览器中url请求后所展示的内容设置) from django.http import HttpRe ...
- 面向对象2(Java)
封装 基本介绍 该露的露,该藏的藏,我们的程序设计要追求"高内聚,低耦合": 高内聚:类的内部数据操作细节自己完成,不允许外部干涉 低耦合:仅暴露少量的方法给外部使用 封装(数据的 ...
- JSON详述
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写 使用json函数需要导入json库,import json json.dumps 将p ...
- [fiddler的使用]模拟自动回复功能在模拟测试mock第三方对接系统的返回中的使用场景
[场景描述]在许多对第三方的测试过程中,由于第三方没有测试环境或者测试环境同步开发的时候还未准备好,或者系统间联调时对方还未完成的各种情况下,我们可以通过fiddler来模拟对方的返回. [操作步骤] ...
- ESP32(WeMos D1 R32)开发资料
1.乐鑫官网 2.ESP32踩坑 ESP32控制摇杆,定义sw的引脚时一定要设置为上拉才行. 3.ESP32入门之arduino IDE环境搭建 4.ESP32 MicroPython编程官网文档 E ...