自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 推荐系统算法

推荐系统算法常用推荐算法分类基于人口统计学推荐用户画像基于内容的推断基于协同过滤的推荐基于协同过滤的推荐的优缺点常用推荐算法分类基于人口统计学推荐基于人口统计学的推荐机制(Demographic-based Recommendation) 是一种最易于实现的推荐方法,它只是简单的根据系统用户的基本信息发现用户的相关程度,然后将相似用户喜爱的其他物品推荐给当前用户对于没有明确含义的用户信息(比如登录时间、地域等上下文信息),可以通过聚类等手段,给用户打上分类标签对于特定标签的用户,又可以根据预设的

2020-12-04 19:47:22 235

原创 监督学习-逻辑回归

监督学习-逻辑回归逻辑斯蒂回归一分类问题Sigmoid函数(压缩函数)逻辑斯谛回归损失函数梯度下降法求解逻辑斯蒂回归一分类问题Sigmoid函数(压缩函数)我们将线性回归拟合出来的值用压缩函数进行压缩,压缩完成后用0.5做一个概率的判定边界,就能把样本分成两类,即正样本和负样本.sigmoid函数中,ez中Z的正负决定了g(z) 的值最后是大于0.5还是小于0.5;即z大于0时,g(z)大于0.5, z小于0时,g(z)小于 0.5当z对应的表达式为分类边界时,恰好有分类边界两侧对应z

2020-12-03 19:57:08 246

原创 监督学习-分类模型

分类模型K临近(KNN)KNN计算距离KNN算法K临近(KNN)最简单最初级的分类器, 就是将全部的训练数据所对应的类别都记录下来,当测试对象的属性和某个训练对象的属性完全匹配时,便可以对其进行分类.K近邻(k-nearest neighbour, KNN) 是一种基本分类方法,通过测量不同特征值之间的距离进行分类。它的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别,其中K通常是不大于20的整数KNN算法中, 所选择的邻居都

2020-12-02 19:57:16 416

原创 监督学习-回归模型

监督学习-回归模型线性回归模型最小二乘法求解线性回归多元线性回归梯度下降法求解线性回归梯度下降法和最小二乘法线性回归模型线性回归(linear regression)是一种线性模型, 它假设输入变量x和单个输出变量y之间存在线性关系具体来说,利用线性回归模型,可以从一组输入变量x的线性组合中,计算输出变量y给定有d个属性(特征)描述的示例x= (x1;x2;;xd) ,其中xi是x在第i 个属性(特征)上的取值, 线性模型(linear model)试图学得一个通过属性(特征)的线性

2020-12-01 19:51:05 279

原创 机器学习基础

机器学习基础机器学习概念定义机器学习过程机器学习主要分类无监督学习监督学习监督学习深入理解监督学习三要素监督学习实现步骤模型评估策略机器学习概念定义机器学习(Machine Learning, ML)主要研究计算机系统对于特定任务的性能,逐步进行改善的算法和统计模型。通过输入海量训练数据对模型进行训练,使模型掌握数据所蕴含的潜在规律,进而对新输入的数据进行准确的分类或预测。是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸优化、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行

2020-11-30 19:44:50 156

原创 推荐系统概述

推荐系统概述推荐系统目的概述目的推荐系统基本思想推荐系统的数据分析推荐系统分类推荐算法简介推荐系统评测指标推荐系统目的概述推荐系统是信息过载所采用的措施,面对海量的数据信息,从中快速推荐出符合用户特点的物品。解决一些人的“选择恐惧症”;面向没有明确需求的人。解决如何从大量信息中找到自己感兴趣的信息。解决如何让自己生产的信息脱颖而出,受到大众的喜爱。目的让用户更快更好的获取到自己需要的内容让内容更快更好的推送到喜欢它的用户手中让网站(平台)更有效的保留用户资源推荐系统基本思想知

2020-11-29 19:40:38 150

原创 数仓项目总结

数仓项目总结技术框架业务技术框架LinuxFlume 采集Kafka缓存Flume消费HDFS存储Hive数仓 自定义UDF、UDTF、日期处理函数Sqoop数据导入MySQL指标存储AzkabanZookeeperKafka ManagerFlume监控器TezPrestoKylinHbaseHueShell业务用户行为业务表12张,每张表的字段记住4-5个分层结构图业务术语电商中最关心的指标:留转GMV复活需求一:用户活跃主

2020-11-27 19:28:10 227

原创 数仓搭建及项目需求

仓搭建及项目需求数仓搭建业务数据生成建表语句业务数据生成业务数据导入数仓ODS层DWD层DWS层之用户行为宽表项目需求GMV成交总额什么是GMV转化率什么是转化率品牌复购率复购率计算分析数仓搭建业务数据生成建表语句创建数据库设置数据库编码导入建表脚本,创成表导入数据插入脚本,函数脚本,存储过程脚本业务数据生成通过函数脚本生成业务数据业务数据导入数仓ODS层完全仿照业务数据库中的表字段,一模一样的创建ODS层对应表。DWD层积压ODS层对数据进行判空过滤。对商品分类表进行维度

2020-11-26 20:01:41 445

原创 电商业务

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

2020-11-25 20:06:53 186

原创 数仓分层概念

数仓分层概念为什么要分层数据分层原理关于区分数据集市与数据仓库为什么要分层把复杂问题简单化将一个复杂的任务分解成多个步骤来完成,每一层只处理单一的步骤,比较简单和容易理解。清晰数据结构每一个数据分层都有它的作用域,这样我们在使用表的时候能更方便地定位和理解。便于维护数据的准确性,当数据出现问题之后,可以不用修复所有的数据,只需要从有问题的步骤开始修复。.减少重复开发规范数据分层,通过的中间层数据,能够减少极大的重复计算,增加一次计算结果的复用性。隔离原始数据不论是数据的异

2020-11-24 20:20:33 287

原创 数仓设计

数仓设计需求项目框架技术选型系统架构图设计系统数据流程设计框架版本选型集群资源规划设计数据生成模块埋点数据基本格式需求实时采集埋点的用户行为数据实现数据仓库分层搭建每天定时导入业务数据根据数据进行报表分析项目框架技术选型数据采集传输:Flume,Kafka,Logstash,DataX,Sqoop数据存储:Hive,Mysql,HDFS,HBase,S3数据计算:Spark,Hive,Tez,Filnk,Storm数据查询:Presto,Impala,Kylin系统架构图设计

2020-11-23 19:25:25 335 1

原创 数仓理论

数仓理论表的分类实体表维度表事务型事实表周期型事实表同步策略实体表同步策略维度表同步策略事务型事实表同步策略周期型事实表同步策略范式理论范式概念表的分类实体表定义实体表,一般是指一个现实存在的业务对象,比如用户,商品,商家,销售员等等。用户表:用户id姓名生日性别邮箱用户等级创建时间1张三2011-11-11男zs@163.com22018-11-112李四2011-11-11女ls@163.com32018-11-113王

2020-11-22 20:19:49 307

原创 spark内核解析 下

spark内核解析Spark 任务调度机制Spark任务提交流程Spark任务调度概述Spark Stage级调度Spark Task级调度调度策略本地化调度失败重试与黑名单机制Spark Shuffle解析Shuffle的核心要点ShuffleMapStage与ResultStageShuffle中的任务个数reduce端数据的读取HashShuffle解析SortShuffle解析Spark 内存管理内存空间分配存储内存管理RDD的持久化机制RDD的缓存过程淘汰与落盘执行内存管理Spark 核心组件解析

2020-11-18 21:40:58 134

原创 spark内核解析 上

spark内核解析Spark 内核概述Spark核心组件回顾DriverExecutorSpark通用运行流程概述Spark 部署模式Standalone模式运行机制Standalone Client模式Standalone Cluster模式YARN模式运行机制YARN Client模式YARN Cluster模式Spark 通讯架构Spark通信架构概述Spark通讯架构解析Spark 内核概述Spark内核泛指Spark的核心运行机制,包括Spark核心组件的运行机制、Spark任务调度机制、Sp

2020-11-17 20:01:05 152

原创 sparkStreaming的数据源与容错性

sparkStreaming的数据源与容错性数据源基本数据源文件数据源自定义数据源RDD队列高级数据源flume数据源Apache Kafka数据源容错检查点机制驱动器程序容错工作节点容错接收器容错处理保证数据源基本数据源Spark Streaming原生支持一些不同的数据源。一些“核心”数据源已经被打包到Spark Streaming 的 Maven 工件中,而其他的一些则可以通过 spark-streaming-kafka 等附加工件获取。每个接收器都以 Spark 执行器程序中一个长期运行的任务

2020-11-15 20:11:08 201

原创 SparkStreaming基本概述

SparkStreaming基本概述概述特点原理与架构原理实时性架构概述Spark Streaming类似于Apache Storm,用于流式数据的处理。根据其官方文档介绍,Spark Streaming有高吞吐量和容错能力强等特点。Spark Streaming支持的数据源有很多,例如:Kafka、Flume、Twitter、ZeroMQ和简单的TCP套接字等等。数据输入后可以用Spark的高度抽象操作如:map、reduce、join、window等进行运算。而结果也能保存在很多地方,如HDFS,数

2020-11-14 19:47:38 284

原创 DataSet的介绍以及常用操作

DataSet的介绍以及常用操作概念DataFrame、DataSet、RDD的区别创建DataSet第一种方式创建DataSet第二种方式创建DataSet第三种方式创建DataSetDataFrame与DataSet互相转换概念DataSet是分布式的数据集合,Dataset提供了强类型支持,也是在RDD的每行数据加了类型约束。DataSet是在Spark1.6中添加的新的接口。它集中了RDD的优点(强类型和可以用强大lambda函数)以及使用了Spark SQL优化的执行引擎。DataSet可以通

2020-11-12 19:39:13 1884

原创 sparkSQL

Spark SQLSpark SQL概述特点RDD以及DataFrame以及DataSetRDD基本介绍Dataframe基本概述Dataset基本概述三者的共性三者的区别RDD:DataFrame:Dataset:DataFrame常用操作DSL风格语法SQL风格语法Spark SQL概述Spark SQL是Spark用来处理结构化数据的一个模块,它提供了一个编程抽象叫做DataFrame并且作为分布式SQL查询引擎的作用。相比于Spark RDD API,Spark SQL包含了对结构化数据和在其

2020-11-11 20:04:12 164

原创 RDD的依赖关系、缓存, DAG的生成以及shuffle的过程

RDD的依赖关系、缓存, DAG的生成以及shuffle的过程RDD的依赖窄依赖宽依赖Lineage(血统)RDD的缓存RDD缓存方式Spark RDD CacheRDD cache使用cache和persist的区别DAG的生成以及shuffle的过程什么是DAGshuffle的过程SortShuffleManager基本介绍sortShuffle的普通机制Sort shuffle的bypass机制RDD的依赖RDD和它依赖的父RDD的关系有两种不同的类型,即窄依赖(narrow dependency

2020-11-10 20:02:21 271

原创 spark当中的RDD

spark当中的RDDRDD基本概念什么是RDDRDD特点分区只读依赖缓存checkpointRDD的创建以及操作方式RDD基本概念什么是RDDRDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。RDD具有数据流模型的特点:自动容错、位置感知性调度和可伸缩性。RDD允许用户在执行多个查询时显式地将数据缓存在内存中,后续的查询能够重用这些数据,这极大地提升了查询速度。Datase

2020-11-09 19:59:29 131

原创 spark任务提交以及spark-shell使用

spark任务提交以及spark-shell使用spark任务提交说明spark任务提交说明一旦打包好,就可以使用bin/spark-submit脚本启动应用了. 这个脚本负责设置spark使用的classpath和依赖,支持不同类型的集群管理器和发布模式:bin/spark-submit \ --class <main-class> --master <master-url> \ --deploy-mode <deploy-mode> \ --co

2020-11-07 21:23:13 643

原创 spark基础入门

spark基础入门概述Spark特点spark的架构模块spark的主要架构模块介绍spark的运行角色介绍spark的运行模式spark on yarn 的两种任务提交模式client模式提交任务cluster模式提交任务概述Spark是一个开源的类似于Hadoop MapReduce的通用的并行计算框架,Spark基于map reduce算法实现的分布式计算,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是Spark中的Job中间输出和结果可以保存在内存中,从而不再

2020-11-06 19:24:39 390 1

原创 scala当中的文件操作、网络请求和隐式转换

scala当中的文件操作、网络请求和隐式转换文件操作和网络请求读取文件当中每一行的数据读取词法单元和数字读取网络资源、文件写入、控制台操作读取网络资源文件写入操作控制台交互操作scala当中的序列化scala当中的正则表达式隐式转换和隐式参数隐式转换隐式转换方法作用域与导入隐式转换和隐式参数案例隐式转换案例一(将我们的Double类型的数据自动转换成Int类型)隐式转换案例二(让File类具备RichFile类中的read方法)隐式转换案例三(超人变身)隐式转换案例四(一个类隐式转换成具有相同方法的多个类)

2020-11-04 19:53:18 141

原创 scala当中的特质trait、模式匹配和样例类

scala当中的特质trait、模式匹配和样例类scala当中的特质trait将trait作为接口使用在trait中定义具体的方法在trait中定义具体field在trait中定义抽象field在实例对象指定混入某个traittrait 调用链混合使用 trait 的具体方法和抽象方法trait的构造机制trait 继承 class模式匹配和样例类字符匹配匹配字符串守卫匹配类型匹配数组、元组、集合样例类偏函数scala当中的特质trait将trait作为接口使用Scala中的trait是一种特殊的概

2020-11-02 19:48:28 190

原创 scala中高阶函数、类,对象与继承

scala中高阶函数、类,对象与继承高阶函数作为参数的函数匿名函数高阶函数参数类型推断闭包与柯里化scala当中的类类的定义与创建类的实例化以及使用属性的getter和setter方法类的构造器scala当中的对象scala当中的Object伴生类与伴生对象scala当中的apply方法scala当中的main方法枚举scala当中的继承Scala中继承(extends)的概念Scala中override 和 super 关键字Scala中isInstanceOf 和 asInstanceOfScala中g

2020-11-01 20:09:06 123

原创 scala数据结构

数据结构数据结构特点数组定义定长数组变长数组定长数组与变长数组的相互转换多维数组scala当中数组的遍历数组的常见算法元组tuple创建元组映射Map不可变映射可变映射及其操作获取map当中指定的key值遍历Map当中的元素将对偶的数组转变为map列表(List)创建列表访问列表当中的元素列表当中添加元素List的创建与追加元素变长List的创建与使用Set集合不可变集合的创建可变集合的创建以及添加元素可变集合删除元素遍历Set集合元素Set更多常用操作介绍集合元素与函数的映射队列Queue创建队列队列当中

2020-10-31 21:56:15 680

原创 scala基础入门

scala基础入门scala当中申明值和变量块表达式scala当中常用数据类型scala当中的常用类型结构图算数操作符重载流程控制语句以及方法和函数if else表达式while表达式for表达式调用函数与方法scala当中的函数与方法scala当中申明值和变量scala当中的变量申明可以使用两种方式,第一种使用val来申明变量。第二种使用var来申明变量。申明变量语法 val/var 变量名 [:变量类型] = 变量值其中val定义的变量是不可变的。类似于java当中使用final来

2020-10-30 20:27:21 171

原创 HBase的rowKey设计技巧、协处理器和二级索引

HBase的rowKey设计技巧、协处理器和二级索引rowKey设计技巧rowkey长度原则rowkey散列原则rowkey唯一原则什么是热点协处理器起源协处理器有两种: observer 和 endpointObserverEndpoint 协处理器协处理器加载方式协处理器卸载二级索引rowKey设计技巧HBase是三维有序存储的,通过rowkey(行键),column key(column family和qualifier)和TimeStamp(时间戳)这个三个维度可以对HBase中的数据进行快速定

2020-10-28 19:03:53 285

原创 HBase与hive的对比

HBase与hive的对比HiveHBaseHive数据仓库Hive的本质其实就相当于将HDFS中已经存储的文件在Mysql中做了一个双射关系,以方便使用HQL去管理查询。用于数据分析、清洗Hive适用于离线的数据分析和清洗,延迟较高基于HDFS、MapReduceHive存储的数据依旧在DataNode上,编写的HQL语句终将是转换为MapReduce代码执行。(不要钻不需要执行MapReduce代码的情况的牛角尖)HBase数据库是一种面向列存储的非关系型数据库。用于存储结构

2020-10-27 20:12:37 118

原创 HBase底层原理

HBase底层原理系统架构HBase的表数据模型物理存储整体结构STORE FILE & HFILE结构Memstore与storefileHLog(WAL log)读写过程读请求过程:写请求过程:Region管理region分配region server上线region server下线Master工作机制master上线master下线HBase三个重要机制flush机制compact机制split机制系统架构Client包含访问hbase的接口,client维护着一些cache来加快

2020-10-25 20:10:37 176

原创 HBase基础入门

HBase基础入门简介HBase与Hadoop的关系RDBMS与HBase的对比HBase特征简要HBase的基础架构HMasterRegionServer组件:简介hbase是bigtable的开源java版本。是建立在hdfs之上,提供高可靠性、高性能、列存储、可伸缩、实时读写nosql的数据库系统。它介于nosql和RDBMS之间,仅能通过主键(row key)和主键的range来检索数据,仅支持单行事务(可通过hive支持来实现多表join等复杂操作)。主要用来存储结构化和半结构化的松散数据

2020-10-24 20:16:28 234

原创 kafka监控及运维

kafka监控及运维kafka-eagle概述环境和安装环境要求安装步骤在开发工作中,消费在Kafka集群中消息,数据变化是我们关注的问题,当业务前提不复杂时,我们可以使用Kafka 命令提供带有Zookeeper客户端工具的工具,可以轻松完成我们的工作。随着业务的复杂性,增加Group和 Topic,那么我们使用Kafka提供命令工具,已经感到无能为力,那么Kafka监控系统目前尤为重要,我们需要观察 消费者应用的细节。kafka-eagle概述为了简化开发者和服务工程师维护Kafka集群的工作有一

2020-10-22 19:48:42 178

原创 CAP理论以及kafka当中的CAP机制

CAP理论以及kafka当中的CAP机制分布式系统当中的CAP理论一致性:Consistency可用性:Availability分区容忍性:Partition tolerancePartition toleranceConsistencyAvailabilitykafka当中的CAP应用分布式系统当中的CAP理论分布式系统(distributed system)正变得越来越重要,大型网站几乎都是分布式的。分布式系统的最大难点,就是各个节点的状态如何同步。为了解决各个节点之间的状态同步问题,在1998

2020-10-21 19:41:06 842

原创 Kafka集群操作

Kafka集群操作创建topic查看主题命令生产者生产数据消费者消费数据运行describe topics命令增加topic分区数增加配置删除配置删除topic创建topic创建一个名字为test的主题, 有三个分区,有两个副本node01执行以下命令来创建topiccd /export/servers/kafka_2.11-1.0.0bin/kafka-topics.sh --create --zookeeper node01:2181 --replication-factor 2 --par

2020-10-19 19:54:46 121

原创 kafka的基础入门

kafka的基础入门kafka的基本介绍kafka的优点分布式的发布与订阅系统kafka的主要应用场景kafka的架构介绍kafka架构内部细节剖析kafka主要组件说明kafka当中的producer说明kafka当中的topic说明kafka当中的partition说明kafka当中partition的副本数说明kafka当中的segment说明kafka当中的partition的offsetkafka分区与消费组的关系kafka当中的consumerkafka的基本介绍kafka是最初由linke

2020-10-19 10:52:09 174

原创 hadoop基础环境增强

hadoop基础环境增强Hadoop High AvailabilityNamenode HANamenode HA详解Failover ControllerYarn HAHadoop High AvailabilityHA(High Available), 高可用,是保证业务连续性的有效解决方案,一般有两个或两个以上的节点,分为活动节点(Active)及备用节点(Standby)。通常把正在执行业务的称为活动节点,而作为活动节点的一个备份的则称为备用节点。当活动节点出现问题,导致正在运行的业务(任务)

2020-10-16 22:12:51 255 1

原创 oozie基础

oozie基础oozie的介绍oozie的架构oozie的执行流程oozie的组件介绍oozie使用过程当中可能遇到的问题oozie的介绍Oozie是运行在hadoop平台上的一种工作流调度引擎,它可以用来调度与管理hadoop任务,如,MapReduce、Pig等。那么,对于OozieWorkflow中的一个个的action(可以理解成一个个MapReduce任务)Oozie是根据什么来对action的执行时间与执行顺序进行管理调度的呢?答案就是我们在数据结构中常见的有向无环图(DAGDirect A

2020-10-13 19:41:05 107

原创 Hue基础

Hue基础Hue的介绍Hue的架构核心功能Hue的安装第一步:下载Hue的压缩包并上传到linux解压第二步:编译安装启动开始配置Hue创建mysql数据库准备进行编译linux系统添加普通用户hue启动hue进程页面访问hue与其他框架的集成hue与hadoop的HDFS以及yarn集成第一步:更改所有hadoop节点的core-site.xml配置第二步:更改所有hadoop节点的hdfs-site.xml第三步:重启hadoop集群第四步:停止hue的服务,并继续配置hue.ini配置hue与hive

2020-10-12 21:07:13 416

原创 impala基础入门

impala基础入门impala的介绍imala基本介绍impala与hive的关系impala的优点impala的缺点:impala的架构以及查询计划Impala的架构模块:查询执行frontend生成查询计划分为两个阶段:impala的介绍imala基本介绍impala是cloudera提供的一款高效率的sql查询工具,提供实时的查询效果,官方测试性能比hive快10到100倍,其sql查询比sparkSQL还要更加快速,号称是当前大数据领域最快的查询sql工具,impala是参照谷歌的新三篇论文

2020-10-11 20:02:50 223

原创 Echarts—简单入门

Echarts—简单入门页面引入Echarts绘制一个简单的图表页面引入EchartsECharts 3 开始只需要像普通的 JavaScript 库一样用 script 标签引入即可。<!DOCTYPE html><html><head> <meta charset="utf-8"> <!-- 引入 ECharts 文件 --> <script src="echarts.min.js"></sc

2020-10-10 19:42:42 252

空空如也

空空如也

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

TA关注的人

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