1. Hive元数据库是用来做什么的,存储哪些信息
本质上只是用来存储hive中有哪些数据库,哪些表,表的模式,目录,分区,索引以及命名空间。为数据库创建的目录一般在hive数据仓库目录下。
2. 怎样查看hive建的外部表的数据库
1
进入HIVE之前要把HADOOP给启动起来,因为HIVE是基于HADOOP的。所有的MR计算都是在HADOOP上面进行的。
2
在命令行中输入:hive。这个时候就可以顺利的进入HIVE了。当然了,如果你想直接执行HQL脚本文件可以这样:hive
-f
xxxxx.hql。
3
进入hive之后一一般默认的数据库都是default。如果你切换数据库的话所建的表都会是在default数据库里面。
4
创建数据库的语法是:create
database
database_name;非常简单的,其实hive跟mysql的语法还是比较相似的。为什么呢?请继续往下
5
切换数据库的时候可以输入:use
database_name;
查看所有数据库的时候可以输入:show
databases;
查看所有表的时候可以输入:show
tables
6
看表结构的时候可以输入:describe
tab_name;
3. hive怎么实现update操作
1、要想使用Hive首先需要启动hadoop,因为hive的使用是依赖于hadoop的hdfs文件系统以及MapRece计算的,下内图是启动hadoop,如容下图。
4. 为什么我的hive 不能创建数据库和表 create database userdb
-创建数据库
create database if not exists sopdm
comment ‘this is test database’
with dbproperties(‘creator’=’gxw’,’date’=’2014-11-12’) --数据库键值对属性信息
location ‘/my/preferred/directory’;
--查看数据库的描述信专息和文属件目录位置路径信息
describe database sopdm;
--查看数据库的描述信息和文件目录位置路径信息(加上数据库键值对的属性信息)
describe database extended sopdm;
5. hive能像关系数据库那样,建多个库吗
:目前我知道的方法是把你希望添加的数据写入到文本中,然后从文本导入到你的表格中。 但是,hive不知道oracle的insert into , update。 load data [local] inpath 'yourfile_location' [overwrite] into your_table;
6. linux中安装的hive所连接的数据库是哪个
sudo apt-get install mysql-server mysql-client
1). 建立数据库hive,
create database hive;
2). 创建用户hive
create user ‘hive’@’%’ identified by ‘hive’;
3).创建hive用户,并授权
grant all on hive.* to hive@’%’ identified by ‘hive’;
flush privileges
在启动内mysql时可能遇到的容问题:
7. Hive基础之Hive是什么以及Hive使用场景
Hive是什么
1)Hive 是建立在Hadoop (HDFS/MR)上的用于管理和查询结果化/非结构化的数据仓库;
2)一种可以存储、查询和分析存储在Hadoop 中的大规模数据的机制;
3)Hive 定义了简单的类SQL 查询语言,称为HQL,它允许熟悉SQL 的用户查询数据;
4)允许用Java开发自定义的函数UDF来处理内置无法完成的复杂的分析工作;
5)Hive没有专门的数据格式(分隔符等可以自己灵活的设定);
ETL的流程(Extraction-Transformate-Loading):将关系型数据库的数据抽取到HDFS上,hive作为数据仓库,经过hive的计算分析后,将结果再导入到关系型数据库的过程。
Hive是构建在Hadoop之上的数据仓库
1)使用HQL作为查询接口;
2)使用HDFS作为存储;
3)使用MapRece作为计算;
Hive应用场景
数据源:
1)文件数据,如中国移动某设备每天产生大量固定格式的文件;
2)数据库
以上两种不同的数据源有个共同点:要使用hive,那么必须要将数据放到hive中;通常采用如下两种方式:
1)文件数据:load到hive
2)数据库: sqoop到hive
数据的离线处理;
hive的执行延迟比较高,因为hive常用于数据分析的,对实时性要求不高;
hive优势在于处理大数据,对于处理小数据没有优势,因为hive的执行延迟比较高。
处理数据存放在hive表中,那么前台系统怎么去访问hive的数据呢?
先将hive的处理结果数据转移到关系型数据库中才可以,sqoop就是执行导入导出的操作