自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 hive、sparksql通用的增加字段cascade

cascade:联级操作。

2023-12-05 11:06:25 394

原创 Idea启动报错idea start failed -org.picocontainer.PicoContainer com.intellij.openapi.application.Applicat

【代码】Idea启动报错idea start failed。

2023-08-11 14:33:14 774

原创 hive - 面试题 - 最近一次购物在一年前(近一年内无购物)

中间有个问题,一天内多次下单,只能先写子查询去重,后续再关联出全天所有记录,不知道有没有其他合适的方式。该用户符合365天内无交易且当日有交易的数据打标签,如果当天有多条记录,同样打标签。当前订单时间 - 最近一次的下单时间 >= 365 ,即最近365天内无订单记录。有表:用户id,订单id,下单日期。

2023-08-01 18:17:45 185 1

原创 mac jd-gui-osx jar包反编译工具使用报错

JD-GUI 是一款轻量级的jar包反编译工具官网地址:https://java-decompiler.github.io/笔者安装完之后启动报错,如果你也有相同问题,可以使用我的方法解决看看。笔记本信息:报错信息:从报错信息来看,是jdk版本,但笔者已经安装jdk1.8:解决方案:打开文件找到文件替换此文件universalJavaApplicationStub.sh#!/bin/bash###########################################

2023-07-28 11:39:20 281 1

原创 数据仓库 - hive 查询表select count(*) 数据量为0 ,select * 有数据

因为执行count(1)或count(*)统计行数时,默认会从Hive的元数据库中查询 rowsNum。data的方式填充表数据,则不会收集此统计信息,Hive收集的统计信息与收集时机见官方文档。对于类似于“count(1)”的基础查询不使用元数据中的统计信息,而是执行MR Job。对应值作为结果返回,一般情况下,如果是使用加载数据文件load。这个是窗口级别的临时设置。下次再进入hive时还需要重新设置。3、使用ANALYZE命令手动更新表统计信息。

2023-07-18 15:02:07 787 1

原创 数据仓库 - hive 合并小文件

1个文件块,占用namenode多大内存150字节 128G能存储多少文件块?每个小文件都会起到一个MapTask,1个MapTask默认内存1G。1024kb*1024byte/150字节 = 9.1亿文件块。只支持 RCFILE 和 ORC 文件类型。2、hive使用spark引擎。小文件太多会有什么影响。1、hive使用mr引擎。

2023-07-13 10:25:20 882 1

原创 hive - repair分区报错 FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask

在hive中有时会删除表(外部表)然后创建表,此时表元数据并不能和表信息映射,需要我们使用修复语句msck repair table 库名.表名;有些时候会报错,追踪了下原因,是hdfs上文件分区与hive分区不一致,我们强制忽略就可以。

2023-07-13 10:12:17 377 1

原创 数据仓库-hive 窗口函数中的rows和range的区分

datediff(buy_date,'2021-01-01’) 这个值找【datediff(buy_date,'2021-01-01’)-6,datediff(buy_date,‘2021-01-01’)】中间的key,然后根据这个范围内的所有key进行窗口函数计算,这个范围内的key结果都相同,rang限定的是key的窗口,突破了物理的行,不要在考虑行的问题,相同key一起处理。相同key的窗口函数的值是相同的,尽管不在同一行,已经不在考虑行,只考虑key的值。比如近几天,近几个等等。

2023-07-13 10:00:08 463 1

原创 数据仓库-Spark为什么比MR快?

(2)Spark不需要将计算的中间结果写入磁盘。这得益于Spark的RDD,在各个RDD的分区中,各自处理自己的中间结果即可。(2)对于Spark来说,每一个Job的结果都可以保存到内存中,供后续Job使用。(1)MR在Map阶段会在溢写阶段将中间结果频繁的写入磁盘,在Reduce阶段再从磁盘拉取数据。(1)对MR来说,每一个Job的结果都会落地到磁盘。(2)Spark的任务是以线程的方式运行在进程中。(1)MR任务以进程的方式运行在Yarn集群中。开启和调度进程的代价一般情况下大于线程的代价。

2023-07-10 19:54:47 214 1

原创 spark 三种join,学习记录

shuffle sort merge join --先shuffle,相同key分发到一起,并排序,排序后直接关联。shuffle hash join --先shuffle,相同key分发到一起,再将小表构建hash table。borcast hash join --小表先缓存到drver端,再广播到每一个execute。

2023-07-10 15:40:55 44 1

原创 数仓-数据治理

1)对表的元数据和业务元数据进行合并,一方面做成数据字典,方便数仓之外人员查看,另一方面可以监控到资源占用较多的任务和表,分别处理小文件和清除僵尸数据,做ddl控制。2)对集群元数据进行合并,监控资源使用情况,峰值,合理安排任务运行时间,错峰,削峰,监控任务运行情况。3)数据质量,老生常谈,数据服务SLA基本靠数据质量来保证,必做空值,重复值,枚举值验证,交叉验证。1)血缘,快速追踪任务上下游,修数据,字段级别和表级别。数据治理目的:清晰企业数据资产,对资产进行全面梳理。2)热力图,访问情况。

2023-07-07 11:54:44 612 1

原创 数据仓库 - hive - 日期维表,日,周,月份,年份,节假日,工作日

数仓中常用的日期维表,每年生成一次,供大家参考。

2023-07-05 09:06:36 601 1

原创 数仓 - hive ,身份证和手机号 匹配 - 正则方式

数仓 - hive ,身份证和手机号 匹配 - 正则方式。

2023-07-03 16:03:33 406

原创 pycharm创建py脚本自动增加注释和描述

pycharm创建py脚本自动增加注释和描述。创建脚本时可自动带入简单注释。

2023-06-30 15:56:45 197 1

原创 数据仓库-酒店主题和业务分享

自己整理的Xmind仅供参考,笔者目前在一家酒店集团做数据开发,也是0-1建设,有兴趣的欢迎加我好友沟通。入住天数(根据房间类型不一样,实际间夜会有不同,如全天房间夜是1,钟点房/半天房是0.5,具体定义根据自身业务设定)本文针对酒店行业的特性,对酒店业务主题进行划分,列举酒店常用统计维度和指标供大家参考。客户:可以分为会员、散客(自行到店入住)、协议(与酒店长期合作,内部价)、中介。线上预定:可以分为直销(官网/小程序/app)和分销(渠道合作如携程/飞猪)ADR:平均房价=客房收入/实际售出客房数量。

2023-06-29 10:38:59 283

原创 Idea更新新版本报错,Some conflicts were found in the installation area.

请添加图片描述](https://img-blog.csdnimg.cn/eaa75e5af7d243d8a2a3f8a731feb6c1.png。今天直接升级发现报错,找了下解决方法,供大家参考。意思是当前方式无法升级,请卸载重装新版本。笔者使用的Idea是2021.2版本。解决方案:使用官方工具进行升级。下载并安装,完美解决问题。

2023-06-27 11:48:45 899 1

原创 阿里云DataWorks开发UDF函数,自定义一周开始时间

今天使用阿里云套件quick bi开发一个报表,需求是自定义上周六到本周五为自然周来统计周指标,常规日期函数已经不能满足此需求,需自定义UDF函数来实现,具体解决过程如下。此需求的核心就是重写weekofyear这个方法,传入参数周六作为一周的开始时间,周五就作为结束时间,有了这个思路我们就开始自定义UDF函数。7、以下步骤在dataworks完成,选择项目空间后,在资源处新建jar,并上传jar包。4、本地测试,测试时间为2023-06-26,假如周六作为一周的开始,则是本年第26周。

2023-06-26 14:07:19 813 1

原创 离线数仓经验之谈五-数仓数据治理

数据治理思路。

2023-06-20 18:24:36 48

原创 离线数仓经验之谈四-数仓维度建模

过程产出:数仓业务流程图、数据加工图、数据总线矩阵。过程产出:流程图、时序图、产品设计文档、用例图。业务事实划分、维度划分(区分实体和关系)确定业务数据的产生时间,对数据进行探查。对业务进行抽象,划分业务域和主题。表、SQL代码开发,部署、监控。明确每个业务过程的之间的联系。过程产出:域、主题划分设计。确定业务与其他系统的联系。确定业务内容、业务边界。指标口径、指标含义明确。确定业务相关名词含义。

2023-06-20 09:52:47 83

原创 离线数仓经验之谈三-数仓流程规范

注:所有QS开发的前提是遵循《

2023-06-16 15:16:05 494 1

原创 离线数仓经验之谈二-数仓开发规范

此外,数仓数据在ETL处理时,并非所有的情况都需要查询原表所有字段,而是其中的部分关键字段。为了增强代码的可读性,必要的时候需添加代码逻辑说明,且统一使用如下格式的脚本头部注释,说明该脚本的业务用途(该项可由项目空间管理员在项目内统一配置)。描述:以分析的主题对象作为建模驱动,基于应用和产品的指标需求,构建公共粒度的轻度或重度汇总指标事实,为应用服务层提供相对稳定的数据模型。装载周期:min(分钟)、h(小时)、d(天)、w(周)、m(月)、q(季)、y(年),不写默认为天处理。

2023-06-15 15:56:14 342 1

原创 离线数仓经验之谈一-OneID解决方案(建议收藏)

笔者是5年经验的离线数仓开发者,基于之前行业经验,准备整理下之前遇到的一些问题,本篇谈谈我对数仓中老生常谈的唯一标识(uid)的理解,直接上干货。APP行为日志采集到数仓后,常采用设备信息作为用户的唯一标识。

2023-06-12 18:20:08 974

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除