![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
文章平均质量分 87
桂圆桂圆车厘子
这个作者很懒,什么都没留下…
展开
-
面试笔记MySQL
索引什么是索引一种帮助数据库高效访问数据的数据结构索引的数据结构1.HashMap =》范围性查找不适合2.二叉树\红黑树 =》 可能存在深度过深,影响读取效率3.B树1.所有的键值分布在整棵树中2.搜索可能在非叶子节点结束(性能逼近二分查找)3.每棵树最多有m个子树4.根节点最少有两个子树5.分支节点至少m/2棵子树(非根非叶子的节点)6.所有叶子节点都在同一层,每一个节点最多有m - 1个key,并且升序排列实例比如查找28根据根节点找到磁盘1,读入内存(IO)比较关原创 2021-07-06 23:27:52 · 93 阅读 · 0 评论 -
SparkStreaming
流程:存在接收器概念,即:接收器是不能停的(Driver也一样),否则数据接收不到用SparkStreaming来写一个接近实时的WordCount需求:使用netcat工具向9999端口不断的发送数据,通过SparkStreaming读取端口数据并统计不同单词出现的次数1.导入依赖:<dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-stream原创 2021-05-05 11:51:57 · 392 阅读 · 0 评论 -
SparkSQL
SparkSQLSparkSQL概述什么是SparkSQL特点DataFrameDataSetSparkSQL编程SparkSessionDataFrame创建从Spark数据源进行创建1.我们先创建一个json文件,并上传到linux2.spark.read3.展示结果从RDD转换、HiveTable返回SQL风格语法DSL风格语法RDD转换为DataFrameSparkSQL概述什么是SparkSQLSparkSQL是Spark用来结构化数据的一个模块,它提供了两个编程抽象:DataFrame、D原创 2021-05-04 11:50:14 · 424 阅读 · 0 评论 -
Spark
用Spark来WordCount简便写法和复杂点的scala> sc.textFile("input").flatMap(s=>s.split(" ")).map(s=>(s,1)).reduceByKey(_+_).collectres6: Array[(String, Int)] = Array((Java,1), (hello,3), (Scala,1), (world,1), (spark,1), (hadoop,1), (Hi,2))scala> sc.textF原创 2021-04-23 18:01:58 · 424 阅读 · 0 评论 -
Scala
Scala配置环境配置环境配置$SCALA_HOME在配置PATHIDEA自带的下载后remark一下,之后创建类即可object hello { def main(args: Array[String]): Unit = { println("Hello World") }}原创 2021-04-07 11:41:50 · 917 阅读 · 0 评论 -
Kettle
Keetle概述安装Windows下安装案例一案例二案例三概述Kettle是一款开源ETL工具,纯Java编写,可以在Window、linux、Unix上运行。存储方式:以XML形式存储、以资源库方式存储组成:特点:安装https://community.hitachivantara.com/docs/DOC-1009855Windows下安装安装JDK下载kettle压缩包后解压到任意路径启动Spoon.bat导入jar包,否则报错案例一把MYSQL中stu1的数据按原创 2021-04-06 14:22:37 · 329 阅读 · 0 评论 -
Kylin
KylinKylin概述定义构架Kylin特点环境搭建安装部署小实例创建Model创建CuberestAPIJDBCKylin概述定义Kylin是一个开源的分布式分析引擎,提供Hadoop/Spark上的SQL查询接口以及多维分析(OLAP以支持超大规模数据,最初由eBay开发并贡献至开源社区,能在亚秒内查询巨大的Hive表构架REST Server:是一套面向应用程开发的入口点,旨在实现针对Kylin平台的应用开发工作。此类应用程序可以提供查询、获取结果、触发cube构建任务、获取元数据以及获原创 2021-04-03 18:09:46 · 331 阅读 · 0 评论 -
Sqoop
Sqoop简介简介Sqoop是一款开源工具,主要用于Hadoop(Hive)与传统数据库(mysql、postgresql…)间进行数据沟通,可以将一个关系型数据库(Oracle、Mysql、Postgres)中数据导入Hadoop中,也可将HDFS中数据导入到关系型数据库中。...原创 2021-03-26 19:28:33 · 284 阅读 · 0 评论 -
kafka
消息队列消息队列的消息队列的三个作用:异步(用户注册)、消峰(秒杀系统)、解耦(Flume)原创 2021-03-16 14:21:37 · 342 阅读 · 0 评论 -
Flume
Flume概述定义Flume的优点Flume组成架构(重点)AgentSource:ChannelSinkEventFlume拓扑序列内部原理Flume Agent内部原理(重点)安装案例监控端口数据官方案例实时读取本地文件到HDFS概述定义Flume是Cloudera提供的一个高可用、高可靠的分布式海量日志采集、聚合、传输系统,基于流式框架,灵活简单流式框架:处理数据的单位很小MapReduce是先获取整个文件再处理,是非流式的Spark也不是流失构架Flume的优点可以和任意存储原创 2021-03-08 19:27:53 · 548 阅读 · 1 评论 -
Hive(二)
Hive调优Fetch 抓取Fetch抓取是指,Hive中对某些情况的查询可以不使用MR计算,例如select * from emp,在这种情况下,Hive可以简单的读取emp对应的存储目录下的文件,然后输出查询结果。在hive-default.xml.template文件中hive.fetch.task.conversion默认是more,老版本hive默认是minimal,该属性修改为more以后,在全局查找、字段查找、limit查找等都不走mapreduce。<property>原创 2021-03-05 16:03:20 · 368 阅读 · 0 评论 -
Hive(一)
HiveHive的基本概念什么是HiveHive的优缺点优点缺点Hive的架构原理Hive的基本概念什么是HiveHive:由Facebook开源用于解决海量结构化日志的数据统计Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类sql查询功能本质就是将HQL转化为MapReduce程序Hive处理的数据存储在HDFSHive分析数据底层实现是MapReduce执行程序运行在Yarn上Hive的优缺点优点操作接口采用类SQL语法,提供快速开发的原创 2021-02-03 22:24:52 · 836 阅读 · 0 评论 -
ZooKeeper
概述ZooKeeper是开源的分布式的、为分布式提供协调的Apache项目特点数据结构应用场景安装配置ZooKeeper集群注意数字与端口号对应修改启动位置配置Javahome发送给其他虚拟机修改以下其他两台虚拟机myid结果:(必须两台虚拟机以上启动ZooKeeper)客户端操作命令在ZooKeeper启动情况下,bin/zkCli.sh启动...原创 2021-01-28 19:46:06 · 115 阅读 · 0 评论 -
Hadoop企业优化
Hadoop企业优化MapReduce慢的原因:MapReduce优化方法MapReduce优化方法主要从六个方面考虑:数据输入、Map阶段、Reduce阶段、IO传输、数据倾斜问题和常用的调优参数。常用的调优参数小文件优化方法弊端HDFS上每个文件都要在NameNode上建立一个索引,这个索引的大小约为150byte,这样当小文件比较多的时候,就会产生很多的索引文件,一方面会大量占用NameNode的内存空间,另一方面就是索引文件过大使得索引速度变慢。方案小文件的优化无原创 2021-01-28 16:19:28 · 71 阅读 · 0 评论 -
Yarn
YarnYarn:资源调度器Yarn的基本构架Yarn工作机制资源调动器任务推测执行Yarn:资源调度器Yarn是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而MapReduce等运算程序相当于操作系统上的应用程序Yarn的基本构架YARN主要由ResourceManager、NodeManager、ApplicationMaster和Container组成Yarn工作机制1.向Yarn提交应用程序2.ResourceManager为其分配一个Con原创 2021-01-28 16:09:31 · 208 阅读 · 0 评论 -
Hadoop数据压缩
Hadoop数据压缩压缩基本原则MapReduce支持的编码各种压缩方式的特点压缩基本原则运算密集型少用压缩IO密集型多用压缩MapReduce支持的编码bzip2过慢,使用LZO或者Snappy好点各种压缩方式的特点...原创 2021-01-28 13:47:52 · 75 阅读 · 0 评论 -
Join
Reduce Join工作原理:Map端的主要工作:为来自不同表或文件的K/V对打开标签以区别不同的来源记录。然后用连接字段作为key,其余部分和新加的标志作为value,最后进行输出Reduce端的主要工作:在Reduce端以连接字段作为key的分组已经完成,我们只需要在每一个分组中将那些来源不同文件的记录分开(在Map阶段就已经打标志),最后进行合并。实操需求:文件一:1001 01 11002 02 21003 03 31004 01 41005 02 51006 03 6文原创 2021-01-26 16:19:38 · 93 阅读 · 0 评论 -
MapReduce
MapReduceMapReduce概念MapReduce概念MapReduce是一个分布式运算编程的编程框架,是用户开发“基于Hadoop的数据分析应用”的核心框架MapReduce核心功能是将用户编写的业务逻辑代码和自带默认组件组合成一个完整的分布式运算程序,并且运行在一个Hadoop集群上。...原创 2020-12-09 16:35:30 · 218 阅读 · 0 评论 -
HDFS
HDFSHDFS概述HDFS架构HDFS文件块大小(面试重点)HDFS概述Hadoop分布式文件系统HDFS使用场景:适合一次写入,多次读出场景,并且不支持文件修改优点:1.高容错性数据自动保存多个副本,它通过增加副本的形式来提高容错性某一个副本丢失之后,可以自动恢复2.适合存储大数据数据规模:能够处理达到GB、TB、甚至PB级别的数据文件规模:能够处理百万规模即以上的文件数量3.可构建在廉价机器上通过多副本机制,提高可靠性-缺点:1.不适合低延时数据访问,比如毫秒级的原创 2020-11-28 16:57:52 · 175 阅读 · 0 评论 -
Hadoop入门
HadoopHadoop组成(面试重点)HDFS框架概述Yarn框架概述MapReduce框架概述Hadoop组成(面试重点)Hadoop1.x和Hadoop2.x的区别:在Hadoop1.x的时代,Hadoop中的MapReduce同时处理业务逻辑运算和资源调度,耦合性较大,在Hadoop2.x的时代,增加了Yarn,Yarn只负责资源的调度,MapReduce只负责运算HDFS框架概述1.NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间、副本数、文件权限原创 2020-11-28 15:54:07 · 260 阅读 · 0 评论 -
Shell脚本
Shell解析器Linux的Shell解析器有[yyx@hadoop04 ~]$ cat /etc/shells /bin/sh/bin/bash/usr/bin/sh/usr/bin/bash/bin/tcsh/bin/cshCentOS默认的解析器为bash创建一个脚本实例要求:输出HelloWord首先,创建一个.sh文件touch helloword.sh其次,vim编辑文件内容#!/bin/bash echo "hello word"原创 2020-11-17 12:13:43 · 408 阅读 · 0 评论 -
笔记:JVM
JVM类似面试题:谈谈你对JVM理解,java8虚拟机有什么更新什么是OOM,什么是StackOverFlowError,有哪些分析方法JVM的常用参数调优你知道哪些谈谈JVM中,对类加载器的认识JVM体系结构概述堆体系结构概述堆参数调优入门...原创 2020-11-10 15:34:42 · 410 阅读 · 0 评论 -
笔记:JUC
JUCJUC:java.util.concurrent有两个子包java.util.concurrent.atomicjava.util.concurrent.locks需要掌握什么是:进程/线程 并发/并行回顾:import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;/** 使用高内聚低耦合的方法创建卖票实例(三个售票员,三十张票)* :线程/操作/资源类(资源原创 2020-11-08 16:20:47 · 120 阅读 · 0 评论 -
笔记:MySQL高级
安装LinuxMySQL检查是否安装过CentOS7rpm -qa | grep mysqlrpm -qa | grep mariadb如果安装过,一定要保证全都卸载[root@hadoop04 opt]# rpm -e --nodeps mariadb-server 之后安装好安装包[root@hadoop04 opt]# rpm -ivh MySQL-client-5.5.54-1.linux2.6.x86_64.rpm [root@hadoop04 opt]# rpm -ivh原创 2020-10-31 15:53:02 · 142 阅读 · 0 评论 -
NoSQL
NoSQLNoSQL概述NoSQL适用场景NoSQL不适用的场景NoSQL兄弟会MenmcachedRedisRedis应用场景安装启动关闭Redis单线程+多路IO复用技术Redis和Menmcached三个区别Redis对key的操作Redis五大数据类型-String命令原子性Redis数据类型-List命令Redis数据类型-set命令:Redis 数据类型-hash命令Redis数据类型-zset命令Redis的java客户端JedisRedis的事务事务冲突问题乐观锁:悲观锁:WATCH key原创 2020-10-29 15:51:37 · 404 阅读 · 0 评论 -
NoSQL
NoSQL概述NoSOL:Not Only SQLNoSQL不依赖业务逻辑方式存储,而是以简单的key-value模式存储。因此大大的增加了数据库扩展能力不遵循SQL标准不支持ACID(原子性、隔离性、一致性、持久性)远超于SQL业务能力NoSQL适用场景对数据高并发的读写海量数据的读写对数据高可扩展性的NoSQL不适用的场景需要事务支持基于sql的结构化查询存储,处理复杂关系,需要即席查询(立即就要的查询)用不到SQL和用了SQL也不可以的情况可以考虑NoSQLNoSQL兄弟会原创 2020-10-25 16:25:55 · 290 阅读 · 0 评论 -
笔记:Linux
LinuxLinux目录结构/bin是Binary缩写,这个目录存放着最经常使用的命令/sbin是Super User的意思,这里存放的是系统管理员使用的系统管理程序/home存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录是以用户的账号命名的/root该目录为系统管理员,也称作超级权限者的用户主目录/etc所有的系统管理所需要的配置文件和子目录/usr用户的很多应用程序和文件都放在这个目录下,类型与windows下的pragram files/medi原创 2020-10-22 11:59:09 · 323 阅读 · 0 评论 -
笔记:Spring框架
Spring框架Spring简介Spring是一个开源框架Spring为简化企业级开发而生,使用Spring,JavaBean就可以实现很多以前要靠EJB才能实现的功能。同样的功能,在EJB中要通过繁琐的配置和复杂的代码才能实现,而在Spring中就变得十分优雅与简洁Spring是一个IOC和AOP的容器框架Spring的优良特性:依赖注入、面向切面编程、一站式Spring模块搭建Spring环境1.创建Maven版Java工程2.在pom.xml中导入jar包<depend原创 2020-10-19 11:42:50 · 94 阅读 · 0 评论 -
笔记:Maven
Maven为什么使用Maven1.添加第三方jar包在今天的JavaEE开发领域,有大量的第三方框架和工具可以供我们使用。要使用这些jar包最简单的方法就是复制粘贴到WEB-INF目录下的lib目录下。但是这会导致每次创建一个新的工程就需要将jar包重复复制到lib目录下,从而造成工作区中存在大量重复的文件。而使用Maven后每个jar包只在本地仓库中保存一份,需要jar包的工程只需要维护一个文本形式的jar包的引用——我们称之为“坐标”。不仅极大的节约了存储空间,让项目更轻巧,更避免了重复文件太多原创 2020-10-17 21:34:56 · 288 阅读 · 1 评论 -
笔记:JSON
JSONJSON 简介1)AJAX一开始使用的时XML的数据格式,XML的数据格式非常简单清晰,容易编写,但是由于XML中包含了过多的标签,以及十分复杂的结构,解析起来也相对复杂,所以目前来讲,AJAX中已经几乎不使用XML来发送数据了。取而代之的是一项新的技术JSON。2)JSON是JavaScript Object Notation 的缩写,是JS提供的一种数据交换格式。3)JSON对象本质上就是一个JS对象,但是这个对象比较特殊,它可以直接转换为字符串,在不同语言中进行传递,通过工具又可以转换原创 2020-10-15 10:52:06 · 108 阅读 · 0 评论 -
笔记:xml
xmlxml简介XML----可扩展标记语言由W3C组织发布,目前推荐遵守的是W3C组织于2000年发布的XML1.0规范XML的使命,就是以一个统一的格式,组织有关系的数据,为不同平台下的应用程序服务XML用来传输和存储数据,html用来显示数据XML没有预定义标签,均为自定义标签xml用途1.配置文件javaWeb中的web.xmlC3P0中的c3p0-config.xml2.数据交换格式AjaxWebService3.数据存储保存关系型数据xml基本语法CDATA原创 2020-10-15 10:18:09 · 74 阅读 · 0 评论 -
笔记:Filter
Filter过滤器对于WEB应用来说,过滤器是一个驻留在服务器中的WEB组件,他可以截取客户端和WEB资源之间的请求和响应信息。WEB资源可能包括Servlet、JSP、HTML页面等当服务器收到特定请求后,会将请求先提交给过滤器,程序员可以在过滤器中对请求信息进行读取、修改等操作,然后将请求信息再发送给目标资源,目标资源做出响应后,服务器会再次将响应转交给过滤器,在过滤器中同样可以对响应信息做一些操作,然后再将相应信息发送给浏览器也就是说过滤器可以在WEB资源收到请求之前,浏览器收到响应之前,对原创 2020-10-14 10:09:17 · 89 阅读 · 0 评论 -
笔记:Session
创建一个用来获取或创建Session的Servlet<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee ht原创 2020-10-14 09:08:47 · 105 阅读 · 0 评论 -
正则表达式
正则表达式<%-- Created by IntelliJ IDEA. User: dell Date: 2020/10/10 Time: 15:12 To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head>原创 2020-10-14 08:42:25 · 95 阅读 · 0 评论 -
笔记:Cookie
Cookie写一个创建的超链接<%-- Created by IntelliJ IDEA. User: dell Date: 2020/10/13 Time: 15:24 To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %><html>原创 2020-10-13 21:10:09 · 74 阅读 · 0 评论 -
笔记:JSTL
JSTL使用JSPT(JSP标准标签库)要先导入jar包之后常用的标签有两个以及一个运算ifforEachempty(是否为空)<%@ page import="java.util.List" %><%@ page import="java.util.ArrayList" %><%-- Created by IntelliJ IDEA. User: dell Date: 2020/10/13 Time: 9:33 To change this原创 2020-10-13 14:49:49 · 108 阅读 · 0 评论 -
笔记:Ajax
Ajax1.Ajax是Asynchornous JavaScript And XML的简称,直译为异步的JS和XML2.Ajax的实际意义是,不发生页面转跳,异步载入页面并改写页面内容的技术3.Ajax也可以简单地理解为通过JS向服务器发送请求异步处理同步Ajax出现之前,我们访问互联网时一般都是同步请求,也就是当我们通过一个页面向服务器发送一个请求时,在服务器响应结束之前,我们整个页面是不能操作的,直观来看就是卡住不动的。这就带来了不太好的用户体验,首先,同步请求时,用户只能等待服务器的响应原创 2020-10-12 16:19:26 · 83 阅读 · 0 评论 -
笔记:servlet
servlet直接用idea创建新的Servlet重写两个方法package servlet;import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletReque原创 2020-10-10 14:02:36 · 67 阅读 · 0 评论 -
笔记:JavaScript
JavaScript特性脚本语言(运行过程中逐行解释)基于对象(可创建、使用对象)简单(数据类型没有严格要求)动态性(不需要经过web服务器就可以对用户输入做出响应)跨平台性编写位置1.写在html中<script>标签中2.写在外部的.js文件中,然后通过script标签引入JavaScript的事件驱动1.用户事件:用户操作,例如单击、鼠标移入、鼠标移出等2.系统事件:由系统触发的事件,例如文档加载完成常用的事件onloadonclickonbluron原创 2020-10-09 14:05:16 · 69 阅读 · 0 评论 -
笔记:JSP
JSP简介JSP全称Java Server Pages,就是运行在java服务器中的页面,也就是JavaWeb中的动态页面,本质就是一个Servlet其本身就是一个动态网页技术标准,主要构成有HTML网页代码、Java代码片段、JSP标签几部分组成,后缀是.jsp一般我们将Servlet和JSP结合使用,Servlet负责业务,JSP负责显示一般情况下,都是Servlet处理完的数据,转发到JSP,JSP负责显示工作<%@ page contentType="text/html;cha原创 2020-10-09 09:28:59 · 93 阅读 · 0 评论