- 博客(37)
- 收藏
- 关注
原创 使用assembly插件打包maven项目
使用IDEA工具开发好Java程序后,就可以打包了。本文介绍一个最简单的使用方法。1 在resources目录下创建assembly.xml<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven
2021-08-26 14:37:48
649
原创 交互式项目——用户session分析
交互式项目公司中的PM(产品经理)、数据分析师以及管理人员进入平台,输入搜索条件,了解特殊用户群体的各种业务逻辑的统计和分析结果。从而辅助高管进行公司战略上的决策制定。从长远看,交互式平台的出现 大大减少了业务管理人员和开发人员的沟通成本,提升了业务管理人员制定决策的效率。需求获取平台前端传来的搜索条件,从数仓的用户行为表中筛选出符合条件的记录,然后在此基础上进行以下需求的开发:聚合统计 各个范围的时长、步长 的 session数量占比。这个功能的作用,可以让人从全局的角度了解这些用户使用我们的
2021-05-07 20:38:10
298
原创 Spark调优技术点
1 性能调优1.1 分配资源spark‐submit \‐‐master spark://node1:7077 \‐‐class cn.itcast.WordCount \‐‐num‐executors 10 \ # 配置executor的数量‐‐driver‐memory 6g \ # 配置driver的内存(影响不大)‐‐executor‐memory 6g \ # 配置每一个executor的内存大小‐‐executor‐cores 3 \ # 配置每一个executor的cpu个
2021-05-07 20:35:49
307
原创 YARN
yarn的出现Hadoop1.x只由hdfs和mapreduce组成,其中MapReduce由一个JobTracker和多个TaskTracker组成。JobTracker负责资源管理和所有作业的控制,TaskTracker负责接收来自JobTracker的命令并执行它。后来Hadoop升级,Hadoop2.x框架包括三个模块:hdfs:分布式文件存储系统mapreduce:分布式计算框架yarn:资源调度系统其中yarn就是将第一代的MapReduce中的JobTracker分离出来做成的
2021-03-29 23:21:29
292
原创 蓝眼人
岛上有100 个囚犯,他们都是蓝眼睛,但是他们都只能看到别人眼睛的颜色,并不能知道自己的眼睛颜色,而且他们之间不能去谈论眼睛颜色的话题,规定每天晚上都可以有一个人去找守卫说出自己的眼睛颜色,如果错了被杀死,如果对了被释放。但是大家在没有十足的把握前都不敢去找守卫,有一天,一个医生对他们说你们之中至少有一个蓝眼睛,然后 N 天,这些人都获救了,为什么?这句话对他们有什么影响?分析囚犯的内心活动如果我是其中任意一个囚犯,在得到医生的线索之前,我掌握的线索是:只有两种情况我可能是蓝眼睛,.
2021-03-27 19:26:50
478
1
原创 电商业务逻辑
《电商运营的业务分析逻辑总结》的学习和个人理解1 核心指标分析电商业务,都分析什么呢?分析的是各种各样的指标,以 统计数量 占比 时长周期 排名 来量化指标。整个电商都是围绕流量所展开的活动,如何去获取这些流量,进一步如何高效地获取精准的流量。获取了流量后,怎么让他们进行付费,又如何留住流量,不断产生新的流量。总之,电商运营的核心是用户的吸收、留存与复购,最终体现在GMV上,那么核心的指标就是 :活跃用户:DAU、MAU、WAU用户留存:次日留存、3日留存、7日留存、30日留存等用户转.
2021-03-24 00:14:59
1294
原创 参数类型不匹配 java.lang.IllegalArgumentException: argument type mismatch
方法中的参数列表中,参数与类型不匹配java.lang.IllegalArgumentException: argument type mismatch
2021-02-18 20:31:10
3664
原创 级联flume报错 输出方无法连接接收方
org.apache.flume.FlumeException: NettyAvroRpcClient { host:xxxxx, port: xxxxx }: RPC connection error
2021-02-04 01:10:24
3004
原创 spark
Spark是什么Spark是一个开源的类似于Hadoop MapReduce的通用的并行计算框架,Spark基于map reduce算法实现的分布式计算,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是Spark中的Job中间输出和结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的map reduce的算法。Spark是MapReduce的替代方案,而且兼容HDFS、Hive,可融入Hadoop的生态系统,以弥补
2021-01-30 11:03:58
404
原创 Scala
熟练使用scala编写Spark程序动手编写一个简易版的Spark通信框架为阅读Spark内核源码做准备scala当中方法的定义scala当中的递归一定要定义返回值scala当中函数的定义
2021-01-26 17:07:21
249
原创 电商数仓
数据仓库的概念数据仓库(Data Warehouse )可简写为DW或DWH。数据仓库是为企业所有决策制定过程,提供所有系统数据支持的战略集合。通过对数据仓库中数据的分析,可以帮助企业改进业务流程、挖制成本、提高产品质量等。数据仓库并不是数据的最终目的她,而是为数据最终的目的她做好准备。这些准备包括对数据的清洗、转义、分类、重组、合并、拆分、统计等等。项目需求1、实时采集埋点的用户行为数据2、实现数据仓库的分层搭建3、每天定时导入业务数据4、根据数据仓库中的数据进行报表分析
2021-01-23 13:13:41
2302
1
原创 数仓理论
1 数仓分层1.1 为什么要分层1、把复杂问题简单化:将一个复杂的任务分解成多个步骤来完成,每一层只处理单一的步骤,比较简单和容易理解。2、清晰教据结构:每一个数据分层都有它的作用域,这样我们在使用表的时候能更方便地定位和理解。便于维护数据的准确性,当数据出现问题之后,可以不用修复所有的数据,只需要从有问题的步骤开始修复。3、减少重复开发:规范数据分层,通过的中间层数据,能够减少极大的重复计算,增加一次计算结果的复用性。4、隔离原始数据:不论是数据的异常还是数据的敏感性,
2021-01-22 17:00:48
533
原创 Hbase
hbase的基础架构及底层原理基础架构1. HMaster:主节点。负责分配region,以及管理HRegionServer。2. HRegionServer:从节点。负责管理region。底层原理HBase的主节点有一个或多个,其中一个是活动节点,其他是备用节点。在zookeeper集群中抢占到锁的就是主节点,其他备用节点对zookeeper集群中的这个锁设置观察,等待锁释放,以伺机抢占锁。从节点启动时,在zookeeper上的server目录下建立代表自己的临时节点。由于主节点订
2021-01-19 12:44:22
376
1
原创 Kafka
kafka的架构模型以及内部细节topic:每条发布到kafka集群的消息都有一个类别,这个类别就叫做Topicbroker:服务端,储存消息consumer:消费者,从broker读取消息producer:生产者,向broker放入消息partition:一个topic消息划分不同的区,分区是kafka消息队列组织的最小单位,一个区可看作一个队列一个broker服务下,可以创建多个分区,broker数与分区数没有关系;在kafka中,每一个分区会有一个编号:编号从0开始。.
2021-01-15 11:58:48
209
原创 大数据处理框架技术概览
flumeflume可以适用于大部分的日常数据采集场景Flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统。 Flume可以采集文件,socket数据包、文件、文件夹、kafka等各种形式源数据,又可以将采集到的数据(下沉sink)输出到HDFS、hbase、hive、kafka等众多外部存储系统中 一般的采集需求,通过对flume的简单配置即可实现 Flume针对特殊场景也具备良好的自定义扩展能力...
2021-01-13 19:14:58
214
原创 hive
hive的基本操作hive当中的数据加载1.LOAD加载数据格式:LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)]说明: 1)hive 的数据加载不会对本地数据文件做任何处理,只是将文件或目录中的所有文件拷贝到表定义的数据目录。 2)filepath 可以是目录,但该目录下不能...
2021-01-10 20:31:34
277
原创 Hadoop基本架构
说说你对集群概念的理解?集群是多个服务器组成的一个群体,这些服务器做相同类型任务。好比饭店做饭一个厨师忙不过来,又请了个厨师,两个厨师都能炒一样的菜,这两个厨师的关系是集群;切菜,备菜,备料一个配菜师忙不过来,又请了个配菜师,两个配菜师关系是集群。说说你对Hadoop的可靠、可扩展、分布式计算的理解?因为HDFS存储的时候会有备份,所以说它可靠。存不下的话可以用加磁盘或加机器的方式来解决,这就是存储可扩展。计算太复杂,通过加机器来加快计算速度,也是可以扩展,这也可以理解为分布式计算。比如
2021-01-06 22:07:30
1934
4
原创 zookeeper
目录zk的介绍zookeeper的特性说说你对zookeeper 的三个主要角色的理解?zookeeper是如何进行高可用协调的?zk的介绍zookeeper是一个分布式的服务协调框架,主要用于协调辅助其他的框架正常的运行,主要是为了解决应用系统当中的一致性问题zk的本质上是一个分布式的小文件存储系统:zk上面的每个文件内容最好不要超过1M分布式就是每台机器看到的数据都是一样的zookeeper的特性全局的数据一致性:保证每台机器看到的数据都是一模一样的 可靠性:.
2021-01-06 22:05:59
185
1
原创 关于Hadoop之Linux配置的几个知识点
三台机器免密码登录过程确保用户的家目录下有.ssh目录,并且该目录及其所有的父目录的权限不能大于711,可设为700(拥有者u有读写执行权限,其他用户没有任何权限)ssh-keygen -t rsa 默认在当前用户的~/.ssh中生成公钥和私钥,公钥文件是id_rsa,私钥文件是id_rsa.pub先检查.ssh目录下有没有authorized_keys文件,如果没有就创建一个同名空文件,authorized_keys文件的权限改为600(拥有者u有读写权限,没有执行权限,其他用户没有任何权
2021-01-06 22:00:24
104
原创 Linux
目录基本环境基础命令系统管理磁盘基本管理命令(df、du、fdisk、mount)内存使用监控命令(top、free等)软件安装方式(rpm、tar、yum)Linux Crontab 定时任务使用shell基础编程基本环境基础命令系统管理磁盘基本管理命令(df、du、fdisk、mount)内存使用监控命令(top、free等)软件安装方式(rpm、tar、yum)Linux Crontab 定时任务使用shell基础编程...
2021-01-04 19:59:14
278
原创 MySQL
MySQL概念及特点MySQL是一种常用的数据库管理系统。我们选择MySQL的原因是它是免费的、开放源码的数据库,具有跨平台性,功能强大,使用方便。SQLstructured query language 结构化查询语言,数据库管理系统通过sql语言来管理数据库中的数据。组成:DDL(data definationlanguage) 数据定义语言,包括对数据库、表结构的操作,有DROP,CREATE,ALTER等DML(data manipulation language) 数据操.
2021-01-04 17:03:22
445
1
原创 MAVEN
概念maven是apache开发的一个工具,善于管理大型项目,自动下载并管理项目的所需的依赖(包括 jar包、插件)。中央仓库、本地仓库、远程仓库(也叫私有仓库,常用的是阿里镜像):存放了项目需要的jar包和maven自身所需要的插件坐标:Java构件(包括 jar包、插件)的唯一标识。groupId——项目组织的唯一标识符,实际对应Java包的结构,一般写公司的组织名称,例如com.alibabaartificatId——项目的名称version——定义项目的当前版本IDEA整
2021-01-03 16:39:38
281
原创 Java——IO流(下)
目录阐述编码表的概念及常见的编码表String中编码和解码的问题转换流中的编码和解码字符缓冲区流的概述和使用课后作业阐述编码表的概念及常见的编码表编码表是字符及其对应的数据组成的一张表。常见的编码表有ASCII:美国标准信息交换码表,用一个字节的7位表示数据ISO-8859-1:欧洲码表,用一个字节的8位表示数据,兼容ASCIIGB2312:中文码表,兼容ASCIIGBK:中文码表升级版,融合了更多的中文文字符号,兼容ASCIIUTF-8:万.
2021-01-02 21:41:57
147
原创 Java——IO流(上)
目录阐述try...catch异常处理的流程File类的功能IO流的应用场景和分类课后作业File类创建、删除、获取功能FileOutputStream的三种方式写数据追加写入和换行复制文本文件或复制图片别忘了关闭流,释放资源阐述try...catch异常处理的流程try...catch的写法为:try{可能出现异常的代码}catch(异常类名 变量名) {异常 的处理代码}程序从try开始执行,出现异常就跳转到catch里执行。该语句执行完毕后.
2021-01-02 12:04:12
92
原创 Java集合(下)
目录阐述HashSet保证元素唯一性的原理课后作业阐述HashSet保证元素唯一性的原理HashSet在添加元素的过程中是通过遍历进行了数据的判断的。这个判断流程是:首先比较对象的哈希值是否相同,这个哈希值是根据对象的hashCode()计算出来的;如果哈希值不同,就直接添加到集合中;如果哈希值相同,继续执行equals()进行比较,返回true说明元素重复,不添加,返回false说明元素不重复,就添加;保存在HashSet中的对象要重写hashCode和equ.
2021-01-01 20:08:46
77
原创 Java集合(上)
目录阐述数组和集合的区别是什么数组、字符串、集合的长度分别如何获取?什么是并发修改异常?怎么产生的?如何解决?数组和(单列)集合之间如何相互转换?需要注意什么问题?为什么出现集合类?集合体系结构是什么样的?课后作业阐述数组和集合的区别是什么两点区别:长度——数组的长度是固定的;集合的长度可变。存储元素的数据类型——数组即可以存基本类型,也可以存引用类型;集合只能存引用类型的数据。数组、字符串、集合的长度分别如何获取?数组.length字符串..
2021-01-01 17:20:04
98
原创 Java常用类(下)
目录阐述冒泡排序的原理工具类的设计思想基本数据类型对应的包装类Date类的概述和构造方法的使用日期类的getTime和setTime方法的作用课后作业我有如下一个字符串:”91 27 46 38 50”,请升序并输出字符串分析以下需求,并用代码实现阐述冒泡排序的原理每一次比较都是从头开始,相邻元素两两比较,大的往后放。第一次比较后,最大的值出现在最大索引处;第二次比较后,次大值出现在次大索引处;以此类推,直到排序完成。工具类的设计思想构造方法是私.
2020-12-31 22:51:10
148
原创 Java常用类(上)
目录阐述String类的概述和构造方法创建String对象的两种方式和区别StringBuilder和String的区别课后作业阐述String类的概述和构造方法String代表字符串,由多个字符组成。字符串本质就是一个不可变的字符数组。字符串存储在方法区中的常量池里。有多个构造方法,举两个例子:String(String original) 把字符串数据封装成字符串对象String(char[] value) 把字符数组的数据封装成字符串对象创建S.
2020-12-31 19:22:10
208
原创 Java面向对象——Final关键字、static关键字、抽象类、接口
目录阐述final的概念static相关知识抽象的概念接口的概念抽象类和接口的区别包的概述和注意事项四种权限修饰符的访问特点课后题阐述final的概念final是状态修饰符,意思是”最终的“。被final修饰的类不能被继承被final修饰的方法不能被重写被final修饰的变量就是常量,只能赋值一次拓展知识:修饰符有三种1.状态修饰符(final、static)2.抽象修饰符(abstract)3.权限修饰符(public、.
2020-12-31 13:49:19
215
原创 Java面向对象——继承、多态、super关键字
目录阐述继承的概念继承的好处和弊端继承中方法重写的注意事项多态的概念及前提课后作业阐述继承的概念多个类存在相同的属性和行为时,将这些内容抽取到单独一个类中,那么这多个类无需再重复定义相同的属性和行为,只要继承那个类即可。这个单独的类称为父类、基类或超类;这些多个类称为子类或派生类。有了继承以后,我们在定义一个类的时候,可以在基类的基础上定义自己的新成员。继承的好处和弊端好处:提高了代码的复用性提高了代码的维护性让类与类之间产生了关系,是多.
2020-12-30 21:16:51
645
原创 Java面向对象——类、封装、this、构造方法
目录阐述举例说明 面向对象 思想 特点this关键字的由来及使用封装的概述和好处private关键字的由来及使用成员变量和局部变量的区别对象的内存图原理Java中的类和现实中事物的对应关系课后作业阐述举例说明 面向对象 思想 特点面向对象的特点:更符合我们思考问题的习惯。对于使用者来说,将复杂问题简单化。我们从执行者的位置变成了指挥者,只需要调用对象的方法即可。举例:我想吃煎饼,可以命令大妈(对象)摊煎饼(调用方法),煎饼摊好给我(返回值.
2020-12-30 16:45:14
197
4
原创 Java——方法
目录阐述方法的概述和定义格式方法的调用流程方法重载的概念和特点基本数据类型作为参数传递的特点课后作业主方法中给定数组int[] arr= {10,20,30,40,50,60};定义一个方法可以接受这个给定的数组,并返回这个数组中元素的最小值阐述方法的概述和定义格式方法就是完成特定功能的代码块。函数在Java中就是方法。定义格式:修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2,...) {函数体;return 返回值;}如果返回值.
2020-12-29 21:17:40
234
1
原创 Java——数组
目录阐述数组的概念及定义格式Java中的内存分配及数组的内存结构图数组静态初始化的方式数组操作的常见问题及解决方案课后作业定义长度为10的int数组,数组中的10个元素为随机生成的1-100的数字,要求:打印数组中第二大的数和第二小的数字阐述数组的概念及定义格式数组是存储同一种类型多个变量(元素)的东西(容器)。定义格式数据类型[] 数组名Java中的内存分配及数组的内存结构图如果我们动态初始化一个数组,并将数组及其元素打印出来,结果如下i.
2020-12-29 17:50:25
274
原创 Java——流程控制语句
阐述循环的概念、分类及for循环的执行流程循环语句 可以 在满足循环条件的情况下,反复执行某一段代码。这段被重复执行的代码称为循环语句。当反复执行这个循环体时,需要在合适的时候把循环条件修改为false,从而结束循环,否则循环将一直执行下去,形成死循环。有三种循环:for、while、do...whilefor循环的执行流程for(初始化语句;判断条件语句;控制条件语句) {循环体语句}首先执行初始化语句然后判断条件语句:如果为真,则执行循环体语句,再执行控制条件语句,然后...
2020-12-28 20:56:26
131
原创 Java——运算符、选择流程和控制语句
目录阐述运算符和表达式的概念流程控制语句的分类if语句的三种使用格式及执行流程switch语句的格式和执行流程课后作业键盘录入一个int类型的数据,使用三元运算符判断这个数是奇数还是偶数定义一个int类型的变量,初始化值为123,求这个数的个位,十位,百位分别是多少,输出结果:123的个位是3,十位是2,百位是1求平均值阐述运算符和表达式的概念运算符:连接常量或变量,对其进行操作的符号。(5类)算数运算符、赋值运算符、关系运算符、逻辑运算符、三元运算.
2020-12-28 18:04:15
288
原创 Java基本语句——常量变量
目录阐述Java中关键字的含义及特点常量的概念及分类变量的概念及定义格式Java中数据类型的概述和分类标识符的组成规则和注意事项课后作业:使用输出语句,把各类型变量打印到控制台上在控制台打印一段话打印空心棱形打印玫瑰花在控制台输出三角形阐述Java中关键字的含义及特点概念:Java中关键字是Java语言赋予特定含义的单词。特点:字母全是小写; 在开发工具编辑器里,关键字是有特殊颜色的。常量的概念及分类概念:在程序执行过程中,其.
2020-12-27 20:53:48
278
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人