随笔分类 - Hive
-
微博数仓数据延时优化方案
摘要:前言 本文以离线数据仓库为背景,重点介绍因传输链路数据延时的不确定性,可能导致部分延迟文件无法参与正常的调度计算或同步,导致数据缺失的问题成因、业务影响及相应的解决方案。 关于这类问题的处理,有这么一种论调:我们认为正常情况下,脏 或 缺失 数据的比例是很小的,可以大致认为数据是可用的的;或者我们可 阅读全文
-
Hive UDF使用资源文件及动态更新方案--后记
摘要:Hive UDF使用资源文件及动态更新方案--后记 在 Hive UDF使用资源文件及动态更新方案 一文中,针对UDF动态更新的问题,提出解决方案:UDF仅使用业务接口,初始化时动态从位于HDFS的Jar文件中加载业务接口实现类;其中,业务接口及实现类与UDF一一对应。 通常情况下,业务接口仅包含一 阅读全文
-
Hive UDF使用资源文件及动态更新方案
摘要:Hive UDF使用资源文件及动态更新方案 背景 注: 本文中的“函数”等同于UDF,默认情况下特指永久函数。 Hive 0.13版本开始支持自定义永久函数(Permanent Function),可以将函数注册到Hive Metastore,通过Hive/Beeline/Spark SQL可以直接 阅读全文
-
Hadoop RCFile存储格式详解(源码分析、代码示例)
摘要:RCFileRCFile全称Record Columnar File,列式记录文件,是一种类似于SequenceFile的键值对(Key/Value Pairs)数据文件。关键词:Record、Columnar、Key、Value。RCFile的优势在哪里?适用于什么场景?为了让大家有一个感性的认识... 阅读全文
-
Spark SQL JSON数据处理
摘要:背景这一篇可以说是“HiveJSON数据处理的一点探索”的兄弟篇。平台为了加速即席查询的分析效率,在我们的Hadoop集群上安装部署了Spark Server,并且与我们的Hive数据仓库共享元数据。也就是说,我们的用户即可以通过HiveServer2使用Hive SQL执行MapReduce分析数... 阅读全文
-
Hive JSON数据处理的一点探索
摘要:背景JSON是一种轻量级的数据格式,结构灵活,支持嵌套,非常易于人的阅读和编写,而且主流的编程语言都提供相应的框架或类库支持与JSON数据的交互,因此大量的系统使用JSON作为日志存储格式。使用Hive分析数据(均指文本)之前,首先需要为待分析的数据建立一张数据表,然后才可以使用Hive SQL分析... 阅读全文
-
由“Beeline连接HiveServer2后如何使用指定的队列(Yarn)运行Hive SQL语句”引发的一系列思考
摘要:背景我们使用的HiveServer2的版本为0.13.1-cdh5.3.2,目前的任务使用Hive SQL构建,分为两种类型:手动任务(临时分析需求)、调度任务(常规分析需求),两者均通过我们的Web系统进行提交。以前两种类型的任务都被提交至Yarn中一个名称为“hive”的队列,为了避免两种类型的... 阅读全文
-
开放计算平台——数据仓库(Hive)权限控制
摘要:平台数据仓库使用Hive进行构建,通过调研决定使用“SQL Standards Based Authorization in HiveServer2”对用户提交的SQL进行权限控制,也可根据实际情况选择是否开启“Storage Based Authorization in the Metastore... 阅读全文
-
SQL Standard Based Hive Authorization(基于SQL标准的Hive授权)
摘要:说明:该文档翻译/整理于Hive官方文档https://cwiki.apache.org/confluence/display/Hive/SQL+Standard+Based+Hive+Authorization#SQLStandardBasedHiveAuthorization-ObjectPri... 阅读全文
-
HiveServer连接优化
摘要:引言数据平台目前通过Hive SQL的方式提供数据分析服务,系统使用多台HiveServer(JDBCServer)接收客户端连接请求,实际使用场景中频频出现HiveServer内存消耗过多导致机器Swap过高,需要重启HiveServer来缓解问题,但在某些任务比较集中的时间段往往会导致大量任务执... 阅读全文
-
Hive SQL运行状态监控(HiveSQLMonitor)
摘要:引言目前数据平台使用Hadoop构建,为了方便数据分析师的工作,使用Hive对Hadoop MapReduce任务进行封装,我们面对的不再是一个个的MR任务,而是一条条的SQL语句。数据平台内部通过类似JDBC的接口与HiveServer进行交互,仅仅能够感知到一条SQL的开始与结束,而中间的这个过... 阅读全文