建设部网人事考试网站,网站技术制作,银河互联网电视有限公司,百度小说风云榜分层优点#xff1a;复杂的东西可以简单化、解耦#xff08;屏蔽层作用#xff09;、提高复用、方便管理
SA 贴源 数据组织结构与源系统保持一致
shm 历史层 针对不同特征的数据做不同算法#xff0c;目的都是为了得到一份完整的数据
PDM 明细层 做最细粒度的数据明细…分层优点复杂的东西可以简单化、解耦屏蔽层作用、提高复用、方便管理
SA 贴源 数据组织结构与源系统保持一致
shm 历史层 针对不同特征的数据做不同算法目的都是为了得到一份完整的数据
PDM 明细层 做最细粒度的数据明细最高扩展性和灵活性企业级的数据标准源系统之间的打通
BDM 业务层 针对集市经常放在一起用到的数据做提前预处理做维度的横向拆合来源的纵向拆合形成业务大宽表
基础层 针对集市主题做定制化整合部门级的数据标准
集市层 基础层和关系层基础上加工出基础原子指标
汇总层 集市层的原子指标基础上增加业务限定、统计周期、统计粒度计算出来的派生指标
报表、指标层 基础指标或派生指标的逻辑计算加工而成 埋点行为数据组成
公共字段
业务字段埋点上报的字段
事件
et: [ //事件 { ett: 1506047605364, //客户端事件产生时间 en: display, //事件名称 启动和事件日志是根据事件名称的不同 kv: { //事件结果以 key-value 形式自行定义 goodsid: 236, action: 1, extend1: 1, place: 2, category: 75 } } ] 项目经验总结
1.shell 中单引号和双引号的区别 不转义变量 “”转义变量
反引号 执行引号中命令 2.tez优点
可以将多个有依赖的作业任务组合成一个完整的DAG作业只需一次读写HDFS效率更高。 3.ods层
启动日志表只有一个字段line保存json
事件日志表只有一个字段按dt分区 4.自定义UDF可以自己埋点打印日志方便调试。
函数定义 public Text evaluate(Text input, int startIndex, int length) {// 在函数开始处打印日志System.out.println(Executing SubstringUDF...);// 打印输入参数System.out.println(Input: input.toString());System.out.println(Start index: startIndex);System.out.println(Length: length);// 执行子字符串操作String result input.toString().substring(startIndex, startIndex length);// 在函数结束处打印日志System.out.println(Substring: result);System.out.println(SubstringUDF execution completed.);// 返回结果return new Text(result);
}打成jar包并注册
$ javac -cp /path/to/hive/lib/hive-exec-x.x.x.jar SubstringUDF.java
$ jar -cvf substringudf.jar SubstringUDF.class
$ hive
hive ADD JAR /path/to/substringudf.jar;使用
-- 创建测试表
CREATE TABLE employees (name STRING,salary INT
);-- 插入测试数据
INSERT INTO employees VALUES(John Doe, 5000),(Jane Smith, 6000),(Michael Johnson, 7000);-- 使用自定义 UDF 函数获取员工姓名的子字符串
SELECT name, substring_udf(name, 1, 4) AS substring_name FROM employees;输出结果
Executing SubstringUDF...
Input: John Doe
Start index: 1
Length: 4
Substring: John
SubstringUDF execution completed.