Hive快问快答

最近工作中使用Hive,对于Hive的一些概念性知识,特别是一些Yes/No的问题,予以记录,不咎原理(有必要会另记下来),只求清晰,持续更新。

Hive有索引吗?

Hive库表元信息存在哪?

存在关系型数据库中,Hive通过JDBC和关系型数据库连接,默认使用derby数据库,存储于本地位置,可通过配置文件修改JDBC连接配置,从而改变和元数据存储位置。

实际数据存在哪?

存储于文件系统中,如HDFS,S3,Alluxio

Hive和Hbase的关系?

HIVE是适应与大数据生态的数据查询工具,HIVE不是一个完整的数据库,HDFS的限制导致HIVE不能进行数据条目级别的操作,如条目的增加,删除,修改。
而HBase具有更多的数据库特性,包括条目的增删改,但Hbase不提供SQL查询语言,Hive和Hbase可以联用。

One more question:HBase是怎么做到这些数据库特性的?
之所以能实现数据库特性是因为HBase使用了缓存存储操作日志,然后定期将日志与HDFS同步

更多关于Hive和Hbase:Hive与Hbase区别

什么是列存储?

同一表中的不同列可以分开存储,列存储在查询只涉及有限列的情况下,可以大幅减少数据访问,提高速度

Hive和Hadoop?

Hive的存储可以使用HDFS,大部分HiveSQL会转化为MapReduce任务

什么是内部表,外部表?

1、在导入数据到外部表,数据并没有移动到自己的数据仓库目录下,也就是说外部表中的数据并不是由它自己来管理的!而表则不一样;
2、在删除表的时候,Hive将会把属于表的元数据和数据全部删掉;而删除外部表的时候,Hive仅仅删除外部表的元数据,数据是不会删除的!

Hive的使用方式?

CLI
HiveServer2
HCatlog
WebHcat

Hive支持事务吗?

支持

Hive的Log?

使用log4j,log的设置在/HIVE_HOME/conf/hive-log4j.properties中
例如:hiveconf hive.root.logger=DEBUG,console 设置日至输出等级和位置

Hive的配置项?

1,使用配置文件进行配置
/HIVE_HOME/conf
hive-default.xml
hive-log4j.propertites
hive-env.sh
hive-site.xml
2,使用命令行进行配置
hive –hiveconf hive.root.logger=INFO,console //for HiveCLI (deprecated)
hiveserver2 –hiveconf hive.root.logger=INFO,console
Hive继承它基于的HDFS所有配置,在此基础上可以添加和修改;
在命令行中输入:“set -v”可以打印与HDFS配置不同的配置项

Hive的数据组织?

Databases-Tables-Partitions-Buckets

Hive一次指令

usage: hive
 -d,--define <key=value>          Variable subsitution to apply to hive
                                  commands. e.g. -d A=B or --define A=B
    --database <databasename>     Specify the database to use
 -e <quoted-query-string>         SQL from command line
 -f <filename>                    SQL from files
 -H,--help                        Print help information
    --hiveconf <property=value>   Use value for given property
    --hivevar <key=value>         Variable subsitution to apply to hive
                                  commands. e.g. --hivevar A=B
 -i <filename>                    Initialization SQL file
 -S,--silent                      Silent mode in interactive shell
 -v,--verbose                     Verbose mode (echo executed SQL to the
                                  console)
hive -e "select * from XXX"
hive -e "select * from XXX" > result.txt
hive -f XXXX.hql

Hive CLI可以使用Shell和Hadoop指令

Shell:

! + shell命令

Hadoop:

dfs ... 省略hadoop前缀
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值