- 博客(58)
- 资源 (3)
- 收藏
- 关注
原创 Scala中的函数式编程与面向对象编程知识点复习整理(二)——面向对象编程
面向对象基础概述Scala是一门完全面向对象的语言,摒弃了Java中很多不是面向对象的语法,虽然如此,但其面向对象思想和Java的面向对象思想还是一致的。package在java中 作用 分类管理(实体类,demo类等区分) 区分类(防重名) 包访问权限 语法 com.xxx.yyy.zzz scala中的基本语法和java一致 扩展语法 Scala中包和类的物...
2022-03-15 15:32:29
763
2
原创 HBase与Hadoop生态其他组件的联系
1.1 定义HBase是一种分布式、可扩展、支持海量数据存储的NoSQL数据库。分布式体现:底层存储在HDFS;集群中的Regionserver服务器也是分布式运行。可扩展体现:在建表的时候无需指定具体的列,在插入具体数据时指定;可以通过简单的增加机器来增加存储量。1.2 应用场景1. 写密集型应用,每天写入量巨大,而相对读数量较小的应用,比如IM的历史消息,游戏的日志等等2. 不需要复杂查询条件来查询数据的应用,HBase只支持基于rowkey的查询,对于HBase来说,单条记录或者小范
2022-03-04 17:03:55
3736
1
原创 Kafka的入门级API应用
文章目录1.Producer API1.1 消息发送流程1.2 异步发送API1.2.1 导入依赖1.2.2 添加log4j配置文件1.2.3 编写代码1.2.3.1 不带回调函数的API1.2.3.2 带回调函数的API1.3 自定义分区器2.Consumer API2.1 自动提交offset2.1.1 编写代码2.2 手动提交offset2.2.1 同步提交offset2.2.2 异步提交offset2.3 数据漏消费和重复消费分析3.自定义Interceptor3.1 拦截器原理如前所述,int
2022-01-07 09:10:12
1035
原创 我的数据你在哪?我用Flume采你啦
文章目录Flume官网学习目标Flume基础架构概述Agent 内部原理进阶案例1.复制2.负载均衡3.故障转移4.聚合5.多路复用面试题1.你是如何实现Flume数据传输的监控的?2. Flume的Source、Sink、Channel的作用?你们的Source是什么类型?3.Flume的Channel Selectors4.Flume参数调优5.Flume的事务机制6.Flume采集数据会丢失吗?美团日志系统架构设计读后小结架构设计需要考虑的几个方面可用性(availablity)可靠性(reliabi
2021-12-24 10:09:20
593
21
原创 我的深刻教训之Flume中出现Ncat: Connection refused
1.没有启动端口当你的agent进程没有启动,也没有使用 nc -l 6666来启动监听的话,直接输入nc localhost 6666 会出现标题所示的错误。2.已经启动agent进程虽然已经启动了agent进程其实我本来想说的是虽然启动了agent进程但是名字没加空格就有问题,然后被我自己推翻了omg。。。。因此和这个主机名加不加空格没关系。正确答案呢是就算启动了agent进程也可能存在问题,比如我在控制台看到了这么一个警告。2021-12-22 09:54:50,33..
2021-12-22 10:05:04
3790
原创 我的2021结束的很美好很美好
第一次参加大型比赛(第四届大数据技能竞赛),和两个同班同学(性格很好的两个小姐姐)组队,由于疫情影响,原本10月结束的比赛延期到了12月,我们从三月开始准备,一眨眼就是半年。 我们三个除了队长(一个活动主动的小姐姐)柳老板以外都比较内向型(我和谢老板),刚开始呢我们的关系就是那种除了比赛什么都不会交流的,柳老板就是三人之间的纽带,将整个队伍拉了起来,于是慢慢的我们都成为了我理想中的同学关系哈哈,我在这特别感谢你们两位叫上我一起比赛。 来回路上的火车很挤,硬座很难受,不过你们两个的笑很温暖。到...
2021-12-18 22:56:07
208
7
原创 Hive之从理论到实战(三)
文章目录说在前面第一题难点数据准备实战之路需求一:统计出每个用户的每月访问次数及累计访问次数1:修改月份格式2:根据第一步的结果集求出每个用户的每月访问次数3:根据2求出每个用户的累计访问次数第二题难点数据准备实战之路需求一:每个店铺的UV(访问数)需求二:每个店铺访问次数top3的访客信息。输出店铺名称、访客id、访问次数1 首先获取每个店铺的访客信息2 获取rank3 获取top3第三题难点数据准备实战之路需求一:1 查找 日期小于等于10月1日的信息2 根据1的结果 查找 每个用户的总能量group
2021-12-11 11:40:38
2007
3
原创 Hive之从理论到实战(二)
第五章 查询了解一下语法先:SELECT [ALL | DISTINCT] select_expr, select_expr, ... FROM table_reference [WHERE where_condition] [GROUP BY col_list] [ORDER BY col_list] [CLUSTER BY col_list | [DISTRIBUTE BY col_list] [SORT BY col_list] ] [LIMIT number]
2021-12-10 16:05:53
2226
原创 一些Zookeeper面试题
监听器原理首先存在一个Main()线程。在main线程中创建Zookeeper客户端时会创建两个线程,一个负责网络连接通信(connect),一个负责监听(listener)。通过connect线程将注册的监听事件发送给Zookeeper。Zookeeper将获取到的监听事件加入到监听列表中.Zookeeper将数据变化的这个消息发送给listener线程。listener线程内部调用了process()方法,负责采取相应的措施。选举机制(1)半数机制:集群中
2021-11-29 11:30:10
84
1
原创 关于Hadoop优化的那些不得不唠的事儿
文章目录Hadoop数据压缩概述MR支持的压缩编码压缩性能的比较Hadoop企业优化MapReduce瓶颈优化方法数据输入Map阶段Reduce阶段I/O传输数据倾斜问题Hadoop小文件优化方法小文件弊端优化的方向Hadoop数据压缩概述压缩是提高Hadoop运行效率的一种优化策略,通过对Mapper、Reducer运行过程的数据进行压缩,能够减少IO开销,提高MR程序运行速度,但同时也增加了CPU运算负担。因此它适用于IO密集型的job,不适合运算密集型的job。MR支持的压缩编码
2021-11-25 19:50:13
580
原创 大数据数据倾斜问题及策略
前言数据倾斜是大数据开发中经常会遇到的问题,而且基本是面试中的必问考点,在面试中以及实际开发中,几乎天天面临的都是这个问题。本文是小鹏人工爬虫来的,希望能帮自己和我的读者们理解它!正文Hadoop中的数据倾斜概述在MapReduce编程模型中十分常见,用通俗易懂的话来说,数据倾斜无非就是大量的相同key被partition分配到一个分区里,造成了‘一个人累死,其他人闲死’的情况,这种情况是我们不能接受的,这也违背了并行计算的初衷,首先一个节点要承受着巨大的压力,而其他节点计算完毕后要一直等待这
2021-11-19 11:37:32
2589
13
原创 Mapreduce排序器对象获取规则源码分析
写在前面本篇博客背景 在使用Mapreduce程序时,不难看出Map阶段的输出键值对其实是默认按照字典排序的,而我们在使用该程序的时候也会因为需要满足某种需求自定义排序规则。当前我们有两种实现自定义排序的方式:两种实现自定义排序的方式直接让参与排序的对象实现WritableComparable接口,并在接口中实现compareTo方法,当运行的时候hadoop会自动帮助我们生成WritableComparator对象。具体可见下例:phoneBean.javapackage com.y
2021-11-15 14:58:59
1576
14
原创 为了了解Mapreduce切片机制,我开始了第一次源码探索......
文章目录说在前面人话模式1.探索前的热身2.探索ing源码说在后面说在前面 今天的视频在讲解源码,不出意外的我又在迷糊中听了大半,老师在后面摇了好几下我才醒,然后就被安排了一个伟大而艰巨的任务——学会自己看源码…… 怎么办呢?那就看嘛!在看之前我还不忘百度搜索一下看源码的好处。下方为知乎某大佬原话“我为什么读源码” 很多人一定和我一样的感受:源码在工作中有用吗?用处大吗?很长一段时间内我也有这样的疑问,认为哪些有事没事扯源码的人就是在装,只是为了提高他们的逼格而已。 那为什么我还要读源码呢
2021-11-12 23:37:30
1831
18
原创 Mapreduce入门--词频统计
前言本篇博客内容:使用Hadoop提供给Java的依赖和接口轻松实现Mapreduce词频统计程序的入门。工具:IDEA需求:统计《yxp》这首诗中每个单词和符号出现的次数诗的内容如下:yxp yxp how are you ?do you know how I miss you recently ?perhaps you are having a time that studying hard and living happily.But you should know that I st
2021-11-11 17:07:11
865
15
原创 如何打通HDFS任督二脉
文章目录用HDFS写数据流程图打通HDFS任督二脉角色开始打通……①HDFS文件块大小②机架感知(副本存储节点选择)③DATANODE工作机制④网络拓扑—节点距离计算Lastbutnotleast的知识点nn和2nn工作机制用HDFS写数据流程图打通HDFS任督二脉文字详解(1)客户端通过Distributed FileSystem模块向NameNode请求上传文件,NameNode检查目标文件是否已存在,父目录是否存在。(2)NameNode返回是否可以上传。(3)客户端请求第一个 Block
2021-11-10 15:20:29
1209
原创 JavaSE实践项目之图书管理系统(重构版)
目录前言一、项目说明二、项目功能流程结构图三、项目实现用到的软件以及依赖的jar包和设计模式3.1 项目依赖的jar包3.2 项目用到的软件3.3 项目用到的开发模式以及设计模式3.3.1 此项目中在dal层运用到了dao层的impl中的单例对象,代码如下3.3.2 此项目中在view层运用到了代理对象,代码如下3.4项目分包3.5数据库表四、各功能简介4.1 登录功能4.1.1 首页运行界面如下4.1.2 登录功能运行界面展示如下4...
2021-11-04 20:25:51
858
原创 NAT和桥接模式的区别
前言在被问到桥接模式和NAT模式区别时,记忆中的它们在被调度出来的时候显得十分混乱,于是答得驴唇不对马嘴,故有此文。 ----2021年11月1日19:59:15正文桥接模式(bridged networking)概述在这样的模式下,VMWare虚拟出来的操作系统就像是局域网中一台独立的主机,它能够作为一台与物理主机相等地位的主机访问局域网内任意主机(包括它自身的物理机),因为它占用了该网段中一个独立的IP地址。各个主机间的关系如下图所示:
2021-11-01 22:18:39
405
原创 大数据技术之Shell工具详解
前言 也许漫漫长夜里带给你温暖的恰恰是那不会动情亦不会改变的代码。 —–2021年10月29日21:44:06文章目录正文整体思维导图Shell 概述脚本入门变量思维导图系统预定义变量**常用系统变量**自定义变量语法定义规则特殊变量$n功能描述注意示例$#功能描述示例$*功能描述示例$@功能描述示例$?功能描述示例运算符基本语法示例条件判断基本语法常用判断条件示例流程控制if 判断基本语法示例case 语句基本语法示例for循环基本语法示例read
2021-10-30 15:04:50
2317
原创 大数据技术之Linux(下)----Linux常用命令及参数详解
前言本篇博客主要介绍Linux系统中的大部分常用命令,其中有些是必会的,有些是做了解即可,用的机会不多,具体掌握程度需要读者自行把握。正文思维导图帮助类思维导图man 获取帮助信息1)基本语法man [命令或配置文件] (功能描述:获得帮助信息)2) 查看ls命令的帮助信息3)显示说明 信息 功能 NAME 命令的名称和单行描述 SYN...
2021-10-27 16:06:59
817
5
原创 大数据技术之Linux(上)
前言 越过了JAVASE基础这座大山之后,终于能够学习我最爱的大数据技术啦! 第一天学习的是Linux知识,那么----它是什么? 我们为什么要学习它? 又要怎么使用它呢?带着三个问题学下去,你会找到自己想要的答案。正文学习过程(上)思维导图概念Linux,全称GNU/Linux,是一种...
2021-10-22 11:43:45
1605
8
原创 Maven基础知识
前言有时候学习新事物会觉得迷茫,看完视频讲解真的只是看完了,这真的远远不够,所幸写博客可以让我理解的更加细致些而不至于让这阶段的时间浪费。正文学习目标目标1:能够说出maven的作用,POM的概念知识点梳理 Maven是什么 Maven的本质是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型(POM) POM是什么 POM( Project Object Model,项目对象模型 ) 是 Maven 工程的基本工作单元,是一个XML文件,包含了项目.
2021-10-11 15:44:51
327
原创 《Git使用说明书》
1.1关于Git的一些概念Git 分布式版本控制系统(Distributed Version Control System,简称 DVCS) ,分为两种类型的仓库:本地仓库和远程仓库。 本地仓库 在开发人员自己电脑上的Git仓库 远程仓库 在远程服务器上的Git仓库 Clone 克隆,就是将远程仓库复制到本地 Push 推送,就是将本地仓库代码上传到远程仓库 Pull 拉取,就是将远程仓库代码下载到本地仓库 版本库 .git
2021-10-09 10:41:41
306
2
原创 职责链模式概念性理解
目录职责链模式含义优点缺点注意事项和细节结构本质职责链模式含义Chain of Responsibility Pattern ,又叫责任链模式,为请求创建了一个接受者对象的链,这种模式对请求而发送者和接受者进行解耦。 通常每个接受者都包含对另一个接受者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接受者,以此类推。 属于行为型模式。优点 1. 降低了对象之间的耦合度。该模式使得一个对象无须知道到...
2021-10-04 15:28:14
204
原创 观察者模式概念性理解
观察者模式定义观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生改变时,会通知所有观察者对象,使它们能够自动更新自己。特点 降低了目标与观察者之间的耦合关系,两者之间是抽象耦合关系。符合依赖倒置原则。 目标与观察者之间建立了一套触发机制。 结构图模式的实现代码抽象目标abstract class Subject { protected List<Observer> obs...
2021-10-02 16:47:28
182
原创 装饰器模式概念性理解
引言上班族大多都有睡懒觉的习惯,每天早上上班时间都很紧张,于是很多人为了多睡一会,就会用方便的方式解决早餐问题。有些人早餐可能会吃煎饼,煎饼中可以加鸡蛋,也可以加香肠,但是不管怎么“加码”,都还是一个煎饼。在现实生活中,常常需要对现有产品增加新的功能或美化其外观,如房子装修、相片加相框等,都是装饰器模式。在软件开发过程中,有时想用一些现存的组件。这些组件可能只是完成了一些核心功能。但在不改变其结构的情况下,可以动态地扩展其功能。所有这些都可以釆用装饰器模式来实现。正文...
2021-10-02 10:22:23
212
原创 简单工厂模式VS工厂方法模式的个人思考
前言学习《大话设计模式》,想把自己的想法记在这里,如有错误(必有疏漏),还请路过的朋友们指教,感谢!正文工厂模式(概念性知识)作用实现了类创建者和调用者的分离。分类 简单工厂模式 用来生产同一等级结构中的任意产品(对于增加新的产品,需要扩展已有代码),一个工厂 对比工厂方法 代码简单 编程简单 管理简单 结构简单 根据...
2021-09-28 09:58:07
118
2
原创 单例模式趣味性学习
前言正式开始学习设计模式了,看了几个视频,学习了单例模式,但仍是不知道单例模式到底是什么,想起了老师给我推荐了一本书《大话设计模式》,我去瞧一瞧之后发现它的不同,这是一部以故事带来的教学,不生硬,让我感到惊喜,因此想在此记录下来我的收获。故事主人公:小菜(是真的小菜,不过比我强)和大鸟(大佬)。正文第一个故事:这里小菜每点击一次工具箱都会创建一个新的对象,因此就会出现多个窗口,但是小菜只想要一个呀!那么怎么解决这种问题呢?我也在想怎么才能只有一个呢?答案在下面哦!
2021-09-27 16:17:04
154
1
原创 三层架构了解一下
1,什么是三层?UI(表现层): 主要是指与用户交互的界面。用于接收用户输入的数据和显示处理后用户需要的数据。BLL:(业务逻辑层): UI层和DAL层之间的桥梁。实现业务逻辑。业务逻辑具体包含:验证、计算、业务规则等等。DAL:(数据访问层): 与数据库打交道。主要实现对数据的增、删、改、查。将存储在数据库中的数据提交给业务层,同时将业务层处理的数据保存到数据库。(当然这些操作都是基于UI层的。用户的需求反映给界面(UI),UI反映给BLL,BLL反映给DAL,DAL进行数据的操作,操作后再
2021-09-27 09:51:39
289
原创 JDBC核心技术总结五
第八章 数据库连接池8.1 JDBC数据库连接池的必要性在使用开发基于数据库的web程序时,传统的模式基本是按以下步骤:在主程序(如servlet、beans)中建立数据库连接 -> 进行sql操作->断开数据库连接.这种模式开发,存在的问题: 普通的JDBC数据库连接使用 DriverManager 来获取,每次向数据库建立连接的时候都要将 Connection 加载到内存中,再验证用户名和密码(得花费0.05s~1s的时间)。需要数据库...
2021-09-27 09:18:04
403
4
原创 JDBC核心技术总结四
第六章 数据库事务6.1 数据库事务介绍含义一组逻辑操作单元,使数据从一种状态变换到另一种状态。事务处理的原则 保证所有操作作为一个工作单元来很执行,即使出现了故障都不能改变这种执行方式 当在个事务中执行多个操作时,要么所有的事务都被提交,然后永久性的保存下来,要么放弃所做的所有修改,整个事务回滚到最初状态。说明 事务一旦提交就不可回滚 DDL一旦执行就会提交 DML默认是执行即提交,可以调用 Connection...
2021-09-26 17:25:40
91
原创 JDBC核心技术总结三
第四章 操作BLOB类型字段4.1 MySQL BLOB类型MySQL中,BLOB是一个二进制大型对象,是一个可以存储大量数据的容器,它能容纳不同大小的数据。插入BLOB类型的数据必须使用PreparedStatement,因为BLOB类型的数据无法使用字符串拼接写的。MySQL的四种BLOB类型(除了在存储的最大信息量上不同外,他们是等同的)实际使用中根据需要存入的数据大小定义不同的BLOB类型。需要注意的是:如果存储的文件过大,数据库...
2021-09-26 15:59:00
219
原创 JDBC核心技术总结一
目录第一章 JDBC概述1.1持久化1.2JDBC介绍1.3 JDBC程序编写步骤第二章 连接方式2.1 要素一:Driver接口实现类2.2 要素二:URL2.3 要素三:用户名和密码2.4 连接方式第一章 JDBC概述1.1持久化持久化(persistence):把数据保存...
2021-09-26 15:22:02
223
原创 JDBC核心技术总结二
第3章使用PreparedStatement实现CRUD操作3.1操作和访问数据库 数据库连接被用于向数据库服务器发送命令和 SQL 语句,并接受数据库服务器返回的结果。其实一个数据库连接就是一个Socket连接。 在 java.sql 包中有 3 个接口分别定义了对数据库的调用的不同方式: Statement:用于执行静态 SQL 语句并返回它所生成结果的对象。 PrepatedStatement:SQL 语句被预...
2021-09-23 19:29:34
262
1
原创 day05_事务&三大范式
TCL 事务控制语言(Transcation Control Language) 含义 事务:一条或者多条sql语句组成一个执行单位,一组sql语句要么都执行,要么都不执行。特点(ACID) A 原子性 一个事务是不可再分割的整体,要么都执行要么都不执行 C 一致性 一个事务可以使数据从一个一致状态切换到另外一个一致的状态。数据是准确的,完整的,可靠的。 I 隔离性 一个事务不受其他事务的干扰,多个事务是互...
2021-09-16 16:57:02
281
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人