DDL(Data Definition Language)

create,delete,alter
Hive数据抽象/结构
database(HDFS一个目录)->table(HDFS一个目录)->partition分区表(HDFS一个目录)->bucket桶(HDFS一个文件)

数据库操作

CREATE 创建数据库

CREATE (DATABASE|SCHEMA) [IF NOT EXISTS] database_name[COMMENT database_comment][LOCATION hdfs_path][WITH DBPROPERTIES (property_name=property_value, ...)];

例如:CREATE DATABASE IF NOT EXISTS hive;

如果想知道我们刚创建的hive库存放在哪里,应该去对应的mysql中查看:

去HDFS中查看对应的位置:

删除数据库

DROP database hive;

如果这个库中存在表,那么上面的语句会显示无法删除数据库。如果要删除表需要执行:
drop database hive CASCADE级联删除表,但是一定要慎用

创建数据库时修改HDFS存储路径

CREATE DATABASE IF NOT EXISTS hive2 LOCATION '/test/location';将创建一个数据库位于/test/location
首先确认在HDFS中对应的路径是否存在,方便我们验证:

然后执行创建语句:

然后在HDFS中查看:

查看数据库的信息

使用命令desc database hive

创建数据库时添加属性

CREATE DATABASE IF NOT EXISTS hive3 WITH DBPROPERTIES('creator'='vincent');

查看详细数据库信息:

显示当前正在操作的数据库


select current_database();可以显示当前正在使用的数据库。
在hive中set KEY表示获取到这个KEY的值,set KEY=VALUE表示设置这个KEY的值。

正则匹配数据库

表操作

CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS] [db_name.]table_name    -- (Note: TEMPORARY available in Hive 0.14.0 and later)[(col_name data_type [column_constraint_specification] [COMMENT col_comment], ... [constraint_specification])][COMMENT table_comment][PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)][CLUSTERED BY (col_name, col_name, ...) [SORTED BY (col_name [ASC|DESC], ...)] INTO num_buckets BUCKETS][SKEWED BY (col_name, col_name, ...)                  -- (Note: Available in Hive 0.10.0 and later)]ON ((col_value, col_value, ...), (col_value, col_value, ...), ...)[STORED AS DIRECTORIES][[ROW FORMAT row_format] [STORED AS file_format]| STORED BY 'storage.handler.class.name' [WITH SERDEPROPERTIES (...)]  -- (Note: Available in Hive 0.6.0 and later)][LOCATION hdfs_path][TBLPROPERTIES (property_name=property_value, ...)]   -- (Note: Available in Hive 0.6.0 and later)[AS select_statement];   -- (Note: Available in Hive 0.5.0 and later; not supported for external tables)

create 创建表

创建一张表:

CREATE TABLE emp(
empno int,
ename string,
job string,
mgr int,
hiredate string,
sal double,
comm double,
deptno int
) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';

Hive加载csv文件数据时跳过第一行

在创建表时添加tblproperties(“skip.header.line.count”=”1”);到后面。

create table sales (transactionId int, customerId int, itemId int, amountPaid int) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' tblproperties("skip.header.line.count"="1");

查看表信息以及详细信息



这种方式不方便查看,常用的方式是desc formatted emp

导入数据

LOAD DATA LOCAL INPATH '/home/' OVERWRITE INTO TABLE emp;导入本地的一个文件

表数据在HDFS中查看


进一步查看HDFS的文件内容:

跟本地的数据内容是一样的。

修改表名

ALTER TABLE emp rename to emp2;查看HDFS中的数据:

Hive DDL操作相关推荐

  1. Hive DDL操作命令实验

    教材第三章Hive 数据定义操作实验 一 对数据库的操作 1 查看Hive中现有的所有数据库 hive> show databases; OK default 说明:当前Hive中只有一个默认数 ...

  2. 2.数据湖DeltaLake之DDL操作

    转载自  2.数据湖DeltaLake之DDL操作 前面讲了delta lake简介,特性及基本操作.本文主要是讲DeltaLake的DDL操作,实际上是依赖于spark datasourcev2 和 ...

  3. hive ddl语法使用详解

    一.前言 DDL,也叫数据定义语言 (Data Definition Language, DDL),是SQL语言集中对数据库内部的对象结构进行创建,删除,修改等的操作语言,这些数据库对象包括datab ...

  4. 零基础班第十五课 - Hive DDL详解

    第一章:上次课回顾 1.1 Hive部署过程中出现的坑 第二章:Hive DDL语句 2.1 图解Hive结构 2.2 创建数据库 2.2.1 数据库建表语句 2.2.2 数据库解析 2.2.3 修改 ...

  5. PXC DDL 操作阻塞写

    ====案例一 session1: session2: session3: 结论: 当PXC在进行DDL时,为了保证节点数据一致,此时整个集群拒绝写操作,注意是集群内所有的表写操作均无法提供写服务,但 ...

  6. MySQL DDL--MySQL 5.7版本Online DDL操作

    主键索引维护 1.新增主键索引 ## 可以使用ALGORITHM=INPLACE+LOCK=NONE方式,操作期间允许读写. ALTER TABLE tb001 ADD PRIMARY KEY (ID ...

  7. python应用中调用spark_在python中使用pyspark读写Hive数据操作

    1.读Hive表数据 pyspark读取hive数据非常简单,因为它有专门的接口来读取,完全不需要像hbase那样,需要做很多配置,pyspark提供的操作hive的接口,使得程序可以直接使用SQL语 ...

  8. oracle回收ddl权限,oracle禁止指定用户DDL操作触发器

    出于安全性或避免影响性能的考虑,在产品数据库中有时候会禁止或者在一定时间段内限制DDL语句的发生.Oracle也提高了很多方法来实现这个功能,这个简单介绍一下. 这篇介绍利用触发器来限制DDL语句. ...

  9. hive 简单操作搜狗实验室的词频文件

    1:下载搜狗实验室的词频文件  http://www.sogou.com/labs/dl/w.html [jifeng@jifeng02 ~]$ wget http://download.labs.s ...

最新文章

  1. html验证用户名已存在,BootstrapValidator验证用户名已存在(Ajax)_亦心_前端开发者...
  2. jQuery 选择器汇总-思维导图-选择器
  3. php前端路由权限,SaaS-前端权限控制
  4. c++引用另一个类的方法_转:关于A类,B类,C类IP地址的网段和主机数的计算方法...
  5. JavaScript 是一种什么样的语言
  6. linux运行大端程序,ARM 平台上的Linux系统启动流程
  7. springboot13 页面国际化(i18n)
  8. CodeForces 622A--F - Infinite Sequence
  9. VM14安装CentOS7并配置网络
  10. 数据结构 | 单链表SingleList【带你从浅入深真正搞懂链表】
  11. 软件著作权算法软件设计说明书_软件著作权设计说明书范本.doc
  12. R语言缺失值高级处理方法
  13. 研究知识追踪/学生模型的一些学校和人物
  14. iphone照片恢复至android,将照片从Android传输到iPhone的8种方法很容易
  15. 逻辑强化(06)分析推理 答案解析
  16. onsubmit表单提交简单使用
  17. 相关-21. 卷积的示意图(普通卷积,多通道卷积等)及Featur Map可视化
  18. 【Redis】实现附近人功能
  19. Python实现随机生成任意数量车牌号(完全符合2020年中国车牌号标准)
  20. BigDecimal 保留小数位

热门文章

  1. SQLserver分页 高效率
  2. mongodb远程连接配置(亲测)
  3. Python中的支持向量机SVM的使用(有实例有源码)
  4. 一图看懂py2/py3编码
  5. php5.6+Redis+Windows7安装 (phpstudy)
  6. 数据量很大的排序问题 大量数据如何排序,没有做测试
  7. MySQL安装sql追踪器phpgjx
  8. java如何返回之前代码_java – 如何在每次返回之前向消息添加代码?
  9. zookeeper设置临时节点失效时间_ZooKeeper 相关概念以及使用小结
  10. python替换缺失值_python 缺失值处理(Imputation)