一.对用户访问session进行分析 1.可以根据使用者指定的某些条件,筛选出指定的一些用户(有特定年龄.职业.城市): 2.对这些用户在指定日期范围内发起的session,进行聚合统计,比如,统计出访问时长在0~3s的session占总session数量的比例: 3.按时间比例,比如一天有24个小时,其中12:00~13:00的session数量占当天总session数量的50%,当天总session数量是10000个,那么当天总共要抽取1000个session,ok,12:00~13:00的…
一.项目概述 本项目主要用于互联网电商企业中,使用Spark技术开发的大数据统计分析平台,对电商网站的各种用户行为(访问行为.购物行为.广告点击行为等)进行复杂的分析.用统计分析出来的数据,辅助公司中的PM(产品经理).数据分析师以及管理人员分析现有产品的情况,并根据用户行为分析结果持续改进产品的设计,以及调整公司的战略和业务.最终达到用大数据技术来帮助提升公司的业绩.营业额以及市场占有率的目标. 本项目使用了Spark技术生态栈中最常用的三个技术框架,Spark Core.Spark SQL和…
一.user_visit_action(Hive表) 1.1 表的结构 date:日期,代表这个用户点击行为是在哪一天发生的user_id:代表这个点击行为是哪一个用户执行的session_id :唯一标识了某个用户的一个访问sessionpage_id :点击了某些商品/品类,也可能是搜索了某个关键词,然后进入了某个页面,页面的idaction_time :这个点击行为发生的时间点search_keyword :如果用户执行的是一个搜索行为,比如说在网站/app中,搜索了某个关键词,然后会跳转…
一.创建Maven项目 创建项目,名称为LogAnalysis 二.常用工具类 2.1 配置管理组建 ConfigurationManager.java import java.io.InputStream; import java.util.Properties; /** * 配置管理组件 * * 1.配置管理组件可以复杂,也可以很简单,对于简单的配置管理组件来说,只要开发一个类,可以在第一次访问它的 * 时候,就从对应的properties文件中,读取配置项,并提供外界获取某个配置key对应…
一.概述 数据设计,往往包含两个环节: 第一个:就是我们的上游数据,就是数据调研环节看到的项目基于的基础数据,是否要针对其开发一些Hive ETL,对数据进行进一步的处理和转换,从而让我们能够更加方便的和快速的去计算和执行spark作业: 第二个:就是要设计spark作业要保存结果数据的业务表的结构,从而让J2EE平台可以使用业务表中的数据,来为使用者展示任务执行结果. 二.MySQL表设计 2.1 session_aggr_stat表 存储第一个功能,session聚合统计的结果 CREATE…
一.模拟生成数据 package com.bw.test; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Random; import java.util.UUID; import com.bw.util.DateUtils; import com.bw.util.StringUtils; import org.apache.spark.api.java.J…
Zookeeper集群搭建 http://www.cnblogs.com/qingyunzong/p/8619184.html Hadoop集群搭建 http://www.cnblogs.com/qingyunzong/p/8634335.html http://www.cnblogs.com/qingyunzong/p/8639918.html Hbase集群搭建 http://www.cnblogs.com/qingyunzong/p/8668880.html Hive的搭建 http://…
一.概述 JSON的全称是”JavaScript Object Notation”,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式.XML也是一种数据交换格式,为什么没 有选择XML呢?因为XML虽然可以作为跨平台的数据交换格式,但是在JS(JavaScript的简写)中处理XML非常不方便,同时XML标记比数据 多,增加了交换产生的流量,而JSON没有附加的任何标记,在JS中可作为对象处理,所以我们更倾向于选择JSON来交换数据.这篇文章主要从以下几个方…
1.按条件筛选session 搜索过某些关键词的用户.访问时间在某个时间段内的用户.年龄在某个范围内的用户.职业在某个范围内的用户.所在某个城市的用户,发起的session.找到对应的这些用户的session,也就是我们所说的第一步,按条件筛选session. 这个功能,就最大的作用就是灵活.也就是说,可以让使用者,对感兴趣的和关系的用户群体,进行后续各种复杂业务逻辑的统计和分析,那么拿到的结果数据,就是只是针对特殊用户群体的分析结果:而不是对所有用户进行分析的泛泛的分析结果.比如说,现在某个企…
一.CentOS7集群搭建 1.1 准备3台centos7的虚拟机 IP及主机名规划如下: 192.168.123.110 spark1192.168.123.111 spark2192.168.123.112 spark3 1.2 修改IP地址 [root@bigdata ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33 1.3 修改主机映射 [root@bigdata ~]# vi /etc/hosts 1.4 修改主机名 三台机器分别把主机…
本项目主要讲解了一套应用于互联网电商企业中,使用Java.Spark等技术开发的大数据统计分析平台,对电商网站的各种用户行为(访问行为.页面跳转行为.购物行为.广告点击行为等)进行复杂的分析.用统计分析出来的数据,辅助公司中的PM(产品经理).数据分析师以及管理人员分析现有产品的情况,并根据用户行为分析结果持续改进产品的设计,以及调整公司的战略和业务.最终达到用大数据技术来帮助提升公司的业绩.营业额以及市场占有率的目标. 1.课程研发环境 开发工具: Eclipse Linux:CentOS 6…
分布式系统和大数据处理平台是目前业界关注的热门技术. 1.RabbitMQ RabbitMQ是一个支持AMQP的开源消息队列实现,由Erlang编写,因以高性能.高可用以及可伸缩性出名.它支持多种客户端,如:Java.Python.PHP.Ruby..NET.JavaScript等. 它主要用于分布式系统中存储和转发消息,方便组之间的解耦,消息的发送无需知道消息使用者的存在,反之亦然. AMQP架构中有两个主要组件:Exchange和Queue,两者都在服务端,又称Broker,由RabbitM…
body { margin: 0 auto; font: 13px / 1 Helvetica, Arial, sans-serif; color: rgba(68, 68, 68, 1); padding: 5px } h1, h2, h3, h4 { color: rgba(17, 17, 17, 1); font-weight: 400 } h1, h2, h3, h4, h5, p { margin-bottom: 16px; padding: 0 } h1 { font-size: 2…
Java 开发环境:idea https://www.jianshu.com/p/7a824fea1ce7 从无到有构建大型电商微服务架构三个阶段SpringBoot+SpringCloud+Solr+Cas+Redis+RabbitMQ+Ehcache+Mycat+Kafka+Hadoop+Pyth... 2019.08.26 19:16:16字数 1375阅读 69 从无到有构建大型电商微服务架构三个阶段SpringBoot+SpringCloud+Solr+Cas+Redis+Rabbit…
五. 电商用户画像环境搭建 众所周知,Hive的执行任务是将hql语句转化为MapReduce来计算的,Hive的整体解决方案很不错,但是从查询提交到结果返回需要相当长的时间,查询耗时太长.这个主要原因就是由于Hive原生是基于MapReduce的,那么如果我们不生成MapReduce Job,而是生成Spark Job,就可以充分利用Spark的快速执行能力来缩短HiveHQL的响应时间. 本项目采用SparkSql与hive进行整合(spark on hive),通过SparkSql读取hi…
六.  电商用户画像数据仓库建立 7.1  数据仓库准备工作 为什么要对数据仓库分层?星型模型 雪花模型 User----->web界面展示指标表 l    用空间换时间,通过大量的预处理来提升应用系统的用户体验(效率),因此数据仓库会存在大量冗余的数据: l     如果不分层的话,如果源业务系统的业务规则发生变化将会影响整个数据清洗过程,工作量巨大 l     通过数据分层管理可以简化数据清洗的过程,因为把原来一步的工作分到了多个步骤去完成,相当于把一个复杂的工作拆成了多个简单的工作,把一个…
7.电商用户画像开发 7.1用户画像--数据开发的步骤 u 数据开发前置依赖 -需求确定 pv uv topn -建模确定表结构 create table t1(pv int,uv int,topn string) -实现方案确定 u 数据开发过程 -表落地 -写sql语句实现业务逻辑 -部署代码 -数据测试 -试运行与上线 在接下来的客户基本属性表开发中演示开发的流程. 7.2 用户画像开发--客户基本属性表 --用户画像-客户基本属性模型表 create database if not ex…
这是<ABP大型项目实战>系列文章的一篇.   项目发布到生产环境后难免会有错误. 那么如何进行调试和排错呢?   我看到俱乐部里有人是直接登陆生产服务器把数据库下载到开发机器进行调试排错. 这种办法是不适用于大型项目的: 首先,大型项目(特别是全球都有分公司的大型项目)很有可能24小时都有人在使用.所以尽量避免直接登录生产服务器操作,就算部署,也应该用DevOps.蓝绿部署等办法. 另外,如果大型项目有采用金丝雀发布和A/B测试,那么把数据库下载到开发机器这种方法是很不适用的. 即使大型项目…
GraphQL + React Apollo + React Hook 大型项目实战(32 个视频) GraphQL + React Apollo + React Hook 大型项目实战 #1 介绍「03:42」 GraphQL + React Apollo + React Hook 大型项目实战 #2 搭建 Apollo 客户端「15:44」 GraphQL + React Apollo + React Hook 大型项目实战 #3 写好路由「04:07」 GraphQL + React Ap…
四. 如何构建电商用户画像 4.1 构建电商用户画像技术和流程 构建一个用户画像,包括数据源端数据收集.数据预处理.行为建模.构建用户画像 有些标签是可以直接获取到的,有些标签需要通过数据挖掘分析到! 4.2 源数据分析 用户数据分为2类:动态信息数据.静态信息数据 静态信息数据来源: 用户填写的个人资料,或者由此通过一定的算法,计算出来的数据 如果有不确定的,可以建立模型来判断,比如用户的性别注册没有填写,可以建立模型,根据用户的行为来判断用户性别是什么,或者它的概率 动态信息数据来源: 用户…
网易大数据平台的Spark技术实践 作者 王健宗 网易的实时计算需求 对于大多数的大数据而言,实时性是其所应具备的重要属性,信息的到达和获取应满足实时性的要求,而信息的价值需在其到达那刻展现才能利益最大化,例如电商网站,网站推荐系统期望能实时根据顾客的点击行为分析其购买意愿,做到精准营销. 实时计算指针对只读(Read Only)数据进行即时数据的获取和计算,也可以成为在线计算,在线计算的实时级别分为三类:Real-Time(msec/sec级).Near Real-Time(min/hours…
大数据平台搭建(hadoop+spark) 一.基本信息 1. 服务器基本信息 主机名 ip地址 安装服务 spark-master 172.16.200.81 jdk.hadoop.spark.scala spark-slave01 172.16.200.82 jdk.hadoop.spark spark-slave02 172.16.200.83 jdk.hadoop.spark spark-slave03 172.16.200.84 jdk.hadoop.spark 2. 软件基本信息 软…
前面我写了<如何用ABP框架快速完成项目>系列文章,讲述了如何用ABP快速完成项目.   然后我收到很多反馈,其中一个被经常问到的问题就是,“看了你的课程,发现ABP的优势是快速开发,那么ABP能否用于大型项目呢?”   嗯,我本人用ABP做过的最大项目情况如下: 该项目客户是世界500强. 该项目运用于此客户总公司和下辖的四十多家子公司,其中一个子公司就有八百多员工. 该项目主要业务数据是十万条起. 该项目有复杂的嵌套业务运算和业务流程. 事实证明,ABP自行改造优化后是完全可以驾驭住大型项…
  电竞大数据时代,数据对比赛的观赏性和专业性都起到了至关重要的作用.同样的,这也对电竞数据的丰富性与实时性提出了越来越高的要求. 电竞数据的丰富性从受众角度来看,可分为赛事.战队和玩家数据:从游戏角度来看,维度可由英雄.战斗.道具以及技能等组成:电竞数据的实时性包括赛前两支战队的历史交战记录.赛中的实时比分.胜率预测.赛后比赛分析和英雄对比等. 如果你想了解大数据的学习路线,想学习大数据知识以及需要免费的学习资料可以加群:784789432.欢迎你的加入.每天下午三点开直播分享基础知识,晚上2…
热门的消息队列中间件RabbitMQ,分布式任务处理平台Celery,大数据分布式处理的三大重量级武器:Hadoop.Spark.Storm,以及新一代的数据采集和分析引擎Elasticsearch. RabbitMQ RabbitMQ是一个支持Advanced Message Queuing Protocol(AMQP)的开源消息队列实现,由Erlang编写,因以高性能.高可用以及可伸缩性出名.它支持多种客户端,如:Java.Python.PHP..NET.Ruby.JavaScript等.它…
没有套路真的是送!! 大家都知道,大数据行业spark很重要,那话我就不多说了,贴心的大叔给你找了份spark的资料.   多啰嗦两句,一个好的程序猿的基本素养是学习能力和自驱力.视频给了你们,能不能坚持下来学习,就只能靠自己了,另外大叔每周会不定期更新<每日五分钟搞定大数据>原创系列,感谢关注. 注意:资料仅供个人学习使用,不可外传,不可用作任何商业用途,谢谢 Spark视频内容: Spark部署 Spark编程模型(1) Spark运行架构(1) Spark SQL原理和实践(4) Spa…
Spark支持多种的编程语言 对比scala和Java编程上节课的计数程序.相比之下,scala简洁明了. Hadoop的IO开销大导致了延迟高,也就是说任务和任务之间涉及到I/O操作.前一个任务完成之前没有写入硬盘,下一个任务无法从硬盘当中获取数据,从而导致了这个高延迟. Spark与Hadoop的对比:Spark也是MapReduce,但是它的编程模式比Hadoop的MapReduce更灵活,而且会支持多种数据集的操作.其次呢,它不是从磁盘中读取数据,它是从内存中读取数据.我把结果中间结果写…
单点登录SSO(Single Sign On)说得简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任.单点登录在大型网站里使用得非常频繁,例如像阿里巴巴这样的网站,在网站的背后是成百上千的子系统,用户一次操作或交易可能涉及到几十个子系统的协作,如果每个子系统都需要用户认证,不仅用户会疯掉,各子系统也会为这种重复认证授权的逻辑搞疯掉.实现单点登录说到底就是要解决如何产生和存储那个信任,再就是其他系统如何验证这个信任的有效性,因…