自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 大数据情景——解决方案

数据倾斜:https://mp.weixin.qq.com/s/TlyqjUuEXQ-Lr5pZH9SOGg

2021-08-28 16:21:18 236

转载 数仓基础总结

转载于公众号:五分钟学大数据数仓建设数仓分层

2021-08-06 16:51:11 825

转载 linux下的网络I/O——转载

转载于——腾讯技术工程文章目录网络IO的发展网络的两个阶段堵塞IO和非堵塞IO的区别同步 IO 和异步 IO 的区别堵塞IO非堵塞IOIO多路复用select/pollselectpollselect/poll IO 多路复用epoll异步IOreactor模型1. 单reactor模型2. 单reactor多线程模型3. multi-reactor 多线程模型网络IO的发展网络 IO 的发展过程是随着 linux 的内核演变而变化,因此网络 IO 大致可以分为如下几个阶段:阻塞 IO(BIO)

2021-07-06 16:19:10 321

原创 Java/计算机网络/操作系统面试题总结(未完待续)

finalfinal 在 Java 中是一个保留的关键字,可以声明成员变量、方法、类以及本地变量。一旦你将引用声明作 final,你将不能改变这个引用了,编译器会检查代码,如果试图将变量再次初始化的话,编译器会报编译错误。**final变量:**凡是对成员变量或者本地变量(在方法中的或者代码块中的变量称为本地变量)声明为 final 的都叫作 final 变量。final 变量是只读的。final方法: Java 里用 final 修饰符去修饰一个方法的唯一正确用途就是表达:这个方法原本是一个虚方法,

2021-07-04 20:42:47 690 1

原创 Linux命令总结

1. SSHSSH登录原理SSH是一种网络协议,用于计算机之间的加密登录。SSH采用非对称加密,非对称加密有两个密钥:公钥和私钥。数据使用公钥加密之后,只能使用私钥进行解密,而私钥被破解的概率很低很低。本机生成密钥和公钥把公钥传递给远程主机主机把公钥追加进免检名单本机请求远程主机远程主机去免检名单里找到所属公钥生成用公钥加密后的字符串传回本机本机使用私钥进行解密本机把解密后的信息传给远程主机远程主机进行验证登录成功面试题:安装Hadoo

2021-06-30 17:10:14 143 1

原创 Spark源码剖析——SparkContext

SparkContext:通常而言,用户开发的Spark应用程序的提交与执行都离不开SparkContex的支持。在正式提交应用程序之前,首先需要初始化SparkContext。SparkContext隐藏了网络通信、分布式部署、消息通信、存储体系、计算引擎、度量系统、文件服务、Web UI等内容,应用程序开发者只需要使用SparkContext提供的API完成功能开发。但SparkContext中最重要的两个功能就是:DAGScheduler和TaskScheduler初始化SparkContext,创

2021-06-29 21:44:05 430 3

转载 实时流计算

总结自——吃透实时流计算1. 流计算通用架构流计算系统通常包含五个部分:数据采集、数据传输、数据处理、数据存储和数据展现数据采集模块数据采集,就是从各种数据源收集数据的过程,比如浏览器、手机、工业传感器、日志代理等。怎样开发一个数据采集服务呢?最简单的方式,就是用 Spring Boot 开发一个 REST 服务,这样,我们就可以用 HTTP 请求的方式,从浏览器、手机等终端设备,将数据发送到数据采集服务器。设计采集模块的五个难点:第一点是吞吐量。我们一般用 TPS(Transactions

2021-06-25 20:28:44 2126

原创 Structured Streaming总结

0. SparkSQL与DStream流在DStream中,我们想要对数据操作进行DataFrame操作和sql语句,必须使用foreachRDD/transform类算子操作DStream中每个RDD,同时通过StreamingContext创建SQLContext,然后将每个RDD转换成DataFrame以临时表格配置并用 SQL 进行查询。例如下:val spark = SparkSession.builder.config(conf).getOrCreate()import spark.imp

2021-06-20 19:19:47 1346 1

原创 Mysql:索引、事务

1.索引简介(1) 索引的作用提高查询速度确保数据的唯一性可以加速表和表之间的连接 , 实现表与表之间的参照完整性使用分组和排序子句进行数据检索时 , 可以显著减少分组和排序的时间全文检索字段进行搜索优化.(2) 索引分类Primary Key 主键索引 (某一个属性组能唯一标识一条记录,确保数据的唯一性,仅只有一个)Unique Key 唯一索引 (避免同一个表中某数据列中的值重复,唯一索引可以有多个)Index 常规索引 (快速定位特定数据,应加在查询找条件的字段,不宜添加太多)

2021-06-01 16:27:49 155

原创 HDFS深入学习总结

https://zhuanlan.zhihu.com/p/265980039当数据集的大小超出一台独立的服务服务器的存储能力时,应该怎么存储数据?为什么需要HDFS?答案就是对数据进行分区(partition)并将其存储到多个服务器上面,那这必然涉及到跨网络存储和管理,也势必引入网络编程的复杂性,因此,分布式的文件管理系统比普通的架设在单个服务器上的存储系统更加的复杂。Hadoop 生态圈中有一个组件叫做HDFS(Hadoop Distributed Filesystem) 就是专为了解决这个问题的分布

2021-05-29 17:30:47 386 3

原创 HBase总结

https://segmentfault.com/a/1190000019959411尚硅谷HBase视频HBase架构1.数据模型Name Space命名空间,类似于关系型数据库的 DatabBase 概念,每个命名空间下有多个表。 HBase有两个自带的命名空间,分别是 hbase 和 default, hbase 中存放的是 HBase 内置的表,default 表是用户默认使用的命名空间。Region:类似于关系型数据库的表概念。HBase 表(Table)根据 rowkey 的范围被

2021-05-25 20:51:52 1283 7

原创 ZooKeeper总结——了解级别

1. 分布式理论集中式与分布式集中式系统:所谓的集中式系统就是指由一台或多台主计算机组成中心节点,数据集中存储于这个中心节点中,并且整个系统的所有业务单元都集中部署在这个中心节点上,系统的所有功能均由其集中处理。分布式系统 :是一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统。分布式意味着可以采用更多的普通计算机(相对于昂贵的大型机)组成分布式集群对外提供服务。**单点故障:**单个点发生故障的时候会波及到整个系统或者网络,从而导致整个系统或者网络的瘫

2021-05-20 21:32:06 274 1

转载 海量数据处理方案——转载总结

转载于:公众号大数据梦想家海量日志数据,提取出某日访问百度次数最多的那个IP首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个IP。同样可以采用映射的方法,比如模1000,把整个大文件映射为1000个小文件,再找出每个小文中出现频率最大的IP(可以采用hash_map进行频率统计,然后再找出频率最大的几个)及相应的频率。然后再在这1000个最大的IP中,找出那个频率最大的IP,即为所求。搜索引擎会通过日志文件把用户每次检索使用的所

2021-05-16 14:15:11 570 1

原创 Spark核心机制总结

1. RDDRDD是spark中的一个最基本的抽象,代表着一个不可变、可分区、可以并行计算的分布式数据集;RDD是一个基本的抽象,是对存储在分布式文件系统上的数据操作进行代理。RDD并不存储需要计算数据,而是一个代理,你对RDD进行的操作,他会在Driver端转换成Task,下发到Executor中,计算分散在集群中的数据。RDD是抽象的,并不存储数据,而是封装记录你对数据的操作。RDD计算是以分区为单位的RDD算子的操作包括两种类型:Transformation和Action;初始创建都是由Sp

2021-05-08 15:35:22 626 1

原创 Kafka问题补充

文章目录Kafka于Zookeeper的关系Kafka如何保证数据可靠性?复制机制broker配置如何保证生产者的可靠性?如何保证消费者的可靠性?物理存储分区分配文件管理Kafa的事务Kafka于Zookeeper的关系**Kafka 使用 Zookeeper 来维护集群成员的信息。**每个 broker 都有一个唯一标识符,这个标识符可以在配置文件里指定,也可以自动生成。在 broker 启动的时候,它通过创建临时节点把自己的 ID 注册到 Zookeeper。 Kafka 组件订阅 Zookeep

2021-05-04 14:20:02 281

原创 Java并发总结

1. 线程同步线程不安全问题: 线程安全问题是指当多个线程同时读写一个共享资源并且没有任何同步措施时,导致出现脏数据或者其他不可预见的结果的问题,这个时候需要用到线程同步。线程同步: 线程同步是一种等待机制,多个需要同时访问此对象的线程进入这个对象的等待池形成队列,前面的使用完毕,下一个线程再使用,线程同步执行条件:队列 + 锁synchronized 关键字synchronized 块是 Java 提供的一种原子性内置锁, Java 中的每个对象都可以把它当作一个同步锁来使用,这些 Java 内置

2021-03-23 23:09:57 318

原创 HashMap源码分析

0.Hash算法常见的Hash算法直接定址法:直接以关键字k或者k加上某个常数(k+c)作为哈希地址。数字分析法:提取关键字中取值比较均匀的数字作为哈希地址。除留余数法:用关键字k除以某个不大于哈希表长度m的数p,将所得余数作为哈希表地址。分段叠加法:按照哈希表地址位数将关键字分成位数相等的几部分,其中最后一部分可以比较短。然后将这几部分相加,舍弃最高进位后的结果就是该关键字的哈希地址。平方取中法:如果关键字各个部分分布都不均匀的话,可以先求出它的平方值,然后按照需求取中间的几位作为哈希地址。

2021-02-23 10:40:47 149

原创 Java排序算法

1.冒泡排序思路: 数组长度N,从i=1->N,依次比较两个相邻的元素,将值第i大的元素交换至右端。时间复杂度:O(n^2) 空间复杂度: O(1) public static void BubbleSort(int[] arr) { for (int i=0;i<arr.length-1;i++){ for (int j=0;j<arr.length-1-i;j++){ if (arr[j]>arr[

2021-02-22 17:49:19 118

转载 负载均衡算法

转载于:https://www.yuque.com/renyong-jmovm/kb/gwu187文章目录随机算法轮询算法一致性哈希算法最小活跃数算法分布式定义:分布式是后端架构的一种,比如单体架构和分布式架构,单体架构是指整个系统部署在一个进程里,而分布式是指整个系统是部署在不同的进程里的。负载均衡定义:由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。为什么要负载均衡?通过某种负载分担技术,将外部发送来的请求均匀分配到对称结构

2021-02-07 22:49:41 222

原创 算法设计一:分而治之

分而治之解决问题思路:分解原问题 :原问题分解成多个子问题解决子问题 :递归地求解各个子问题合并问题解 :将结果合并为原问题解1. 归并排序思路归并排序:分解数组,递归求解,合并排序**分解原问题:**将数组A[1,n]分解成A[1,n/2]和A[n/2+1,n]子数组排序问题**解决子问题:**递归解决子问题得到有序的子数组合并问题解:最后合并成有序的数组实现 伪代码+Java伪代码:Java代码实现:时间复杂度为????(???? ??????????

2020-11-14 14:11:45 425

原创 Kafka:消费者详解

1. Kafka消费者概念消费者: 负责订阅Kafka的topic,并从订阅的topic中拉取消息并验证,最后将他们保存起来。消费者组: 如果只使用一个消费者处理消息,那应用程序会远跟不上消息生产的速度。因此引入消费者组这个概念,对消费者进行横向伸缩,当消息发布到topic后,会被投递给订阅它的每个消费者组中的一个消费者。注意:一个消费者组里面的消费者订阅的是同一个主题,每个消费者接收主题的一部分分区的消息。消费组是逻辑上的概念,它将旗下消费者归为一类,每个消费者只属于一个消费组。消费者不是逻

2020-08-20 19:55:18 1634

原创 java实现Haar小波变换

原理和具体推导参考以下两篇博客:https://blog.csdn.net/theonegis/article/details/86517377?utm_medium=distribute.pc_relevant.none-task-blog-baidulandingword-7&spm=1001.2101.3001.4242https://blog.csdn.net/theonegis/article/details/86533571?utm_medium=distribute.pc_rele

2020-08-18 15:59:37 864

原创 Kafka:生产者详解

生成者概述生成者是负责向Kafka发送消息的应用程序,通常应用于:记录用户的活动、物联网硬件数据的写入、保存日志消息和缓存即将写入到数据库的数据等。生成者向Kafka发送消息的主要步骤如下:创建一个ProducerRecord对象,包含目标主题、内容以及键和分区信息。在发送ProducerRecord对象时,生成者要先把键和值对象序列化成字节数组。下一步,数据被发送分区器,如果没有指定分区,那么分区器就会根据ProducerRecord对象的键来选择一个分区。然后该数据会被发送到对应主题分区的批次

2020-08-12 14:16:27 792

原创 java实现FFT IFFT fftshift ifftshift

FFT和fftshift:(complexArray只是一个定义实虚部的实体类)public class FFT { private complexArray result; public complexArray getResult() { return result; } int n, m; // Lookup tables. Only need to recompute when size of FFT changes. d

2020-08-12 09:42:45 580

原创 Mysql:初级总结

1.DOS窗口相关命令#连接数据库mysql -h '服务器主机地址' -u '用户名' -p'用户密码'#修改密码update user set password=password('xxxx') where user='root';#刷新数据库权限flush privileges;#显示数据库show databases;#打开某个数据库use dbname;#显示数据库mysql中所有的表show tables;#显示表mysql数据库中user表的列信息describe

2020-08-04 16:53:49 148

原创 Spark综合项目:企业电商分析平台

1. 背景说明2. 系统架构3.业务分析4.需求编码5.技术总结

2020-06-14 20:48:37 1428 4

原创 JUC:堵塞队列BlockingQueue和同步SynchronousQueue

BlockingQueue堵塞队列的特点:写入:如果队列满了,就必须堵塞等待取出:如果队列是空的,必须堵塞等待生产堵塞队列的应用场景:线程池继承关系图:四组API:方式抛出异常有返回值,不抛出异常堵塞等待超时等待添加addofferputoffer(obj,int,TimeUnit)移除removepolltakepoll(int,TimeUnit)首个元素elementpeek抛出异常ArrayBlocking

2020-06-13 17:20:39 196

原创 JUC:三大辅助类

1. CountDownLatch允许一个或多个线程等待直到在其他线程中执行的一组操作完成的同步辅助。CountDownLatch用给定的计数初始化。 await方法阻塞,直到由于countDown()方法的调用而导致当前计数达到零,之后所有等待线程被释放,并且任何后续的await 调用立即返回。 (理解成线程的减法计数器)CountDownLatch是一种通用的同步工具,可用于多种用途。 一个CountDownLatch为一个计数的CountDownLatch用作一个简单的开/关锁存器,或者门:所有线

2020-06-12 17:34:56 217

原创 java多线程:集合类

文章目录ListSetMapListArrayList是线程不安全的,没有使用线程同步,当多个线程修改ArrayList对象时,会报ConcurrentModificationException的异常测试:public class ListTest { public static void main(String[] args) { ArrayList<Str...

2020-04-30 17:23:26 326

原创 java函数式接口

1. Function函数式接口传入参数T,返回R例:返回字符串大写 Function<String, String> function = new Function<String, String>() { @Override public String apply(String s) { ...

2020-04-28 22:11:53 358

原创 Elasticsearch7.6.x:京东搜索实战

ef

2020-04-28 20:46:17 1430 2

原创 Elasticsearch7.6.x:使用详解

基于Rest风格的增删改查Rest风格是一种软件架构风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。methodurl地址描述PUTlocalhost:9200/索引名称/类型名称/文档id创建文档(指定文档id)POSTlocalhost:9200/索...

2020-04-28 16:34:52 2597 1

原创 Elasticsearch7.6.x:基础概念

1. ElasticSearch概述Elaticsearch,简称为es, es是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别(大数据时代)的数据。es也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTfulAPI来隐藏Lucene的复杂性,从而让全文搜索变得简单...

2020-04-28 10:44:35 938

原创 Java多线程:初级

参考学习:狂神说java(B站)、Java并发编程之美1. 基础概念进程:进程是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,当我们启动main函数时其实就启动一个JVM进程线程:线程则是进程的一个执行路径,是进程中的一个实体,一个进程中至少有一个线程,进程中的多个线程共享进程的资源。 main函数所在的线程就是进程中主线程。注意点:操作系统在分配资源时是把资源分...

2020-04-21 19:15:50 166

转载 Spark Sql函数

转载几篇SparkSql的博客SparkSql函数汇总https://blog.csdn.net/liam08/article/details/79663018?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1&utm_source=distribute.pc_relevan...

2020-04-17 10:51:53 182

原创 GPU并行编程基础与Aparapi入门实战

文章目录0. 绪1. GPU相关基础概念2.OpenCL编程基础3. Aparapi编程入门0. 绪最近项目需要使用GPU进行并行计算,作为不会C++的垃圾只能找Java语言操作的GPU api,目前亲测可使用的有JCuda、JOCL和Aparapi,其中JCuda中支持Nvidia的显卡上,JOCL使用相对Aparapi更麻烦,所以选择了Aparapi…CUDA:https://www.j...

2020-04-15 18:21:22 1592

原创 JCuda库安装配置

下载步骤检查电脑是否有c++编译环境,没有则需要安装. 检查电脑NVIDIA的Cuda驱动版本:控制面板->NVIDIA控制面板,驱动下载地址https://www.nvidia.com/download/index.aspx?lang=en-us下载Cuda:https://developer.nvidia.com/cuda-toolkit-archive下载Jcuda:10....

2020-04-10 12:04:39 1377 1

原创 SparkStreaming :流处理基础和DStream

1. 什么是流处理基础概念流处理是连续处理新到来的数据以更新计算结果的行为,我们将流处理定义为在无边界数据集上的增量处理。 它是一系列到达流处理系统的事件(例如,信用卡交易,点击网站动作,或从物联网 IoT 传感器读取的数据),用户应用程序对此事件流可以执行各种查询操作。批处理是在固定大小输入数据集上进行计算的,也可以进行查询计算,但只计算一次结果。虽然流处理和批处理是不同的,但在实践中需要一...

2020-03-30 15:08:44 526 1

原创 Redis入门与安装

1 .Redis的安装1. 下载压缩包 http://download.redis.io/releases2. 上传redis-3.2.11.tar.gz到服务器3. 解压redis源码包 tar -zxvf redis-3.2.11.tar.gz -C /usr/local/src/4. 进入到源码包中,编译并安装redis make && make install ...

2020-03-26 21:19:06 108

原创 Spark:zookeeper或者Kafka记录偏移量

Spark:2.4 ,适用于Kafka:0.10.0及以上1. zookeeper记录偏移量object KafkaDirectWordCount_zookeeper { def main(args: Array[String]): Unit = { val group = "g001" val topic = "wordcount" val topics = A...

2020-03-26 17:38:59 660

空空如也

空空如也

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

TA关注的人

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