自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 (从电商项目认识数仓体系十一)拉链表

1 品牌复购率结果表固化到mysql1.1 mysql建表CREATE TABLE sale_tm_category1_stat_mn( tm_id VARCHAR(200) COMMENT'品牌id', category1_id VARCHAR(200) COMMENT'1级品类id', category1_name VARCHAR(200) COMMENT'1级品类名称', buycount VARCHAR(200) COMMENT'购买人数,' bu

2020-07-08 14:57:53 675

原创 (从电商项目认识数仓体系十)报表及azkaban导出

1 ADS1.1 GVMGMV(Gross Merchandise Volume),成交总额(一定时间段内),在电商网站定义为网站成交金额,实际指拍下订单金额,包含付款和未付款的部分,是电商品台非常重视的统计指标,甚至写在招股书里。不同公司GMV算法不同,例GMV=下单金额,GMV=下单金额-(大额订单,10w),GMV=下单金额+预定金额1.2 GVM建表及数据导入语句DROP TABLE IF EXISTS ads_gmv_sum_day;CREATE TABLE ads_gmv_s

2020-07-07 18:04:27 1883

原创 (从电商项目认识数仓体系九)业务数仓搭建

1 业务数据业务数据一般存入mysql中,过程较为单一简单,不再赘述2 业务数据导入数仓2.1 表的同步策略序号 表名 解释 同步策略 1 order_info 订单表 新增及变化 2 order_detail 订单详情 增量 3 sku_info 商品表 全量 4 user_info 用户表 全量 5 base_category1 商品一级分类表 全量 6

2020-07-06 21:51:54 567

原创 (从电商项目认识数仓体系八)业务数仓理论

1 表的分类1.1 实体表定义:一般指一个现实存在的业务对象,比如用户,商品,商家,销售员等等例:用户表 用户id 姓名 生日 性别 邮箱 用户等级 创建时间 1 张三 2011-11-11 男 zs@163.com 2 2018-11-11 2 李四 2011-11-11 女 ls@163.com 3 2018-11-11 3 王五 2011-11-11

2020-07-05 20:53:52 636

原创 (从电商项目认识数仓体系七)业务数仓及表

1 电商业务流程2 电商常识(SKU、SPU)a.SKU:SKU(Stock Keeping Unit),库存量单位,即库存进出计量的基本单元,可以是件,盒,托盘等为单位。SKU是对于大型连锁超市DC(配送中心)物流管理的一个必要的方法,现在已经被引申为产品统一编号的简称,每种产品均对应有唯一的SKU号b.SPU(Standard Product Unit),标准化产品单元,是商品信息聚合的最小单位,是一组可复用、易检索的标准化信息的集合,该集合描述了一个产品的特性。例:在购买商品时,首

2020-07-03 11:10:09 1091

原创 (从电商项目认识数仓体系六)需求及实现

需求一用户活跃主题目的:统计当日、当周、当月活动的每个设备明细DWS层表设计及逻辑1 每日活跃设备明细分析-- 建表语句DROP TABLE IF EXISTS dws_uv_detail_day;CREATE TABLE dws_uv_detail_day( `mid_id` STRING COMMENT'设备唯一标识', `user_id` STRING COMMENT'用户标识', `version_code` STRING COMMENT'程序版本号

2020-07-01 18:33:45 357

原创 (从电商项目认识数仓体系五)业务术语定义及系统函数

1 术语解释a.用户:用户以设备为判断标准,在移动统计中,每个独立设备认为是一个独立用户。Android系统根据IMEI号,IOS系统根据OpenUDID来标识一个独立用户,每部手机一个用户。b.新增用户:首次联网使用应用的用户。如果一个用户首次打开某app,那这个用户定义为新增用户;卸载再安装的设备,不会被算作一次新增。新增用户包括日新增用户、周新增用户、月新增用户。c.活跃用户:打开应用的用户即为活跃用户,不考虑用户的使用情况。每天一台设备打开多次会被计为一个活跃用户。d.周(月)活跃用

2020-06-30 20:38:30 461

原创 (从电商项目认识数仓体系四)行为数仓加载数据

1

2020-06-12 17:55:57 423

原创 (从电商项目认识数仓体系三)行为数仓数据路径

1 日志采集(1)日志在生成之后分发时,对于本项目来说会分发至kafka,而kafka中会有多个主题,某些公司甚至会一张表一个主题进行分发,对于本项目来说分为两个主题,一个start主题,一个event主题(2)图示注释:(1)TailDir有断点续传功能2 拦截器(1)interceptor配置a1.sources.s1.interceptors=i1 i2a1.sources.s1.interceptors.i1.type=自己的jar包a1.sources.s1

2020-06-05 18:12:09 285

原创 (从电商项目认识数仓体系二)行为数仓数据格式及表

1 埋点数据基本格式公共字段:基本所有手机都包含的字段 业务字段:埋点上报字段,有具体的业务类型ps:一般使用json格式json格式示例:{"ap":"xxxxx",//产品字段 app key"cm":{ //公共字段 "mid": "", //(String) 设备唯一标识 "uid": "", //(String) 用户标识 "vc": "1", //(String) versionCode,程序版本号 "vn": "1.0", //(Strin

2020-06-05 15:27:12 549

原创 (从电商项目认识数仓体系一)数仓介绍

1 基本流程图2 基本介绍数据仓库(Data Warehouse),简写为DW或DWH,为企业做决策提供系统数据支持的集合。例:仓库中一个指标为用户浏览网页次数(UV),如果用户多次浏览该网页,如果是电商系统,则可以认为该用户有购买该商品意向,可对该用户进行商品推荐,或者可作为报表提供给决策层进行一些决策数据仓库的作用并不单单是存储,而是对数进行一些处理后,将处理后的数据,分门别类的存储,作为能够支撑业务或者分析的处理后数据源,使得对应的需求能够从对应的主题中直接提取所需要的数据,这些处理包

2020-06-04 17:33:10 1815

原创 (心得三)java俄罗斯方块小游戏编写心得

在”java俄罗斯方块小游戏编写心得02”中,我们已经做到了方块的各种功能的实现,那么接下来我们需要一个destroyLine()方法来对方块进行消除。我们需要想一个问题,当一个方块下落后,最多消除的行数也就只是方块可以达到的最大的行数。所以我们首先需要从方块行数最低的那个开始向下扫描,扫描每一个最基本小方块所处的行是否已经满了,如果没满,那么继续向下扫描,如果满了,那么该行消除,该行的上...

2020-05-10 10:25:23 2309 2

原创 (大数据七)Scala与Spark平台搭建

Scala平台搭建(1)解压scala2.11.8命令:tar -zxvf scala2.11.8.tgz(2)创建软链接命令:ln -s scala2.11.8 scala(3)配置环境变量命令:sudo vim /etc/profile内容处置:添加以下内容SCALA_HOME=~/apps/scalaPATH=$PATH:$SCAL...

2019-08-06 20:26:47 236

原创 (大数据六)Hive安装

Hive on derby(1)解压hive1.2.1压缩包命令:tar -zxvf hive1.2.1(2)创建软链接命令:ln -s hive1.2.1 hive(3)配置环境变量命令:sudo vim /etc/profile内容处置:添加以下内容HIVE_HOME=~/apps/hivePATH=$PATH...

2019-08-06 20:21:54 153

原创 (大数据五)MySQL在Linux的安装

MySQL在线安装(1)验证本机是否安装MySQL命令:yum list installed | grep mysql(2)删除MySQL(若安装过,未安装则略过此步)命令:①yum -y remove [MySQL软件名]②yum erase [MySQL软件名]命令解释:两个命令任选其一即可(3)验证是否删除成功命令: yum list i...

2019-08-06 20:18:07 155

原创 (大数据四)搭建HBase

独立模式(1)解压hbase1.3.1命令:tar -zxvf hbase1.3.1(2)创建软链接命令:ln -s hbase1.3.1 hbase(3)配置环境变量命令:sudo vim /etc/profile内容处置:添加以下内容HBASE_HOME=~/apps/hbasePATH=$PATH:$HBASE_HOME/bin...

2019-08-06 19:41:46 125

原创 (大数据三)搭建通过JQM实现的HA平台

手动故障转移(1)配置名称服务的逻辑名称命令:vim $HADOOP_HOME/etx/Hadoop/hdfs-site.xml内容处置:修改dfs.nameservices属性值为myCluster,可以取其他名称,没有添加即可(2)为名称服务中每个NameNode配置唯一标志符命令:vim $HADOOP_HOME/etx/Hadoop/hd...

2019-08-06 19:39:36 366

原创 (大数据二)hadoop平台伪分布(Pseudo-Distributed Operation)式与完全分布式(Cluster)(on yarn)

搭建Hadoop平台Pseudo-Distributed Operation(1)修改默认文件系统步骤:①修改hadoop配置文件$HADOOP_HOME/etx/Hadoop/core-site.xml命令:vim $HADOOP_HOME/etx/Hadoop/core-site.xml内容处置:将fs.defaultFS属性值修改为hdfs://localhost:...

2019-08-06 19:33:17 252

原创 (大数据一)hadoop平台搭建准备工作及Local模式搭建

搭建Hadoop平台准备工作(1)克隆虚拟机步骤:关闭要克隆的无任何配置的虚拟机->右键要克隆的虚拟机->管理->克隆->下一步->下一步->创建完整克隆>命名>等待完成(2)为普通用户配置超级权限原因:修改某些系统文件时需要root权限,频繁切换用户可能会导致某些问题,故通过赋予普通用户root权限来避免这...

2019-08-06 19:28:16 319

原创 (Llinxu五)Shell编程

一、shell介绍简介:shell是人与内核交互的程序接口,人通过程序接口发出指令,通知kernel(内核)使硬件进行作业。种类: /bin/sh:比较早的shell,bourne shell /bin/bash: bourne again shell,兼容了早期的/bin/sh,并且提供了独有的强大功能,大多数Linux系统默认使用该sh...

2019-03-18 21:37:40 338

原创 (Llinxu四)Linux网络服务

一、名词解释:网卡(网络适配器):网卡是工作在链路层的网络组件,是局域网中连接计算机和传输介质的接口,不仅能实现与局域网传输介质之间的物理连接和电信号匹配,还涉及帧的发送与接收、帧的封装与拆封、介质访问控制、数据的编码与解码以及数据缓存的功能等IP:互联网协议地址,用于标识网络中的计算机,有唯一性,IP地址分为IPv4与IPv6局域网:是指在某一区域内由多台计算机互联成的计算机组广...

2019-01-17 10:49:40 173

原创 (Llinxu三)Linux系统的常用命令

1、文件名的命名规则:命名时,尽量不要使用/,@,$,#,也不要使用.,因为.有特殊意义,通常用于隐藏文件或目录,大小写敏感 2、命令格式:命令名 [选项] [文件名或者目录] 3、ls 原意:list 路径:/bin/ls 用途:用于查看目录的内容信息 语法:ls 选项: ...

2018-12-25 12:17:40 178

原创 (Linux二)Linux基础

一、Linux简介Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用 程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。二、文件系统1.文件系统的简介定义:Linux是一套免费使用和自由...

2018-12-25 12:12:39 205

原创 (Linux一)虚拟机的安装以及Linux系统在虚拟机中的安装

一、首先需要安装虚拟机,虚拟机有很多种,此处我们选用VMware,安装完成后首次使用需要输入秘钥,可在百度进行搜索。二、安装完虚拟机后,就可以在虚拟机中安装Linux系统了,虚拟机中安装Linux系统详细步骤如下1.2.3.版本根据自己情况进行选择4.名称可以任意起,位置最好选择空间较大的磁盘5.6.完成7.在虚拟机设置中选择自己所用的镜像文件8....

2018-12-20 15:50:57 211

原创 (jsp九)项目实例功能实现补充:过滤器

说明:过滤器有什么功能?过滤器起到一个过滤作用,即用户只有在登录的情况下才能看到主界面,否则是不允许对主界面进行访问的。首先,创建Filter类,类中有init方法,构造方法,destroy方法等,执行顺序为先构造,再执行init方法,之后处理请求doGet或doPost,当关闭浏览器时执行销毁方法。当给某个页面设置过滤器后,先执行过滤器,然后执行servlet。首先创建包filter,在包中创建...

2018-12-15 13:45:10 212

原创 (jsp八)项目实例功能实现补充:ajax及选中所有项

说明:在添加时还需要注意一点,在添加时需要将文本框设置为必填项并对商品名称进行验证,如果已经存在的话则在光标离开文本框及onblur事件发生时进行提示名称存在并阻止提交。此处就需要用ajax技术——异步的javascript and xml,有点是页面局部刷新,用户体验度好,在后台对名称进行验证时,用户仍然可以继续对其他文本框进行操作。使用该技术时,需要在头部对外部文件进行引入,在表单中onblu...

2018-12-15 12:39:01 264

原创 (jsp七)项目实例功能实现补充: 查询、修改及添加功能

说明:如果在页面显示的内容不是来自同一张表,则可以将查询的每一个字段及内容封装为一个Map对象,key为所查字段名,类型为字符串,value为所查字段值,因为值可以有很多种类型,所以需要设为Object类型,然后将所有集合对象存放到List中,这样就可以实现所查字段不来自同一张表的值的引用。本例中有两张表,产品表Product与类型表Type,两表通过类型号tid关联。a.productDAO...

2018-12-15 11:21:07 4811

原创 (jsp六)项目实例功能实现补充:会话及移除会话

会话:重定向不可以用request绑定数据,request又叫一次请求,重定向之前会将request中的数据全部清空,所以如果想要在重定向之后使用数据,则需要用到session对象来进行数据绑定。什么是session?session又叫会话,我们所打开的一个页面,即一个会话,而会话的范围要大于request,因为只要会话存在,那么session对象就一直存在,绑定在其之上的数据就会一直存在,不会当...

2018-12-14 21:55:01 274

原创 (jsp五)简单功能的实现:删除、修改及注册完善

a.update.jsp代码<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>学员信息修改</title><script type="text/javascript"> /

2018-12-03 19:57:29 6949

原创 (jsp四)简单功能的实现:显示

a.list.jsp页面代码<body> <table border="1px" width="60%"> <tr> <th>ID</th> <th>姓名</th>

2018-12-03 12:39:53 1051

原创 (jsp三)简单功能的实现:登录

简单架构介绍:C/S:客户端/服务端B(Browser)/S(Server):浏览器/服务器(例:Tomcat)Jsp文件介绍:jsp(Java Server Pages)—java服务端页面,运行在服务器端,是一个以.jsp为后缀的文本文件html、css—java客户端页面,运行在客户端在jsp文件中可以出现的代码html代码jsp指令page指令:...

2018-12-02 23:05:20 2865

原创 (jsp二)简单功能的实现:注册

第一步:创建学生表Student,结构如图:第二步:创建新Dynameic Web Project工程File→new→Next→Dynameic Web Project→勾选Generate web.xml deployment descriptor,意为添加web.xml动态配置文件→Finish→是否打开javaee视图,选择No。注:文件夹WebContent中为所有页...

2018-12-01 22:30:32 1179

原创 (jsp一)概述及服务器配置

一、概述java除了可以做程序,也可以进行一些前端的开发,通过jsp网页与Servlet服务端编程,实现动态网页。而进行服务端编程时需要借助服务器,就像在之前博文中写的Client类一样,在本实例中使用的是Tomca服务器。前端服务器有很多种,现在在研发时使用的比较广泛的服务器就是Tomcat服务器。那么在编程之前,因为使用eclipse编程,所以需要先对eclipse进行配置,将Tomcat...

2018-11-30 11:35:55 640 1

原创 (JDBC四)JDBC实例(b)

第四步:为每一个接口创建相应的实现类,在实现类中实现对表的操作 import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.List; imp...

2018-11-25 11:45:02 838

原创 (JDBC四)JDBC实例(a)

概述:例子为对教师信息进行增删改查。在举实例之前,需要再叙述一个规则,DAO--DataBase Access Object:数据库访问对象,用来对数据库中的表进行增删改查操作。使用时分为5步:(1)建表(2)建实体类(成员变量与表字段一一对应,并且符合JAVABEAN规范)(3)为每一个实体类创建接口(4)为每一个接口创建相应的实现类,在实现类中实现对表的操作(5)测试工程内结构如图:...

2018-11-25 11:42:49 309

原创 (JDBC三)封装连接

一、生成连接方法:在通过控制台对数据库表进行操作时,每个增删改查动作都需要重新连接数据库,重新创建PrepareStatement对象如果有结果集的话还需要重新创建结果集,而这些代码是很冗长的,并且如果改变了数据库的用户名及密码时我们需要在每个用到了用户名及密码的位置都进行修改,那么既然如此我们就可以将这些重复进行的代码提取出来形成数据库单元类,让这个类进行数据库的连接及创建PrepareStat...

2018-11-24 16:11:37 304 1

原创 (JDBC二)JDBC功能举例

注:在返回结果集时,我们需要用到Statement类,然而在使用该对类容易发生sql注入,那么什么是sql注入呢?所谓sql注入,就是用户通过拼接sql语句,然后改变sql结构从而可以达到登录或者其他操作。为了避免sql注入情况,我们可以使用Statement类的子类PrepareStatement类,该类与Statement类的区别就是PrepareStatement在需要参数的时候是通过”?“...

2018-11-18 19:47:30 238

原创 (JDBC一)JDBC概述及示例

JDBC(Java Database Connectivity):java连接数据库的工具 1.1 什么是JDBC? JDBC是java提供的一组API,用来提供连接数据库中需要用到的类和接口,也是一组规范,为不同数据库封装相同接口的一组规范,让程序更方便的连接数据库,JDBC负责提供接口,数据库厂商使用自己数据库的特点来实现接口。 1.2 目的 为了给程序员提...

2018-11-18 16:54:45 178

原创 (数据库七)MySQL练习

/*查询emp表中工资大于1000的员工姓名以及工资*/SELECT ename,sal FROM emp WHERE sal>1000;/*查询emp表中值为'MANAGER'的员工姓名和工资以及职位*/SELECT ename,sal,job FROM emp WHERE job='MANAGER';/*查询emp表中名字长度为5的员工姓名和工资以及职位*/SELECT e...

2018-11-16 17:00:28 823

原创 (数据库六)MySQL事务、数据控制语言与关联查询及练习

TCL:事务控制语言 用途:有时我们可能需要使用DML进行批量数据的删除,修改,增加。比如,在一个员工系统中,我们想删除一个人的信息。除了删除这个人的基本信息外,还应该删除与此人有关的其他信息,如邮箱,地址等等。那么从开始执行到结束就会构成一个事务。对于事务,我们要保证事务的完整性,要么成功,要么撤回。 一般情况下事务要符合四个条件(ACID): a.原子性(Atomicit...

2018-11-16 16:25:08 260

空空如也

空空如也

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

TA关注的人

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