JouyPub

  • 首页

  • 归档

  • 区块链

  • BigData

  • Linux

  • Git手册

  • MySQL

  • Nginx

  • 科学上网

  • 搜索

数据仓库开发技巧

发表于 2021-04-26 | 分类于 BigData | 阅读次数:

该系列包含三篇:

  • 数仓开发规范,主要数仓系统建设的规范
  • 数仓开发习惯,主要是日常数仓开发的习惯
  • 数仓开发技巧,主要一些特殊场景下的解决方法

1、批量刷数据的写法,建议使用动态分区,尽量保证存量脚本和增量脚本是同一个,如果数据量少可以一次重刷,如果数据量多可以设置按月重刷
按月重刷的推荐写法:

1
2
select * from tabel_name
where ds between '${pre1day}' and last_day('${pre1day}') and ds<current_date()

阅读全文 »

数据仓库开发习惯

发表于 2021-04-07 | 分类于 BigData | 阅读次数:

该系列包含三篇:

  • 数仓开发规范,主要是数仓系统建设的规范
  • 数仓开发习惯,主要是日常数仓开发的习惯
  • 数仓开发技巧,主要一些特殊场景下的解决方法

开发之前需要对齐的概念和理解:

  • 表数据的定义,使用场景,和逻辑
  • 表的后续使用场景
  • 字段的定义和解释
    举例:class.idl_xxx_class
    表数据的定义和使用场景:潜客分发大宽表,最细维度。包括电商潜客分发,电销潜客的分发,指标有潜客、意向、订单、金额的分摊;使用场景包括后续所有的分发、引流报表,帮助内容人员分析转换路径。
    表的后续使用场景:后续所有kpi相关的指标都从这个表中出,引流报表、分发报表
    字段的定义和解释:略过
阅读全文 »

数据仓库开发规范

发表于 2021-03-21 | 分类于 BigData | 阅读次数:

该系列包含三篇:

  • 数仓开发规范,主要数仓系统建设的规范
  • 数仓开发习惯,主要是日常数仓开发的习惯
  • 数仓开发技巧,主要一些特殊场景下的解决方法

仓库表分层规范

分层名称含义与规则
odl日志数据层所有外部来源的数据都入到odl层
bdl基础数据层数据清洗后的规范化数据
idl接口数据层初步聚合统计表、主题宽表,必须有主键
adl应用数据层指标统计表,高度聚合统计表,必须有主键
dim字典维度层维度表,如果判断一个表为维度表的话,必须有主键
stage中间过程表复杂逻辑的中间表,命名规则stage1_bdl_user_uc、stage2_bdl_user_uc、…
tmp临时层临时表
sync同步层用于数据同步的表(有的表不适合直接同步,需要进一步加工处理后而生成的表)
阅读全文 »

Nginx 常用配置清单

发表于 2021-03-11 | 分类于 Nginx | 阅读次数:

1、侦听端口

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
server {
# Standard HTTP Protocol
listen 80;

# Standard HTTPS Protocol
listen 443 ssl;

# For http2
listen 443 ssl http2;

# Listen on 80 using IPv6
listen [::]:80;

# Listen only on using IPv6
listen [::]:80 ipv6only=on;
}
阅读全文 »

Hive ORC格式的配置问题

发表于 2021-02-15 | 分类于 BigData | 阅读次数:

这个问题有点不好描述,当Hive表是ORC格式时,因为特定的某些字段、类型、where条件,写入到表中的数据会缺失几条,用presto执行同样的条件是正常的

以下面这个sql为例,导致出问题的字段和条件都标记出来了(吐槽下,本来是加一个字段的需求,然后数据突然不对了…泪崩)

阅读全文 »

Hive left join指定where条件的问题

发表于 2021-01-26 | 分类于 BigData | 阅读次数:

先来看下两组sql

sql1:

1
2
3
4
5
6
7
8
9
10
select
if(t2.foo is null, true, false)
, if(t2.foo is not null, true, false)
, t1.*, t2.*
from (select * from dual) t1
left join (select 'a' as foo from dual) t2
on t1.foo = t2.foo ;

result:
true false x NULL

阅读全文 »

Mac使用Charles抓包教程

发表于 2021-01-11 | 分类于 日常开发 | 阅读次数:

一、在Mac上使用Charles本地抓包的流程(现在几乎都是https)

1.安装Charles

2.电脑安装Charles证书

阅读全文 »

crontab配置git命令报错

发表于 2020-12-23 | 分类于 Linux | 阅读次数:

需求:
在linux crontab中配置git定时拉取和提交的命令
如0 */1 * * * cd /services/apps/scripts && /usr/bin/git pull

在实际过程中,上述执行是会报错了的

默认情况下crontab的执行日志会以mail的形式返给当前用户,如果需要查看,直接在控制台执行mail命令就能看到执行日志

错误1:没有权限读取文件
原因:crontab中的运行环境和默认环境不一致,无法读取mac非User目录下的文件
解决方法:将文件夹迁移至User下

阅读全文 »
12…30
JouyPub

JouyPub

聊聊区块链、大数据

235 日志
14 分类
47 标签
RSS
友情链接
  • 工具箱
  • 子涵笑谈前端
  • 大数据玩家
© 2017 — 2021 JouyPub