大数据数仓建模(3)

2.2.6 人员配置参考

1.旁敲侧击的问你到底做过没有
2.你们大概规模,数据量

1整体架构

属于研发/技术部/数据部/基础平台部,我们属于数据组,其他还有后端项目组,前端组, 移动开发、测试组、UI组等。其他的还有产品部、运营部、人事部、财务部、行政部,市场部,销售部等。

和it技术相关的岗位
销售,售前,产品,后端,前端,数据,ui,测试,运维,售后一个人搞定,没钱。

大数据开发工程师=>大数据组组长=》项目经理=>部门经理=》技术总监

2.职级等级晋升规则

职级就分初级,中级,高级。晋升规则不一定,看公司效益和职位空缺。

京东:T1、T2应届生;T3 14k左右   T4 18K左右  T5  24k-28k左右

阿里:p5、p6p7p8, p9

和it技术相关的岗位
销售,售前,产品,后端,前端,数据,ui,测试,运维,售后一个人搞定,没钱。

华为:非外包员工。13级起步,武汉2019年待遇。 应届生是20万一年,15级之前不如互联网。

14k 14薪,税前20万...

大部分的人15-17级之间,牛逼18级以上,月薪2.5-3万。30-40万 年终奖,30-40万(看部门),tpu:10-100万,看你什么时候加入华为,工资只是零花钱...

3.人员配置参考

小型公司(3人左右):组长1人,剩余组员无明确分工,并且可能兼顾javaEE和前端。

中小型公司(3~6人左右):组长1人,离线2人左右,实时1人左右(离线一般多于实时),组长兼顾和javaEE、前端。

中型公司(5~10人左右):组长1人,离线3~5人左右(离线处理、数仓),实时2人左右,组长和技术大牛兼顾和javaEE、前端。

中大型公司(10~20人左右):组长1人,离线5~10人(离线处理、数仓),实时5人左右,JavaEE1人左右(负责对接JavaEE业务),前端1人(有或者没有人单独负责前端)。(发展比较良好的中大型公司可能大数据部门已经细化拆分,分成多个大数据组,分别负责不同业务)

算法组,
画像标签组,(标签a组,标签b组...)
数据建模组(数仓)...不要写你熟悉的那个小地方...写项目的时候,首先选公司,查一下这个公司的的所有信息,包括这个公司做什么行业的,具体业务是什么,靠什么赚钱,目前的发展状况,公司的地址(精确到哪个城市,哪个区,哪条街哪栋楼宇,哪一层,几号),你住在哪里,坐几路公交车...公司有多少人,重点是技术部门,你的项目组的人员分布....

上面只是参考配置,因为公司之间差异,具体的业务不一样,而且对大数据的价值重视程度不一样,具体差异极大,例如ofo大数据部门只有5个人左右,因此根据所选公司规模确定一个合理范围,在面试前必须将这个人员配置考虑清楚,回答时要非常确定。

IOS多少人 安卓多少人 前端多少人  JavaEE多少人  测试多少人

(IOS、安卓) 1-2个人   前端1-3个人; JavaEE一般是大数据的1-1.5倍,测试:有的有,有的没有。1个左右。  产品经理1个、产品助理1-2个,运营1-3个

公司划分:

0-50 小公司

50-500 中等

500-1000 大公司

1000以上 大厂,独角兽, 领军的存在

第3章 数据生成模块

数据是通过埋点的方式获取的,一般来说,都是需要你们公司自己开发一些sdk(数据采集用户的行为程序,js埋点,Java埋点)加密压缩转码发给nginx服务器,服务器后端会做解码,解压,解密,有一些第三方是公司,友盟,神策提供了一些全埋点的方案。

日志发送的时机:启动的时候,退出的时候发送,定时发送,还有可能网络情况发送(3-5年前需要重点考虑的,现在不用要了,因为流量不值钱了...)

退出和定时发送,发送的都是多个用户行为.

启动时,发送发送就是用户启动的行为,可以理解为单个行为.

3.1 埋点数据基本格式

  1. 公共字段:基本所有安卓手机都包含的字段
  2. 业务字段:埋点上报的字段,有具体的业务类型

下面就是一个示例,表示业务字段的上传。

{
"ap":"xxxxx",//项目数据来源 app pc
"cm": {  //公共字段"mid": "",  // (String) 设备唯一标识"uid": "",  // (String) 用户标识"vc": "1",  // (String) versionCode,程序版本号"vn": "1.0",  // (String) versionName,程序版本名"l": "zh",  // (String) language系统语言"sr": "",  // (String) 渠道号,应用从哪个渠道来的。"os": "7.1.1",  // (String) Android系统版本"ar": "CN",  // (String) area区域"md": "BBB100-1",  // (String) model手机型号"ba": "blackberry",  // (String) brand手机品牌"sv": "V2.2.1",  // (String) sdkVersion"g": "",  // (String) gmail"hw": "1620x1080",  // (String) heightXwidth,屏幕宽高"t": "1506047606608",  // (String) 客户端日志产生时的时间"nw": "WIFI",  // (String) 网络模式"ln": 0,  // (double) lng经度"la": 0  // (double) lat 纬度},
"et":  [  //事件{"ett": "1506047605364",  //客户端事件产生时间"en": "display",  //事件名称"kv": {  //事件结果,以key-value形式自行定义"goodsid": "236","action": "1","extend1": "1",
"place": "2",
"category": "75"}}]
}

示例日志(服务器时间戳)

1540934156385|{"ap": "gmall", "cm": {"uid": "1234", "vc": "2", "vn": "1.0", "la": "EN", "sr": "", "os": "7.1.1", "ar": "CN", "md": "BBB100-1", "ba": "blackberry", "sv": "V2.2.1", "g": "abc@gmail.com", "hw": "1620x1080", "t": "1506047606608", "nw": "WIFI", "ln": 0}, "et": [{"ett": "1506047605364",  //客户端事件产生时间"en": "display",  //事件名称"kv": {  //事件结果,以key-value形式自行定义"goodsid": "236","action": "1","extend1": "1",
"place": "2",
"category": "75"}},{"ett": "1552352626835","en": "active_background","kv": {"active_source": "1"}}]}
}

下面是各个埋点日志格式。其中商品点击属于信息流的范畴

知道json解析,有两个包,一个fastjson,gson,如何从一个json里面获取数据,能够把你的数据写入到json结构 
https://wenku.baidu.com/view/a7807afc0aa1284ac850ad02de80d4d8d15a01c2.html?fr=aladdin664466&ind=1
https://blog.csdn.net/gududedabai/article/details/78637186

3.2 事件日志数据

3.2.1 商品列表页(loading)

事件名称:loading

标签

含义

action

动作:开始加载=1,加载成功=2,加载失败=3

loading_time

加载时长:计算下拉开始到接口返回数据的时间,(开始加载报0,加载成功或加载失败才上报时间)

loading_way

加载类型:1-读取缓存,2-从接口拉新数据
(加载成功才上报加载类型)

extend1

扩展字段 Extend1

extend2

扩展字段 Extend2

type

加载类型:自动加载=1,用户下拽加载=2,底部加载=3(底部条触发点击底部提示条/点击返回顶部加载)

type1

加载失败码:把加载失败状态码报回来(报空为加载成功,没有失败)

3.2.2 商品点击(display)

事件标签:display

标签

含义

action

动作:曝光商品=1,点击商品=2,

goodsid

商品ID(服务端下发的ID)

place

顺序(第几条商品,第一条为0,第二条为1,如此类推)

extend1

曝光类型:1 - 首次曝光 2-重复曝光

category

分类ID(服务端定义的分类ID)

3.2.3 商品详情页(newsdetail)

事件标签:newsdetail

标签

含义

entry

页面入口来源:应用首页=1、push=2、详情页相关推荐=3

action

动作:开始加载=1,加载成功=2(pv),加载失败=3, 退出页面=4

goodsid

商品ID(服务端下发的ID)

show_style

商品样式:0、无图、1、一张大图、2、两张图、3、三张小图、4、一张小图、5、一张大图两张小图

news_staytime

页面停留时长:从商品开始加载时开始计算,到用户关闭页面所用的时间。若中途用跳转到其它页面了,则暂停计时,待回到详情页时恢复计时。或中途划出的时间超过10分钟,则本次计时作废,不上报本次数据。如未加载成功退出,则报空。

loading_time

加载时长:计算页面开始加载到接口返回数据的时间 (开始加载报0,加载成功或加载失败才上报时间)

type1

加载失败码:把加载失败状态码报回来(报空为加载成功,没有失败)

category

分类ID(服务端定义的分类ID)

3.2.4 广告(ad)

搜索广告
信息流广告 (抖音,今日头条)
开屏广告
视频广告(切片和角标)
精准推荐,精准广告...直接赚钱的行业

事件名称:ad

标签

含义

entry

入口:商品列表页=1  应用首页=2 商品详情页=3

action

动作: 广告展示=1 广告点击=2

contentType

Type: 1 商品 2 营销活动

displayMills

展示时长 毫秒数

itemId

商品id

activityId

营销活动id

3.2.5 消息通知(notification)

事件标签:notification

标签

含义

action

动作:通知产生=1,通知弹出=2,通知点击=3,常驻通知展示(不重复上报,一天之内只报一次)=4

type

通知id:预警通知=1,天气预报(早=2,晚=3),常驻=4

ap_time

客户端弹出时间

content

备用字段

3.2.6 用户后台活跃(active_background)

事件标签: active_background

标签

含义

active_source

1=upgrade,2=download(下载),3=plugin_upgrade

3.2.7 评论(comment

描述:评论表

序号

字段名称

字段描述

字段类型

长度

允许空

缺省值

1

comment_id

评论表

int

10,0

2

userid

用户id

int

10,0

0

3

p_comment_id

父级评论id(为0则是一级评论,不为0则是回复)

int

10,0

4

content

评论内容

string

1000

5

addtime

创建时间

string

6

other_id

评论的相关id

int

10,0

7

praise_count

点赞数量

int

10,0

0

8

reply_count

回复数量

int

10,0

0

3.2.8 收藏(favorites

描述:收藏

序号

字段名称

字段描述

字段类型

长度

允许空

缺省值

1

id

主键

int

10,0

2

course_id

商品id

int

10,0

0

3

userid

用户ID

int

10,0

0

4

add_time

创建时间

string

3.2.9 点赞(praise

描述:所有的点赞表

序号

字段名称

字段描述

字段类型

长度

允许空

缺省值

1

id

主键id

int

10,0

2

userid

用户id

int

10,0

3

target_id

点赞的对象id

int

10,0

4

type

点赞类型 1问答点赞 2问答评论点赞 3 文章点赞数4 评论点赞

int

10,0

5

add_time

添加时间

string

3.2.10 错误日志

errorBrief

错误摘要

errorDetail

错误详情

3.3 启动日志数据

事件标签: start

标签

含义

entry

入口: push=1,widget=2,icon=3,notification=4, lockscreen_widget =5

open_ad_type

开屏广告类型:  开屏原生广告=1, 开屏插屏广告=2

action

状态:成功=1  失败=2

loading_time

加载时长:计算下拉开始到接口返回数据的时间,(开始加载报0,加载成功或加载失败才上报时间)

detail

失败码(没有则上报空)

extend1

失败的message(没有则上报空)

en

日志类型start

{"action":"1","ar":"MX","ba":"HTC","detail":"","en":"start","entry":"2","extend1":"","g":"43R2SEQX@gmail.com","hw":"640*960","l":"en","la":"20.4","ln":"-99.3","loading_time":"2","md":"HTC-2","mid":"995","nw":"4G","open_ad_type":"2","os":"8.1.2","sr":"B","sv":"V2.0.6","t":"1561472502444","uid":"995","vc":"10","vn":"1.3.4"
}

3.4 数据生成脚本

未完待续。。。

大数据数仓建模(3)相关推荐

  1. 大数据数仓建模 - 维度建模 实战及思路过程 (两年数仓建模经验 纯干货)

    数仓维度建模 维度建模方法论: 维度建模 是以业务过程为驱动 先确定某些业务过程 围绕业务过程去建立模型 通常采用自底向上的方法 从明确关键业务过程开始 再到明确粒度 再到明确维度  最后明确事实 在 ...

  2. 大数据/数仓面试灵魂30问

    1.什么是数据仓库?如何构建数据仓库?(如果这个问题回答的好,后面很多问题都不需要再问) 2.如何建设数据中台?可简单说下理解与思路 3.数据仓库.数据中台.数据湖的理解 4.传统数仓的程度(建模工具 ...

  3. 大数据/数仓面试灵魂30问(转)

    1.什么是数据仓库?如何构建数据仓库?(如果这个问题回答的好,后面很多问题都不需要再问) 2.如何建设数据中台?可简单说下理解与思路 3.数据仓库.数据中台.数据湖的理解 4.传统数仓的程度(建模工具 ...

  4. Python + 大数据 - 数仓实战之智能电商分析平台

    Python + 大数据 - 数仓实战之智能电商分析平台 1. 项目架构 2. 数据仓库维度模型设计-事实表 事实表的特征:表里没有存放实际的内容,他是一堆主键的集合,这些ID分别能对应到维度表中的一 ...

  5. 大数据数仓高级面试题整理

    大家好,给大家整理了一下大数据数仓高级面试题,希望大侠们能够喜欢. 数仓高内聚低耦合是怎么做的 定义 高内聚:强调模块内部的相对独立性,要求模块内部的元素尽可能的完成一个功能,不混杂其他功能,从而使模 ...

  6. Python+大数据-数仓实战之滴滴出行(二)

    Python+大数据-数仓实战之滴滴出行(二) 1. 数据转移 #验证sqoop是否工作 /export/server/sqoop-1.4.7/bin/sqoop list-databases \ - ...

  7. Python+大数据-数仓实战之滴滴出行(一)

    Python+大数据-数仓实战之滴滴出行(一) 1. 项目架构图 1.1 数据流程处理 1.2 数仓分层 1.3 创建数据库 在Hive中创建数据库-- 创建ods库 create database ...

  8. 【大数据数仓项目集群配置 一】

    本文用于记录我的第一次内网大数据集群配置过程. 本篇主要实现基础配置. 配置使用的软件版本和脚本参考自尚硅谷,链接如下: 链接: https://www.bilibili.com/video/BV1r ...

  9. 数据查询和业务流分开_传统数仓和大数据数仓的区别是什么?

    概念与容器 为什么先说这个,其实很简单:因为绝大多数人都把这两个概念混为一谈.然后就会出现各种各样的问题:oracle不是数据库么,怎么又是数据仓库?Hive不是数据仓库么?怎么又是数据库? 数据仓库 ...

最新文章

  1. 互联网金融如何助力实体经济?
  2. Parallel并行计算合计数据时错误的原因和解决办法
  3. 深入浅出Powershell——拷贝GAC中dll文件
  4. 使用HttpWebRequest提交ASP.NET表单并保持Session和Cookie
  5. kvm 虚拟机 实用工具笔记(方便查看ip 磁盘复制和修改文件等)
  6. Linux下CURL设置请求超时时间
  7. 2020 ICPC NAC
  8. 【新书推荐】机器学习算法竞赛实战,Kaggle Grandmaster倾力打造,涵盖Kaggle、天池等赛题...
  9. redis查看某一个key的大小_Redis笔记
  10. Python实现小球游戏
  11. Python学习:Mysql(二)
  12. 推荐几个顶级的IT技术公众号
  13. 线性代数及其应用(第三版)1.4节习题解答
  14. 【裴礼文数学分析】例1.2.4
  15. 视频教程-玩转Python-Python3基础入门-Python
  16. 3种顺序排序方法。简单排序是指时间复杂度为O(n^2)的排序方法。
  17. BREDR之inquiry及page
  18. 抑郁症自我测试皮肤软件,皮肤瘙痒像虫子爬竟是抑郁症
  19. win10平板续航测试软件,Win10平板必备工具!触摸屏虚拟鼠标应用推荐
  20. 【OpenCV 例程300篇】40. 图像分段线性灰度变换

热门文章

  1. 实例演示使用RDIFramework.NET 框架的工作流组件进行业务流程的定义—请假申请流程-WinForm
  2. Threejs实现模拟河流,水面水流,水管水流,海面
  3. XJTU_ 西安交通大学2020大学计算机作业-第六周
  4. CCSv5.3的安装
  5. NOJ 1116 哈罗哈的大披萨 【淡蓝】 状态压缩DP
  6. 为什么说 Ubuntu 22.04 LTS 是史诗级的版本
  7. 教你如何理解贝叶斯公式
  8. 微信小程序图片放大预览效果的实现,轮播图点击放大预览
  9. Delphi实现多线程
  10. xmlhttp的实际使用