Hive笔记之数据库操作

创建数据库

hive创建数据库的最简单写法和mysql差不多:

create database foo;

仅当名为foo的数据库当前不存在时才创建:

create database if not exists foo;

创建数据库时指定位置,这个位置一般是在hdfs上的位置:

create database foo location ‘/db/foo‘;

查看已经创建的数据库:

show databases ;

使用通配符查看foo开头的数据库:

show databases like ‘foo.*‘;

查看创建数据库的语句:

show create database foo ;

hive为每一个数据库创建一个目录,这个数据库中的表将会以子目录的形式放在这个数据库目录下

有一个例外就是default数据库中的表,default数据库没有自己的目录,所以是直接放在/user/hive/warehouse下面的:

同样的,当创建数据库如果没有指定存储位置,默认就是在/user/hive/warehouse/下的:

数据库描述信息

在创建数据库时可以指定描述性信息:

create database foo comment ‘this is foo database‘;

通过describe database可以查看到数据库的详细信息:

describe database foo;

数据库键值对信息

数据库可以有一些描述性的键值对信息,在创建时添加:

create database foo with dbproperties (‘own‘=‘cc‘, ‘day‘=‘20180120‘);

查看数据库的键值对信息:

describe database extended foo;

要修改数据库的键值对信息:

alter database foo set dbproperties (‘k1‘=‘v1‘, ‘k2‘=‘v2‘);

删除数据库

drop database if exists foo;

注意:

默认情况下是不允许直接删除一个有表的数据库的:

删除一个有表的数据库有两种办法:

1. 先把表删干净,再删库。

2. 删库时在后面加上cascade,表示级联删除此数据库下的所有表:

drop database if exists foo cascade;

prompt显示当前数据库名称

如果在一个数据库很多的环境下工作,需要 在不同的库之间切来切去(手动敲查询的时候全使用dbName.table可不是什么好主意…),可能一不小心就忘记自己当前在哪个数据库下了,可以通过设置一个属性改变当前的命令提示符,更专业的说法是prompt(用过CLI界面的应该对这个概念很熟悉),通过设置hive.cli.print.current.db属性可以在hive cli中显示当前数据库的名称,比如当前的数据库名称是foo:

set hive.cli.print.current.db=true

.

原文地址:https://www.cnblogs.com/cc11001100/p/9033930.html

时间: 2024-10-17 09:17:01

Hive笔记之数据库操作的相关文章

Symfony2学习笔记之数据库操作

数据库和Doctrine让我们来面对这个对于任何应用程序来说最为普遍最具挑战性的任务,从数据库中读取和持久化数据信息.幸运的是,Symfony和Doctrine进行了集成,Doctrine类库全部目标就是给你一个强大的工具,让你的工作更加容易. Doctrine是完全解耦与Symfony的,所以并不一定要使用它. 一个简单例子:一个产品,我们首先来配置数据库,创建一个Product对象,持久化它到数据库并把它读回来. 首先我们需要创建一个bundle: $php app/console gene

ThinkPHP 学习笔记 ( 三 ) 数据库操作之数据表模型和基础模型 ( Model )

//TP 恶补ing... 一.定义数据表模型 1.模型映射 要测试数据库是否正常连接,最直接的办法就是在当前控制器中实例化数据表,然后使用 dump 函数输出,查看数据库的链接状态.代码: public function testdb(){ $obj=M("User"); dump($obj); } 此时浏览器输出: object(Model)#5 (20) { ["_extModel:private"] => NULL ["db:protecte

ThinkPHP 学习笔记 ( 四 ) 数据库操作之关联模型 ( RelationMondel ) 和高级模型 ( AdvModel )

一.关联模型 ( RelationMondel ) 1.数据查询 ① HAS_ONE 查询 创建两张数据表评论表和文章表: tpk_comment , tpk_article .评论和文章的对应关系为,一条评论 id 对应一篇文章,为 ONE_TO_ONE 关系 ( 一对一 ).评论表的结构为: 其中 aid 字段与文章表的 id 字段对应.打开自定义模型 ArticleModel,让模型继承于 RelationModel,然后定义成员属性 $_link,代码: ArticleModel.cla

Flas-SQLAchemy数据库操作使用学习笔记

Flas-SQLAchemy数据库操作使用学习笔记 1.为你的Flask应用加载Flask-SqlAlchemy扩展 Code example: 1.1from flask import Flask f rom flask.ext.sqlalchemy import SQLAlchemy app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db' db = SQLAlchemy(ap

Hive命令行常用操作(数据库操作,表操作)

数据库操作 查看所有的数据库 hive> show databases ; 使用数据库default hive> use default; 查看数据库信息 hive > describe database default; OK db_name comment location owner_name owner_type parameters default Default Hive database hdfs://hadoop1:8020/user/hive/warehouse pub

iOS学习笔记(十六)——数据库操作(使用FMDB)

iOS中原生的SQLite API在使用上相当不友好,在使用时,非常不便.于是,就出现了一系列将SQLite API进行封装的库,例如FMDB.PlausibleDatabase.sqlitepersistentobjects等,FMDB (https://github.com/ccgus/fmdb) 是一款简洁.易用的封装库,这一篇文章简单介绍下FMDB的使用. 在FMDB下载文件后,工程中必须导入如下文件,并使用 libsqlite3.dylib 依赖包. FMDB同时兼容ARC和非ARC工

Hibernate学习笔记(一)-->数据库单表操作

Hibernate框架是一个全ORM映射框架,是一个非常流行的数据库操作框架之一,现在比较流行的还有MyBatis半ORM映射框架 在MyEclipse IDE开发工具中,可以很轻松的搭建Hibernate框架. 一.搭建一个项目 1.首先在MyEclipse中搭建一个web项目. 2.选中项目右键-->myeclipse-->Project Facets-->找到hibernate.这样就为项目添加了hibernate支持 3.打开hibernate.cfg.xml配置文件,在可视化编

《Spring技术内幕》笔记-第五章 数据库操作组件的实现

Spring JDBC的设计与实现 ?Spring JDBC采用模板的设计模式来完成设计.抽象类中定义模板方法,在模板方法中对处理过程进行描述,然后每个具体的过程实现则交由子类来实现. Spring JDBC模板类的设计与实现 1,设计原理 ?在Spring JDBC中,JdbcTemplate是一个主要的模板类,该类继承JdbcAccessor,实现JdbcOperation接口. ?在JdbcAccessor中对DataSource进行管和配置. ?JdbcOperation接口则定义了操作

CodeIgniter学习笔记(七)——CI中的数据库操作

CI数据库配置文件是/application/config/database.php // 可以创建多个数据库连接配置,通过$active_group选择使用哪个数据库连接 $active_group = 'default'; // 配置是否加载查询构建类,默认为TRUE,通常保持默认值 $query_builder = TRUE; // 数据库连接配置,可以有多个连接配置,索引需要区分开 $db['default'] = array( 'dsn' => '', 'hostname' => '