![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
大数据
文章平均质量分 95
0918L
CRUD
展开
-
【项目】数仓项目(十)
一、数仓搭建 - ADS 层1.1 设备主题1.1.1 活跃设备数(日、周、月)需求定义:日活:当日活跃的设备数周活:当周活跃的设备数月活:当月活跃的设备数1)建表语句drop table if exists ads_uv_count;create external table ads_uv_count(`dt` string COMMENT '统计日期',`day_count` bigint COMMENT '当日用户数量',`wk_count` bigint C转载 2020-11-14 15:09:51 · 16723 阅读 · 0 评论 -
【项目】数仓项目(九)
一、数仓搭建 - DWS 层1.1 业务术语1)用户用户以设备为判断标准,在移动统计中,每个独立设备认为是一个独立用户。Android系统根据 IMEI 号,IOS 系统根据 OpenUDID 来标识一个独立用户,每部手机一个用户2)新增用户首次联网使用应用的用户。如果一个用户首次打开某 APP,那这个用户定义为新增用户;卸载再安装的设备,不会被算作一次新增。新增用户包括日新增用户、周新增用户、月新增用户3)活跃用户打开应用的用户即为活跃用户,不考虑用户的使用情况。每天一台设备打转载 2020-11-14 14:59:45 · 17083 阅读 · 0 评论 -
【项目】数仓项目(八)
1.1 DWD 层(业务数据)1.1.1 商品维度表(全量表)1)建表语句DROP TABLE IF EXISTS `dwd_dim_sku_info`;CREATE EXTERNAL TABLE `dwd_dim_sku_info` (`id` string COMMENT '商品 id',`spu_id` string COMMENT 'spuid',`price` double COMMENT '商品价格',`sku_name` string COMMENT '商品名称'转载 2020-11-14 14:48:53 · 17597 阅读 · 0 评论 -
【项目】数仓项目(七)
一、数仓搭建 - DWD 层1)对用户行为数据解析 2)对核心数据进行判空过滤 3)对业务数据采用维度模型重新建模,即维度退化1.1 DWD 层(用户行为启动表数据解析)1.1.1 创建启动表1)建表语句drop table if exists dwd_start_log;CREATE EXTERNAL TABLE dwd_start_log(`mid_id` string,`user_id` string,`version_code` string,`version_转载 2020-11-14 14:24:12 · 16854 阅读 · 0 评论 -
【项目】数仓项目(六)
一、数仓分层1.1 为什么要分层1.2 数据集市与数据仓库概念1.3 数仓命名规范1.3.1 表命名ODS层命名为ods_表名 DWD层命名为dwd_dim/fact_表名 DWS层命名为dws_表名 DWT层命名为dwt_购物车 ADS层命名为ads_表名 临时表命名为xxx_tmp 用户行为表,以log为后缀1.3.2 脚本命名数据源_to_目标_db/log.sh 用户行为脚本以log为后缀;业务数据脚本以db为后缀二、数仓理论2.1 范式理...转载 2020-11-12 17:07:42 · 18174 阅读 · 0 评论 -
【项目】数仓项目(五)
一、电商业务简介1.1 电商业务流程1.2 电商常识(SKU、SPU)SKU=Stock Keeping Unit(库存量基本单位)。现在已经被引申为产品统一编号的简称,每种产品均对应有唯一的 SKU 号SPU(Standard Product Unit):是商品信息聚合的最小单位,是一组可复用、易检索的标准化信息集合例如:iPhoneX 手机就是 SPU。一台银色、128G 内存的、支持联通网络的 iPhoneX,就是 SKUSPU 表示一类商品。好处就是:可以共用商品图片,海转载 2020-11-12 14:10:27 · 18068 阅读 · 2 评论 -
【项目】数仓项目(四)
总结1)数仓概念总结【1】数据仓库的输入数据源和输出系统分别是什么?输入系统:埋点产生的用户行为数据、JavaEE 后台产生的业务数据输出系统:报表系统、用户画像系统、推荐系统2)项目需求及架构总结【1】集群规模计算【2】框架版本选型1)Apache:运维麻烦,组件间兼容性需要自己调研。(一般大厂使用,技术实力雄厚,有专业的运维人员)(建议使用)2)CDH:国内使用最多的版本,但 CM 不开源,但其实对中、小公司使用来说没有影响3)HDP:开源,可以进行二次开发转载 2020-11-12 13:54:26 · 17275 阅读 · 0 评论 -
【项目】数仓项目(三)
【1】Linux环境搭建Linux配置请看这篇博客????Linux基本配置【2】Hadoop环境搭建一、数据采集模块1)基础环境创建[node01]cd ~mkdir bincd binvim xsync=======================脚本如下========================#!/bin/bash#1 获取输入参数个数,如果没有参数,直接退出pcount=$#if((pcount==0)); thenecho no args;转载 2020-11-12 13:44:34 · 17328 阅读 · 0 评论 -
【项目】数仓项目(二)
一、数据生成模块1)埋点数据基本格式公共字段:基本所有安卓手机都包含的字段 业务(事件)字段:埋点上报的字段,有具体的业务类型示例如下????2)示例日志(服务器时间戳 | 日志)如下????注意:事件字段包含多个用户行为数据3)事件日志数据【3.1】商品列表页(loading)事件名称:loading标签 含义 action 动作:开始加载=1,加载成功=2,加载失败=3 loading_time 加载时长:计算下拉开始到接口返回数据的时间,转载 2020-11-12 10:45:51 · 17417 阅读 · 0 评论 -
【项目】数仓项目
一、数据仓库数据仓库(Data Warehouse),是为企业所有决策制定过程,提供所有系统数据支持的战略集合通过对数据仓库中数据的分析,可以帮助企业,改进业务流程、控制成本、提高产品质量等数据仓库,并不是数据的最终目 的地,而是为数据最终的目的地做好准备。这些准备包括对数据的:清洗,转义,分类,重组,合并,拆分,统计等等二、项目需求1、用户行为数据采集平台搭建2、...转载 2020-04-27 22:49:42 · 18837 阅读 · 0 评论 -
MapReduce排序以及序列化
序列化(Serialization)是指把结构化对象转化为字节流。反序列化(Deserialization)是序列化的逆过程。把字节流转为结构化对象。 当要在进程间传递对象或持久化对象的时候,就需要序列化对象成字节流反之当要将接收到或从磁盘读取的字节流转换为对象,就要进行反序列化。Java 的序列化(Serializable)是一个重量级序列化框架,一个对象被序列化后,会附带很多额外的信息(...原创 2019-11-20 09:20:38 · 19968 阅读 · 5 评论 -
MapReduce的分区与ReduceTask的数量
在MapReduce中,通过指定分区,会将同一个分区的数据发送到同一个reduce中,例如为了数据的统计,可以把一批类似的数据发 送到同一个reduce当中去,在同一个reduce中统计相同类型的数据,就可以实现类似数据的分区,统计等直观的说就是相同类型的数据,送到一起去处理,在reduce当中默认分区只有1个。MapReduce当中的分区类图...原创 2019-11-20 09:15:31 · 20101 阅读 · 1 评论 -
MapReduce如何调优
Map的最终效果是什么样(如何让Map达到最优)Map端的最高效率是:尽量减少环形缓冲区flush的次数(减少磁盘IO 的使用次数)如何能够减少环形缓冲区flush的次数:1、加大环形缓冲区的内存2、增大缓冲区阈值的大小 (考虑剩余的空间是不是够系统使用)3、对输出的进行压缩(压缩-解压的过程会消耗CPU)Reduce端的最高效率是:尽量减少环形缓冲区flush的次数尽量将所有的数...原创 2019-11-19 08:52:25 · 20753 阅读 · 0 评论 -
大数据简介
目录1、大数据概述传统数据处理介绍2、什么是大数据?(Big Data)3、传统数据与大数据的对比4、大数据的特点 数据集主要特点 其他特征 传统数据与大数据处理服务器系统安装对比5、大数据生态系统新技术6、大数据技术为什么快?大数据技术快的原因1、大数据概述 传统数据处理介绍 数据来源: ...原创 2019-11-05 18:05:21 · 21783 阅读 · 1 评论 -
Apache Sqoop
目录一、sqoop介绍二、sqoop的安装三、sqoop的导入一、全量导入mysql表数据到HDFS二、全量导入mysql表数据到HIVE方式一:先复制表结构到hive中再导入数据 方式二:直接复制表结构数据到hive三、导入表数据子集(where过滤)四、导入表数据子集(query查询)五、增量导入Append模式增量导入Last...原创 2019-12-12 16:53:39 · 18274 阅读 · 0 评论 -
HIve调优
目录Fetch抓取(Hive可以避免进行MapReduce)本地模式Group ByCount(distinct)笛卡尔积使用分区剪裁、列剪裁动态分区调整数据倾斜Map数如何适当的增加map数reduce数并行执行严格模式JVM重用推测执行表的优化JoinMapJoinFetch抓取(Hive可以避免进行MapRe...原创 2019-12-12 16:02:59 · 17859 阅读 · 0 评论 -
Hive的数据压缩与数据存储
目录一、hive的数据压缩MR支持的压缩编码压缩配置参数开启Map输出阶段压缩开启Reduce输出阶段压缩二、hive的数据存储格式列式存储和行式存储TEXTFILE格式ORC格式PARQUET格式三、存储和压缩结合一、hive的数据压缩在实际工作当中,hive当中处理的数据,一般都需要经过压缩,前期我们在学习hadoop的时候,已经配置过ha...原创 2019-12-12 15:22:01 · 17728 阅读 · 2 评论 -
Hive用户自定义函数
一、UDF1.什么是 UDF?1. 当 Hive 提供的内置函数无法满足你的业务处理需要时,此时就可以考虑使用用户自定义函数(UDF: user-defined function)2.UDF 开发步骤1.新建 JAVA Maven 项目,pom文件中添加 hive-exec-1.1.0.jar 和 hadoop-common-2.6.0.jar 依赖上述代码↓↓↓ <re...原创 2019-12-04 10:03:20 · 18250 阅读 · 1 评论 -
HIVE的安装部署与环境变量的配置
HIVE的安装部署第一步:上传hive-1.1.0-cdh5.14.0.tar.gz第二步:进行解压cd /export/softwarestar -zxvf hive-1.1.0-cdh5.14.0.tar.gz -C ../servers/ 从节点安装mysql(使用yum源进行安装,强烈推荐)**第一步:在线安装mysql相关的软件包yum install mysql ...原创 2019-11-20 10:24:27 · 20623 阅读 · 4 评论 -
Hive基本概念
Hive简介什么是HiveHive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能(HQL)。其本质是将SQL转换为MapReduce的任务进行运算,底层由HDFS来提供数据的存储,hive可以理解为一个将SQL转换为MapReduce的任务的工具。Hive可以对数据进行存储与计算数据存储依赖于HDFS数据计算依赖于MapRedu...原创 2019-11-20 09:55:40 · 19802 阅读 · 1 评论 -
MapReduce编程初体验(WordCount)
需求:在给定的文本文件中统计输出每一个单词出现的总次数Map类:package itcast.demo01;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.Mapper;import java.io.IOExcep...原创 2019-11-20 08:55:39 · 20173 阅读 · 0 评论 -
HaDoop之MapReduce流程
MapReduce简介及优点MapReduce是一个分布式运算程序的编程框架,是Hadoop数据分析的核心MapReduce的核心思想是将用户编写的逻辑代码和架构中的各个组件整合成一个分布式运算程序,实现一定程序的并行处理海量数据,提高效率海量数据难以在单机上处理,而一旦将单机版程序扩展到集群上进行分布式运行势必将大大增加程序的复杂程度,所以引入MapReduce架构,开发人员可以将精力集...原创 2019-11-19 11:31:55 · 21532 阅读 · 0 评论 -
大数据组件图谱
原创 2019-11-19 11:15:48 · 20078 阅读 · 1 评论 -
Namenode的故障恢复
cp /old/CentOS-Media.repo . mv CentOS-Media.repo local.repo原创 2019-11-11 20:46:50 · 21808 阅读 · 1 评论 -
hadoop各组件详解
一、Hadoop三大组件1.HDFS 分布式文件系统 2.MapReduce 分布式离线计算框架 3.Yarn 资源调度1.HDFS管理者:NameNode 1)作用 1.管理整个文件系统的元数据/名字空间/目录树 2.管理每一个路径/文件所对应的block块信息 3.管理DataNode的心跳日志 2)NameNode元数据持久化的2种形式 1.E...转载 2019-11-05 17:52:02 · 23027 阅读 · 2 评论