随手记一些Hive容易遗漏的点或者问题,之后可能还会继续更新。
1、Hive使用一个inputFormat对象将输入流分割成记录,然后使用一个outputFormat对象来将对象格式化为输出流,再使用一个SerDe在读数据时将记录解析成列,在写数据时将列编码成记录。
2、where条件对分区字段使用UDF可能导致扫全表, 例如时间戳转换函数,是在逐行转换。
3、分桶
4、可以使用视图来降低查询复杂度、限制基于条件过滤数据。
5、Hive中可以创建索引,不过基本不用。
6、Explain Extended
7、并行执行 JVM重用
8、Groovy
9、HCatalog
10、
Hive CLI会在本地创建如文件名为.history这样的部件,以及会在/tmp目录和hadoop.tmp.dir目录下创建一些条目。
Hive元数据存储连接可能是直接连接到一个JDBC数据库或者通过Thrift进行连接,这些都需要使用用户的身份进行各种操作。
Hadoop的文件用户权限模型(用户、组、其他)和很多其他数据库中用户权限模型有很大差异,数据库中通常对表行或者字段级别进行授权和权限回收操作来进行权限控制。
hive.files,umask.value
hive.metastore.authorization.storage.checks
hive.metastore.executr.setugi
hive授权模式默认不开启 hive.security.authorization.enabled hive.security.authorization.createtable.owner.grants
hive.start.cleanup.scratchdir 默认false ,设置为true的话 每次重启HiveServer服务时会清理掉临时目录
可以设置属性 默认授权
11、Hive是一个胖客户端 web cli thrift 实例都不是完全独立于其他实例的
12、Hive结合zk实现锁 hive.zookeeper.quorum hive.support.concurrency
13、HiveServiceBAction
14、压缩 存档
15、Hive Streaming Transform
Streaming的执行效率通常比编写UDF或改写InputFormat对象的方式要低,序列化反序列化低效,难以调试。
16、RegexSerDe CSVSerDe JSONSerDe
原文地址:https://www.cnblogs.com/GodMode/p/11789726.html