Hive随记

随手记一些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

时间: 2024-10-11 18:01:51

Hive随记的相关文章

记一则罕见的hive字段值异常引起map阶段的OOM

前段时间遇到了一个很诡异的发生的Map阶段的OOM异常,花了些时间才找到原因,这个简要记录一下. 先看log. 节点一的TaskTracker的log: 节点二的TaskTracker的log: 节点三的TaskTracker的log: 其他节点的TaskTracker中的log都和slave4的一样的: 故障分析: OOM是一个比较常见的故障,其中发生在reduce阶段最为常见,最有可能是数据通过map函数后,shuffle到reduce端处理时由于分布问题导致某个分组的值太多出现OOM.另外

hive on tez踩坑记2-hive0.14 on tez

在测试hive0.14.0 on tez时遇到的问题比较多:1.在使用cdh5.2.0+hive0.14.0+tez-0.5.0测试时,首先遇到下面的问题 java.lang.NoSuchMethodError: org.apache.tez.dag.api.client.Progress.getFailedTaskAttemptCount()I         at org.apache.hadoop.hive.ql.exec.tez.TezJobMonitor.printStatusInPl

hive on tez踩坑记1-hive0.13 on tez

最近集群准备升级到cdh5.2.0,并使用tez,在测试集群cdh5.2.0已经稳定运行了很长时间,因此开始折腾hive on tez了,期间遇到不少问题,这里记录下. hive on tez的部署比较简单,可以参考wiki.主要注意几个地方 1.编译的时候 mvn clean package -Dtar -DskipTests=true -Dmaven.javadoc.skip=true 2.需要将tez相关的包upload到hdfs中,并设置tez-site.xml   <property>

记一次从oracle到hive的历史数据迁移(一)

介绍一下具体场景 需要从现有在用的oracle中将历史数据迁移出来并导入到hive中,存在几个问题:1.现有oracle数据库在使用无法整个库导出,数据库服务器没有权限:2.由于各个数据提供方的各次升级,oracle数据库采取添加字段而不删除字段的方式更新,而hive中建立的表数据结构要按新的来,也就是说oracle导出的数据到hive表中需要做字段对应. 决定先将oracle导入到另一个oracle中,将oracle中表字段和hive中的表字段进行比对得到各个的对应关系,之后写对应的sqoop

二十五、Hadoop学记笔记————Hive复习与深入

Hive主要为了简化MapReduce流程,使非编程人员也能进行数据的梳理,即直接使用sql语句代替MapReduce程序 Hive建表的时候元数据(表明,字段信息等)存于关系型数据库中,数据存于HDFS中. 此元数据与HDFS中的元数据需要区分清楚,HDFS中元数据(文件名,文件长度等)存于Namenode中,数据存于Datanode中. 本次使用的是hive1.2.2版本 下载完毕之后解压: 将default文件复制一份成site文件,然后打开site文件,清空其内容,然后配置如下参数: h

记一发Hive on tez的配置(Hive 3.1.1, Hadoop 3.0.3, Tez 0.9.1)

直接下载Tez的binary包部署安装是有问题的,因为默认支持hadoop版本为2.7,2.7以上的就需要手动编译了. 下载Tez源码 CD到源码文件夹,mvn install -Dhadoop.version=3.0.3 -DskipTests -Dmaven.javadoc.skip=true 这里有个需要注意的地方,tez-ui的编译会很麻烦,因为伟大的墙.实在编译不过就跳过tez-ui模块吧--不影响其他部分的编译. 编译成功后,后面的步骤参考:https://blog.csdn.net

Hive UDAF开发详解

说明 这篇文章是来自Hadoop Hive UDAF Tutorial - Extending Hive with Aggregation Functions:的不严格翻译,因为翻译的文章示例写得比较通俗易懂,此外,我把自己对于Hive的UDAF理解穿插到文章里面. udfa是hive中用户自定义的聚集函数,hive内置UDAF函数包括有sum()与count(),UDAF实现有简单与通用两种方式,简单UDAF因为使用Java反射导致性能损失,而且有些特性不能使用,已经被弃用了:在这篇博文中我们

小圣求职记(1):腾讯篇

笔试 参加了实习和校招两场笔试,笔试题目难度中等,涉及计算机网络.操作系统.数据库.算法和数据结构.C/C++语法.下面是2014年9月份武汉地区软件研发类的题目和我的解答(事后做的,我是在合肥中科大参加的腾讯笔试,题目不一样): 一.不定项选择题 1. 如果MyClass为一个类,执行“MyClass a[5],*b[6]”语言会自动调用该类构造函数的次数是() A. 2 B.5 C. 4 D. 9 解析:选B,5次.只有a[5]定义了5个对象,而*b[6]定义的是6个对象指针并不会进行实例化

hadoop备记

Hadoop 的优势 Hadoop 是 一 个 能 够 让 用 户 轻 松 架 构 和 使 用 的 分 布 式 计 算 平 台. 用 户 可 以 轻 松 地 在Hadoop 上开发运行处理海量数据的应用程序.它主要有以下几个优点: 1.高可靠性.Hadoop 按位存储和处理数据的能力值得人们信赖. 2.高扩展性.Hadoop 是在可用的计算机集簇间分配数据完成计算任务的, 这些集簇可以方便地扩展到数以千计的节点中. 3.高效性.Hadoop 能够在节点之间动态地移动数据, 以保证各个节点的动态平