自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(113)
  • 资源 (2)
  • 收藏
  • 关注

原创 数据仓库的概念与设计

目录一、数据仓库概念二、数据仓库建模方法1.ER模型2.维度模型2.1事实表事实类型2.2维度表三、数据仓库设计一、数据仓库概念数据仓库是一个为数据分析而设计的企业级数据管理系统。数据仓库可集中、整合多个信息源的大量数据,借助数据仓库的分析能力,企业可从数据中获得宝贵的信息进而改进决策。同时,随着时间的推移,数据仓库中积累的大量历史数据对于数据科学家和业务分析师也是十分宝贵的。数据模型就是数据组织和存储方法,它强调从业务、数据存取和...

2022-04-26 21:58:00 2097 1

原创 SQL之断点连续问题

1001 2022-04-021001 2022-04-041001 2022-04-051001 2022-04-071001 2022-04-111001 2022-04-121001 2022-04-141002 2022-04-031002 2022-04-051002 2022-04-071002 2022-04-091002 2022-04-111002 2022-04-151002 2...

2022-04-11 11:11:51 932

原创 Flink运行架构和提交流程

目录运行架构客户端JobManagerTaskManager与SlotsParallelism(并行度)Operator Chains(任务链)ExecutionGraph(执行图)提交流程运行架构客户端客户端不是运行和程序执行的一部分,而是用于准备和发送dataflow到JobManager. 然后客户端可以断开与JobManager的连接(detached mode),也可以继续保持与JobManager的连接(attached mo...

2022-03-29 19:12:21 2852

原创 Flink的部署介绍

local-cluster模式Flink中的Local-cluster(本地集群)模式,主要用于测试, 学习。1.flink官网下载Apache Flink: Stateful Computations over Data Streams2.解压至工具目录,将其复制并改名为flink-local3.把上个文章中的无界流处理wordcount的API打包为jar包传入flink-local目录4.启动本地集群bin/start-cluster.sh5.在hadoop102中启动.

2022-03-25 23:32:23 1663

原创 Flink简介和入门API

什么是FlinkFlink起源于Stratosphere项目,Stratosphere是在2010~2014年由3所地处柏林的大学和欧洲的一些其他的大学共同进行的研究项目,2014年4月Stratosphere的代码被复制并捐赠给了Apache软件基金会,参加这个孵化项目的初始成员是Stratosphere系统的核心开发人员,2014年12月,Flink一跃成为Apache软件基金会的顶级项目。在德语中,Flink一词表示快速和灵巧,项目采用一只松鼠的彩色图案作为lo...

2022-03-25 20:32:11 2816

原创 Redis的主从复制机制

读写分离的好处性能优化:主服务器专注于写操作,可以用更适合写入数据的模式工作;同样,从服务器专注于读操作,可以用更适合读取数据的模式工作。强化数据安全,避免单点故障:由于数据同步机制的存在,各个服务器之间数据保持一致,所以其中某个服务器宕机不会导致数据丢失或无法访问。从这个角度说参与主从复制的Redis服务器构成了一个集群。搭建步骤1.思路Redis集群在运行时使用的是同一个可执行文件,只是对应的配置文件不同。daemonize yes...

2022-03-15 15:04:12 1005

原创 Spark之Spark Streaming

Spark Streaming是什么Spark Streaming用于流式数据处理DStream是什么Spark Streaming使用离散化流作为抽象表示,称作DStream,是随着时间的推移而得到的数据的序列。在DStream内部,每个时间区间收到的数据都作为RDD存在,DStream就是由这些RDD所组成的序列,DStream就是对RDD在实时处理场景中的一种封装。架构图DStream的创建 1.通过RDD队列 ...

2022-02-18 19:12:29 2257

原创 Spark之SparkSQL

什么是SparkSQLSparkSQL是Spark用于结构化数据处理的模块SparkSQL的原理SparkSQL提供了两个编程抽象,DataFrame和DataSetDataFrame 1)DataFrame是一种类似RDD的分布式数据集,类似于传统数据库中的二维表格。2)DataFrame与RDD的主要区别在于,DataFrame带有schema元信息,即DataFrame所表示的二维表数据集的每一列都带有名称和类型。...

2022-02-16 20:49:20 4296

原创 Spark之行动算子

因为转换算子都是懒加载,并不会立即执行,遇到行动算子才执行。目录1.reduce()2.collect()3.count()4.first()5.take()6.takeOrdered()7.aggregate()8.fold()9.countByKey()10.save11.foreach()1.reduce()聚合,f函数聚集RDD中的所有元素,先聚合分区内数据,再聚合分区间数据。 val listRDD: RDD[Int] ...

2022-02-14 09:29:10 357

原创 Spark之累加器

一、系统累加器累加器:分布式共享只写变量。(Executor和Executor之间不能读数据)累加器用来把Executor端变量信息聚合到Driver端。在Driver中定义的一个变量,在Executor端的每个task都会得到这个变量的一份新的副本,每个task更新这些副本的值后,传回Driver端进行合并计算。定义:SparkContext.accumulator(initialValue)方法object accumulator01_system ...

2022-02-12 16:39:50 3664

原创 Spark之RDD转换算子

目录一.value类型1.map()2.mapPartitions()3.mapPartitionsWithIndex()4.flatMap()扁平化5.glom()6.groupBy()7.filter()8.sample()9. distinct()10.coalesce()11.repartition()12.sortBy()13. pipe()二、双value1.intersection()2.union()3.s...

2022-02-11 20:49:35 990

原创 Spark之RDD分区规则

1.RDD数据从集合中创建a.不指定分区 从集合创建rdd,如果不手动写分区数量的情况下,默认分区数跟本地模式的cpu核数有关local : 1个 local[*] : 笔记本所有核心数 local[K]:K个b.指定分区object fenqu { def main(args: Array[String]): Unit = { val conf: SparkConf = new SparkConf().setMaste...

2022-02-11 19:09:15 538

原创 Spark之RDD创建方式

在Spark中创建RDD的创建方式可以分为三种:从集合中创建RDD、从外部存储创建RDD、从其他RDD创建。创建时环境依赖<dependencies> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.12</artifactId> <version&g...

2022-02-11 18:56:37 789

原创 Spark之RDD概述

一、什么是RDDRDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象。代码中是一个抽象类,它代表一个弹性的、不可变、可分区、里面的元素可并行计算的集合。1.弹性:存储的弹性:内存与磁盘自动切换容错的弹性:数据丢失可以自动恢复计算的弹性:计算出错重试机制 分片的弹性:可根据需要重新分片2.分布式 数据...

2022-02-11 18:49:47 1001

原创 Spark概述与使用

目录一、Spark概述1.1spark框架与hadoop框架1.2Spark的内置模块1.3Spark的特点二、Spark的使用2.1Spark的运行模式2.2Local模式2.3Spark集群中的角色介绍2.4Standalone模式2.5YARN模式三、WordCount案例一、Spark概述Spark是一种基于内存的快速、通用、可扩展的大数据分析计算引擎。1.1spark框架与hadoop框架1.2Spark的内...

2022-02-08 19:55:16 727

原创 Scala之异常

java处理异常(1)Java语言按照try—catch—finally的方式来处理异常(2)不管有没有异常捕获,都会执行finally,因此通常可以在finally代码块中释放资源。(3)可以有多个catch,分别捕获对应的异常,这时需要把范围小的异常类写在前面,把范围大的异常类写在后面,否则编译错误。Scala处理异常(1)将代码封装在try块中。在try块之后使用了一个catch处理程序来捕获异常。如果发生任何异常,catch处理程序将处理它,程序将不会异常终止。(2)Scal

2022-02-08 18:16:15 632 1

原创 Scala之隐式转换与泛型

一、隐式转换隐式转换可以在不需改任何代码的情况下,扩展某个类的功能。实际的应用场景 是对于老旧的代码添加功能,如果直接修改源代码 很容易出现未知的bug,推荐使用隐式转换,自定义一个新的类 然后把需要添加功能的类隐式转换为新创建的类。 def main(args: Array[String]): Unit = { // 完成隐式转换 需要添加隐式函数 // 将当前作用域的所有int值 隐式转换为MyRichInt类 implicit def chang...

2022-01-23 20:02:51 538

原创 Scala之模式匹配

目录一、基本语法二、模式守卫三、匹配类型四、偏函数模式匹配一、基本语法模式匹配语法中,采用match关键字声明,每个分支采用case关键字进行声明,当需要匹配时,会从第一个case分支开始,如果匹配成功,那么执行对应的逻辑代码,如果匹配不成功,继续执行下一个分支进行判断。如果所有case都不匹配,那么会执行case _分支。// 模式匹配的基础语法 val a:Int = 10 val b:Int = 20 var c:Char = '+...

2022-01-23 19:37:32 279

原创 Scala之集合函数

目录一、基本操作二、衍生集合三、初级函数四、高级函数五、wordcount案例一、基本操作(1)获取集合长度(2)获取集合大小(3)循环遍历(4)迭代器(5)生成字符串(6)是否包含 def main(args: Array[String]): Unit = { val list: List[Int] = List(1, 2, 3, 4) val set: Set[Int] = Set(2, 4, 6, 8) //获取集合长度

2022-01-22 22:06:17 766

原创 Scala之集合

一、集合简介(1)Scala的集合有三大类:序列Seq、集Set、映射Map,所有的集合都扩展自Iterable特质。(2)对于几乎所有的集合类,Scala都同时提供了可变和不可变的版本,分别位于以下两个包。不可变集合:scala.collection.immutable可变集合: scala.collection.mutable(3)不可变集合,就是指该集合对象不可修改,每次修改就会返回一个新对象,而不会对原对象进行修改。类似于java中的String对象(4)可变集合,就是这个.

2022-01-22 20:24:03 1142

原创 Scala之类型

一、类型检查和转换 (1)obj.isInstanceOf[T]:判断obj是不是T类型。(2)obj.asInstanceOf[T]:将obj强转成T类型。(3)classOf获取类模板。def main(args: Array[String]): Unit = { // 判断对象的类型 以及转换对象的类型 // 只有多态会使用到 val person1: Person = new Student person1.say...

2022-01-20 20:49:56 425

原创 Scala之特质

目录一、特质总述二、特质语法三、基本语法四、特质叠加五、特质自身类型六、特质与抽象类一、特质总述Scala语言中,采用特质trait(特征)来代替接口的概念,也就是说,多个类具有相同的特质(特征)时,就可以将这个特质(特征)独立出来,采用关键字trait声明。Scala中的trait中即可以有抽象属性和方法,也可以有具体的属性和方法,一个类可以混入(mixin)多个特质。这种感觉类似于Java中的抽象类。Scala引入tr...

2022-01-20 20:42:28 1188

原创 Scala之类与对象(单例、apply方法)

目录一、类二、属性三、单例对象(伴生对象)四、apply方法五、单例模式的实现一、类语法:[修饰符] class 类名 {类体} (1)Scala语法中默认就是public(2)一个Scala源文件可以包含多个类class stu {}二、属性属性是类的一个组成部分语法:[修饰符] var|val 属性名称 [:类型] = 属性值注:Bean属性(@BeanPropetry),可以自动生成规范的setXxx/getXxx方法

2022-01-20 19:55:27 714

原创 Scala之抽象以及多态举例

抽象的语法:(1)定义抽象类:abstract class Animal{} //通过abstract关键字标记抽象类(2)定义抽象属性:val|var name:String //一个属性没有初始化,就是抽象属性(3)定义抽象方法:def hello():String //只声明而没有实现的方法,就是抽象方法抽象类举例 abstract class animal{ val name:String val age:Int def test(name:String

2022-01-20 19:13:47 359

原创 Scala之继承

语法:class 子类名 extends 父类名 { 类体 }(1)子类继承父类的属性和方法(2)scala是单继承注意事项:1.继承的子类能够直接使用父类的属性和方法2.继承是运行父类的构造器3.在运行子类的主构造器之前会先运行父类的主构造器4.继承的本质是在类声明中单独继承一个父类的构造器5.在继承父类的有参构造器的时候,需要保证子类的主构造器参数要多于继承的构造器,并且名字是相同的class Person(){ println("父类的主构造器").

2022-01-20 16:06:41 1487

原创 Scala之封装

一、java封装与scala封装封装就是把抽象出的数据和对数据的操作封装在一起,数据被保护在内部,程序的其它部分只有通过被授权的操作(成员方法),才能对数据进行操作。Java封装操作如下,(1)将属性进行私有化(2)提供一个公共的set方法,用于对属性赋值(3)提供一个公共的get方法,用于获取属性的值Scala中的public属性,底层实际为private,并通过get方法(obj.field())和set方法(obj.field_=(value))对其...

2022-01-18 21:02:54 822

原创 Scala之包package

一、包的命名1.规则只能包含数字、字母、下划线、小圆点.,但不能用数字开头,不能使用关键字。2.命名规范com.公司名.项目名.业务模块名二、包语句1.与Java的包管理风格相同,每个源文件一个包package com.hpu.exe01.demo042.通过嵌套的风格表示层级关系(1)一个源文件中可以声明多个package(2)子包中的类可以直接访问父包中的内容,而无需导包package com{ package hpu{...

2022-01-18 20:41:45 527

原创 Scala之函数

目录一、函数二、函数和方法的区别三、函数的定义格式四、函数的参数五、函数至简原则六、高阶函数七、匿名函数八、函数柯里化&闭包九、递归十、控制抽象十一、惰性函数一、函数def hello(x:Int,y:Int): Int ={ x + y}从左到右一次为定义函数关键字 函数名 参数名 参数类型 返回值类型 第二行为函数体二、函数和方法的区别(1)为完成某一功能的程序语句的集合,称为函数。(2)类中的函数称之方法。

2022-01-18 20:21:55 156

原创 Scala之流程控制语句

一、分支控制语句——if else基本语法单分支if (条件表达式) { 执行代码块} 双分支if (条件表达式) { 执行代码块1} else {执行代码块2}多分支if (条件表达式1) { 执行代码块1}else if (条件表达式2) { 执行代码块2} ……else { 执行代码块n}//嵌套if(){if(){}else{} }注://Scala中if else表达式其实是有返回值的...

2022-01-18 18:53:50 442

原创 Scala之运算符

目录一、scala运算符本质二、算术运算符三、逻辑运算符四、关系运算符注:scala ==与equals区别五、赋值运算符六、位运算符一、scala运算符本质在Scala中其实是没有运算符的,所有运算符都是方法。1)当调用对象的方法时,点.可以省略2)如果函数参数只有一个,或者没有参数,()可以省略object test01 { def main(args: Array[String]): Unit = {...

2022-01-15 16:31:32 327

原创 Scala之变量与数据类型

目录一、变量与常量二、标识符注:scala关键字三、字符串四、键盘输入五、数据类型1.整数类型2.浮点类型3.字符类型4.布尔类型5.Unit类型、Null类型和Nothing类型六、类型转换1.数值类型自动转换2.强制类型转换3.数值类型和String类型间转换一、变量与常量var 变量名 [: 变量类型]= 初始值 例:var i:Int = 10val 常量名 [: 常量类型] = 初始值 例...

2022-01-14 20:48:23 446

原创 Scala简介

一、什么是scalaScala是一门多范式的编程语言,一种类似java的编程语言,设计初衷是实现可伸缩的语言、并集成面象对象编程的各种特性。Scala将面向对象和函数式编程结合成一种简洁的高级语言。Scala的静态类型有助于避免复杂应用程序中的错误,它的JVM和JavaScript运行时让你可以轻松地访问庞大的库生态系统来构建高性能系统。联邦理工学院洛桑(EPFL)的Martin Odersky于2001年基于Funnel的工作开始设计Scala。Funnel...

2022-01-14 18:20:06 3918

原创 linux环境变量

Linux的环境变量可在多个文件中配置,如/etc/profile,/etc/profile.d/*.sh,~/.bashrc,~/.bash_profile等,下面说明上述几个文件之间的关系和区别。bash的运行模式可分为loginshell和non-login shell。例如,通过终端,输入用户名、密码,登录系统之后,得到就是一个loginshell,而当我们执行以下命令sshhadoop103 command,在hadoop103执行co...

2022-01-13 15:58:14 360

原创 影响力最大化算法——MIA算法python复现

MIA算法原文:Chen W , Wang C , Wang Y . Scalable Influence Maximization for Prevalent Viral Marketing in Large-Scale Social Networks[C]// Proceedings of the 16th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, Washington, DC, USA, ..

2022-01-12 20:20:55 1506 15

原创 数据同步之全量同步与增量同步

一、什么是数据同步业务数据是数据仓库的重要数据来源,我们需要每日定时从业务数据库中抽取数据,传输到数据仓库中,之后再对数据进行分析统计。为保证统计结果的正确性,需要保证数据仓库中的数据与业务数据库是同步的,离线数仓的计算周期通常为天,所以数据同步周期也通常为天,即每天同步一次即可。数据的同步策略有全量同步和增量同步。二、全量同步全量同步,就是每天都将业务数据库中的全部数据同步一份到数据仓库,这是保证两侧数据同步的最简单的方式...

2022-01-12 19:06:28 24811 5

原创 Maxwell的简介与使用

一、简介Maxwell 是由美国Zendesk公司开源,用Java编写的MySQL变更数据抓取软件。它会实时监控Mysql数据库的数据变更操作(包括insert、update、delete),并将变更数据以 JSON 格式发送给 Kafka、Kinesi等流数据处理平台。Maxwell的工作原理是实时读取MySQL数据库的二进制日志(Binlog),从中获取变更数据,再将变更数据以JSON格式发送至Kafka等流处理平台。二进制日志(Binlog)...

2022-01-11 20:01:47 12378

原创 DataX的简介与使用

目录一、DataX的简介二、DataX支持的数据源三、架构介绍四、安装与使用同步MySQL数据到HDFS案例同步HDFS数据到MySQL案例一、DataX的简介DataX 是阿里巴巴开源的一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。地址:Gitee 极速下载/alibaba datax二、DataX支持的数据源 ...

2022-01-10 20:52:39 3391

原创 影响力最大化——CELF算法的简介与python实现

CELF算法是Leskovecl等人利用IC模型的子模特性对爬山贪心算法进一步改进得到的优化算法。子模函数的定义为:任意函数f(·)将有限集合映射为非负实数集并且满足收益递减特性即为子模函数。设集合s ∈T,任意元素v添加到集合S中获得的边际效益大于等于添加到集合T中所获得的边际效益。Kempe已经对独立级联模型和线性阈值模型的影响期望值函数加以证明,得出其满足子模特性。由子模特性,把一个节点v添加到结合S时,如果集合S越小,v节点的边际影响期望值就越大。因此,对于那...

2022-01-06 13:59:55 4486 12

原创 影响力最大化算法——NewGreedy简介以及python实现

在经典的贪心算法的基础上,Wei Chen等人提出了改进算法NewGreedy。每条边uv在影响力传播过程中对全局的影响力的传播有且仅有一次,无论是从u到v,还是从v到u,因此,我们可以首先对社交网络中的边预处理一下,去掉一些关系不大的边得到一个新的更小的网络,在之后计算影响力期望值时,便只在优化后的小网络上进行影响力传播。具体的操作过程为:针对网络图G,每次随机删除固定的边数,为了减少算法的随机性,该过程重复R次最终会得到一个趋于稳定的小型网络。之所以采用这样的策略是因为被删除的那些边对整...

2022-01-06 13:50:30 1347 4

原创 Hbase与Hive的集成

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

2022-01-05 21:15:11 300

NGIC算法和LDAG算法.rar

影响力最大化算法的NGIC算法和LDAG算法的python代码

2022-01-06

GAN神经网络的python代码

GAN神经网络的python代码

2021-12-09

空空如也

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

TA关注的人

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