sql
文章平均质量分 92
IT届的peng宇宴
这个作者很懒,什么都没留下…
展开
-
hive分区表新增字段(add columns)后旧分区报错/字段无法写入(CASCADE)
1.问题描述日常工作中我们经常会给hive表新增字段,常见的新增方式多为:ALTER TABLE db.table_test add columns (new string comment '我是新字段') ;如果我们的表是分区表,那常常就会出现一些问题:查询旧分区时会莫名其妙的出现 FAILED:Execution Error,return code 2 from XXXXXX 等报错insert overwrite时 旧分区新增的字段无法更新2.解决办法通过查询官方文档,可以发现官方原创 2020-09-04 17:40:34 · 5394 阅读 · 0 评论 -
一文带你了解亿级流量外卖平台-数仓分层架构
目录一.概述1 什么是数据仓库?2 为什么要设计数据分层?3 数据仓库有什么特点?二.分层架构1 常见通用的数仓分层2 外卖数仓分层2.1 分层情况2.2 不同层级数据特点一.概述在阅读本文之前,我们先来了解几个基本的概念。1 什么是数据仓库?数据仓库(Data Warehouse)简称DW或DWH,是数据库的一种概念上的升级,可以说是为满足新需求设计的一种新数据库,而这个数据库是需容纳更多的数据,更加庞大的数据集。数据仓库主要是用于数据挖掘和数据分析,让不同来源的数据能够联系在一起,为消灭消息孤原创 2020-09-04 15:56:22 · 835 阅读 · 0 评论 -
hive离线数仓数据采集——基于canal的binlog数据同步方案
目录1.简介2.方案架构3.离线还原数据3.1.数据落盘至hdfs3.2 Merge操作3.3 Merge sql 代码3.3.1 首先创建一个快照表来存放test库的binlog日志3.3.2 创建一个待还原的ods层hive表3.3.3 在hive中还原出与mysql相同的数据(binlog+历史数据)3.3.3.1 binlog demo3.3.3.2 全量数据合并3.3.3.3 写入数据(同时过滤掉mysql中已删除的记录)1.简介在离线数仓中,我们常常会把DB数据以及日志数据抽取到数仓的ODS原创 2020-05-25 18:27:12 · 3289 阅读 · 1 评论 -
Hive Lateral View explode列为空时导致数据异常丢失
目录1.问题描述2.查找原因3.解决办法(建议使用方法二)3.1 方法一3.2 方法二1.问题描述日常工作中我们经常会遇到一些非结构化数据,因此常常会将Lateral View 结合explode使用,达到将非结构化数据转化成结构化数据的目的,但是该方法对应explode的内容是有非null限制的,否则就有可能造成数据缺失。SELECT name,infoFROM ( SELECT name, split(info_list,',') as info_arrary原创 2020-05-21 17:21:28 · 2023 阅读 · 2 评论 -
hadoop集群运行时遇到Unable to close file because the last block does not have enough number of replicas
1.问题描述hql脚本夜间调度时部分表随机出现了 Unable to close file because the last block does not have enough number of replicas 的报错。 手动重跑后恢复正常。2.查找原因通过报错信息可以得知 最后一个block块没有足够的副本而不能关闭文件。 这说明了在某一时刻可能有任务大量读取blocks,耗费了过多...原创 2020-04-08 15:37:51 · 7430 阅读 · 2 评论 -
hvie中的‘不等于’会将null错误过滤
**1.问题描述**最近在hive中计算时发现部分存在null的数据会被错误过滤掉,造成了数据结果错误。**2.查找原因**根据存储规则我们可以知道,int与string类型数据存储,null默认存储为 \N 。 一般在对null值进行判断时我们会用到 is null 或着 is not null 。这里where虽然过滤的是某个不为null的值,但是在计算的同时也会把null值...原创 2020-03-25 18:41:04 · 1135 阅读 · 0 评论