数仓用户行为数据分析
分层优点:复杂的东西可以简单化、解耦(屏蔽层作用)、提高复用、方便管理
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.
相关文章:
数仓用户行为数据分析
分层优点:复杂的东西可以简单化、解耦(屏蔽层作用)、提高复用、方便管理 SA 贴源 数据组织结构与源系统保持一致 shm 历史层 针对不同特征的数据做不同算法,目的都是为了得到一份完整的数据 PDM 明细层 做最细粒度的数据明细…...
RK3288 Android5.1添加WiFiBT模块AP6212
CPU:RK3288 系统:Android 5.1 注:RK3288系统,目前 Android 5.0 Kernel 3.10 SDK 支持 Braodcom,Realtek 等 WiFi BT 模块 各个 WiFi BT 模块已经做到动态兼容,Android 上层不再需要像以前一样进 行特定宏的配置 此…...
使用 YApi 管理 API 文档,测试, mock
随着互联网的发展,API变的至关重要。根据统计,目前市面上有上千万的开发者,互联网项目超过10亿,保守统计涉及的 API 数量大约有 100 亿。这么大基数的API,只要解决某些共有的痛点,将会是非常有意义的事情。…...
chatgpt生成【2023高考作文】北京卷二 - 亮相
舞台上,戏曲演员有登场亮相的瞬间。生活中也有许多亮相时刻:国旗下的讲话,研学成果的汇报,新产品的发布……每一次亮相,都受到众人关注;每一次亮相,也会有一段故事。 请以“亮相”为题目&#x…...
实验四、shell编程
一、实验目的 1.了解shell的特点和主要种类。 2.掌握 shel1 脚本的建立和执行方式。 3.掌握bash的基本语法。 4.学会编写shell 脚本。 二、实验内容 shell 脚本的建立和执行。历史命令和别名定义。shell变量和位置参数、环境变量。bash的特殊字符。一般控制结构。算术运算及…...
【代码随想录】刷题Day51
1.最佳买卖股票时机含冷冻期 309. 最佳买卖股票时机含冷冻期 1.dp数组的含义:dp[i][0]为第i天卖出股票的最大价值;dp[i][1]为第i天持有股票的最大价值 2.dp数组的条件:由于有冷冻期,所以dp数组的条件就变了。第i天卖出股票的最大…...
centos7下svnserve方式部署subversion/SVN服务端(实操)
一般来说,subversion服务器可以用两种方式架设: 一种是基于svnserve,svnserve作为服务端; 一种是基于Apache,用apache作为服务端。 这里采用第一种方式部署。 执行如下命令,安装SVN。 yum install sub…...
一款红队批量脆弱点搜集工具
功能 指纹识别:调用“三米前有香蕉皮“前辈工具,他的工具比finger好用 寻找资产中404,403,以及网页中存在的其他薄弱点,以及需要特定路径访问的资产 后续会把nuclei加进来 目前只有windows可以用 使用 第一次使用脚本请运行p…...
Docker 基本管理
一、Docker 概述 Docker是一个开源的应用容器引擎,基于go语言开发并遵守了apache2.0协议开源。 Docker是在Linux容器里运行应用的开源工具,是一种轻量级的“虚拟机”。 Docker的容器技术可以在一台主机上轻松为任何应用创建一个轻量级的、可移植的、自…...
Debezium系列之:把多张表的数据分发到同一个Kafka Topic,同一张表的数据始终进入Topic相同分区
Debezium系列之:把多张表的数据分发到同一个Kafka Topic,同一张表的数据始终进入Topic相同分区 一、需求背景二、实现思路三、核心参数和参数详解四、创建相关表五、提交Debezium Connector六、插入数据七、消费Kafka Topic八、总结和延展一、需求背景 debezium采集数据库的多…...
雪崩 - 如何重试 - sla和重试风暴的双保证
父文章 异常导致级联雪崩的例子 - 不应该有立即重试._个人渣记录仅为自己搜索用的博客-CSDN博客 一个系统处于稳态临界点 如果立即重试3次, 会导致流量瞬间增大, 哪怕后来系统10s内自愈了, 这个时候, 流量本质上增加了3倍. 如果rpc框架不是fastFail ( 超过 调用方失败timeout上…...
[网鼎杯 2018]Fakebook1
拿到题目后是一个博客的界面,这里可以登录和注册 点入登录界面,猜测可能是sql注入 试了很多次,都不是,也没有回显报错,所以把目光放到了注册上面 注册的其他行数据,差不多都可以乱填,只有一个bl…...
Oracle-第一章-多表查询和其他
4多表关联查询 4.1表的别名 ①在多表关联查询时,如果多个表之间存在同名的列,则必须用表名限定列的引用如dept.deptno,emp.deptno ②为使语句简洁,使用表别名,表别名在from子句中定义如 emp e ③表别名一经定义,在整…...
Office Visio 2016安装
哈喽,大家好。今天一起学习的是Visio 2016的安装,这是一个绘制流程图的软件,用有效的绘图表达信息,比任何文字都更加形象和直观。Office Visio 是office软件系列中负责绘制流程图和示意图的软件,便于IT和商务人员就复杂…...
GPT从入门到精通之 GPT 模型入门及原理介绍
GPT 模型入门及原理介绍 如果你关心人工智能,并关注最新的自然语言处理技术,那么你可能听说过 GPT 模型。GPT(Generative Pre-trained Transformer)是 OpenAI [1] 研究团队开发的一种基于 Transformer 架构的模型,能够…...
USB数据线上的“疙瘩”
在不少键盘、鼠标或是游戏外设的数据线末端我们都能见到一小段金属圆环。虽然这算得上是习以为常的一个设计,但如果说到其具体作用的话很多人一下子还真回答不上来。反正笔者在这里先可以告诉大家,这货肯定不是简简单单的配重块或是装饰品,要…...
公司新来了个00后测开,上来一顿操作给我秀麻了.....
开年公司新来了个同事,听说大学是学的广告专业,因为喜欢IT行业就找了个培训班,后来在一家小公司实习半年,现在跳槽来我们公司。来了之后把现有项目的性能优化了一遍,服务器缩减一半,性能反而提升4倍!给公司…...
深度学习架构-Tensorflow
深度学习基本概念 人工智能是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能的目的 就是让计算机能够像人一样思考。 强人工智能:就是要使机器学习人的理解、学习和执行任务的能力。 弱人工智能:指用…...
SpringBoot 使用validator进行参数校验(实例操作+注意事项+自定义参数校验)
一、实例操作 ①、引入依赖 <dependency><groupId>org.hibernate</groupId><artifactId>hibernate-validator</artifactId><version>6.0.4.Final</version></dependency> ②、创建实体类 package com.springboot.entity;im…...
字节测开岗面试记:二面被血虐,幸好还是拿到了Offer.....
在互联网做了几年之后,去大厂“镀镀金”是大部分人的首选。大厂不仅待遇高、福利好,更重要的是,它是对你专业能力的背书,大厂工作背景多少会给你的简历增加几分竞争力。 但说实话,想进大厂还真没那么容易。最近面试字…...
只会标准答案,是不可救药的愚蠢
听说今天高考,谨以此文作为高考寄语。 前段时间网上看到一个金句,非常值得分享,“最难沟通的,不是那些头脑空空的人,而是满脑子只有标准答案的人”。 前两天直播我放了一首何勇的老歌,当时年轻的时候&#…...
RocketMQ broker启动失败
版本:4.9.3 现象:NameServer启动没问题,Broker无法启动。 查看日志,没有broker方面的报错,应该是整个服务都没起来。 于是开始网上搜索解决方案: 方案1: 删除store文件夹。 删除之后问题依…...
浅谈useMemo函数
什么是 useMemo? useMemo 是 React 中的一个 Hook,它可以用来缓存计算结果,并在后续的渲染中重复利用这些计算结果。useMemo 接收两个参数:一个函数和一个依赖数组。当依赖数组中的任何一个值发生变化时,useMemo 会重…...
【Python】Python系列教程-- Python3 推导式(十九)
文章目录 前言列表推导式字典推导式集合推导式元组推导式(生成器表达式) 前言 往期回顾: Python系列教程–Python3介绍(一)Python系列教程–Python3 环境搭建(二)Python系列教程–Python3 VSc…...
docker对cpu资源做限制
系列文章目录 文章目录 系列文章目录一、cgroup1.groups四大功能2.CPU 资源控制 二、1.限制可用的 swap 大小, --memory-swap2.对磁盘IO配额控制(blkio)的限制 总结 一、cgroup 1.groups四大功能 资源限制:可以对任务使用的资源…...
国际化语言项目
基本概念 1、使用QString对象表示所有用户可见的文本。由于QString内部使用Unicode编码实现,所以它可以用 于表示所有需要向用户呈现的文本。当然,对于仅程序员可见的文本并不需要都变为QString对象,可利 用Qt提供的QCString或原始的“char …...
交直流系统潮流计算及相互关联特性分析(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
如何快速掌握Facebook运营+独立站运营基础?
在当今数字化时代,Facebook运营和独立站运营成为许多企业和个人创业者的关键战略。通过巧妙地结合这两个渠道,你可以有效地推广品牌、吸引目标受众并实现商业目标。本文将为你介绍如何快速掌握Facebook运营和独立站运营的基础知识,为你的业务…...
Java之旅(十三)
Java 类 Java类是Java编程语言中的基本构建块,是一种用户定义的数据类型,它可以被看作是一个模板或蓝图。它是对象的模板,,描述了一组具有相同特征(属性)和行为(方法)的对象。Java …...
Calibre 6.18.1 正式发布,功能强大的开源电子书工具
导读Calibre 开源项目是 Calibre 官方出的电子书管理工具。它可以查看,转换,编辑和分类所有主流格式的电子书。Calibre 是个跨平台软件,可以在 Linux、Windows 和 macOS 上运行。 Calibre 6.18.1 正式发布,此次更新内容如下&#…...
在线网站系统客服/品牌策划
随着软件快速交付需求的增长,越来越多的企业开始通过DevOps方法加速软件开发速度但这样的话,有时候就无法保证质量,所以今天小墨就来给大家介绍10款主流的软件测试工具,看好啦。 1、UFT / QTP UFT,前身为Quick Test …...
买了域名如何做网站/seo优化教程自学
2019独角兽企业重金招聘Python工程师标准>>> select (case when instr (x,a)>0 or instr (x,b)>0 or instr (x,c)>0 then 1 else 0 end) from r 转载于:https://my.oschina.net/youfen/blog/1934809...
手机网站用什么制作/百度网址大全网站大全
传送门:POJ 1611 The Suspects (并查集) 题目大意 有很多组学生,在同一个组的学生经常会接触,也会有新的同学的加入。但是SARS是很容易传染的,只要在改组有一位同学感染SARS,那么该组的所有同学都被认为得…...
深圳网站设计深圳设计公司/免费二级域名建站
底层结构 Java中PriorityQueue通过二叉小顶堆实现,可以用一棵完全二叉树表示。PriorityQueue是非线程安全的,Java提供了PriorityBlockingQueue用于Java多线程环境。 功能介绍 优先队列的作用是能保证每次取出的元素都是队列中权值最小的。元素大小的评…...
python做网站用什么框架/竞价网络推广培训
RFID防碰撞算法学习 引用文章地址 RFID中的碰撞问题主要分为两类:一是阅读器碰撞问题,它产生于同一个物理区域内存在多个不同的阅读器,它们以同一频率同时与区域内的标签通信而引起的冲突。另一类是标签碰撞问题,如过标签同事处于…...
极路由wordpress/友链互换平台推荐
去年因《陈情令》成为新晋顶流的肖战,这半年多来真是热搜不断。近期又上了热搜了的他却令网友大吃一惊:前不久还是当红明星,怎么突然被全网黑了?而且连代言都一并被抵制?近日,关于“肖战粉丝举报Ao3”的事件…...