自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Scala编程(第四版)

scala编程读书笔记

2023-03-05 09:48:51 950

原创 面试笔记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 88

原创 SparkStreaming

流程:存在接收器概念,即:接收器是不能停的(Driver也一样),否则数据接收不到用SparkStreaming来写一个接近实时的WordCount需求:使用netcat工具向9999端口不断的发送数据,通过SparkStreaming读取端口数据并统计不同单词出现的次数1.导入依赖:<dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-stream

2021-05-05 11:51:57 334

原创 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 376

原创 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 403

原创 Scala

Scala配置环境配置环境配置$SCALA_HOME在配置PATHIDEA自带的下载后remark一下,之后创建类即可object hello { def main(args: Array[String]): Unit = { println("Hello World") }}

2021-04-07 11:41:50 891

原创 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 319

原创 Kylin

KylinKylin概述定义构架Kylin特点环境搭建安装部署小实例创建Model创建CuberestAPIJDBCKylin概述定义Kylin是一个开源的分布式分析引擎,提供Hadoop/Spark上的SQL查询接口以及多维分析(OLAP以支持超大规模数据,最初由eBay开发并贡献至开源社区,能在亚秒内查询巨大的Hive表构架REST Server:是一套面向应用程开发的入口点,旨在实现针对Kylin平台的应用开发工作。此类应用程序可以提供查询、获取结果、触发cube构建任务、获取元数据以及获

2021-04-03 18:09:46 323

原创 Sqoop

Sqoop简介简介Sqoop是一款开源工具,主要用于Hadoop(Hive)与传统数据库(mysql、postgresql…)间进行数据沟通,可以将一个关系型数据库(Oracle、Mysql、Postgres)中数据导入Hadoop中,也可将HDFS中数据导入到关系型数据库中。...

2021-03-26 19:28:33 277

原创 kafka

消息队列消息队列的消息队列的三个作用:异步(用户注册)、消峰(秒杀系统)、解耦(Flume)

2021-03-16 14:21:37 303

原创 Flume

Flume概述定义Flume的优点Flume组成架构(重点)AgentSource:ChannelSinkEventFlume拓扑序列内部原理Flume Agent内部原理(重点)安装案例监控端口数据官方案例实时读取本地文件到HDFS概述定义Flume是Cloudera提供的一个高可用、高可靠的分布式海量日志采集、聚合、传输系统,基于流式框架,灵活简单流式框架:处理数据的单位很小MapReduce是先获取整个文件再处理,是非流式的Spark也不是流失构架Flume的优点可以和任意存储

2021-03-08 19:27:53 508 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 328

原创 Hive(一)

HiveHive的基本概念什么是HiveHive的优缺点优点缺点Hive的架构原理Hive的基本概念什么是HiveHive:由Facebook开源用于解决海量结构化日志的数据统计Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类sql查询功能本质就是将HQL转化为MapReduce程序Hive处理的数据存储在HDFSHive分析数据底层实现是MapReduce执行程序运行在Yarn上Hive的优缺点优点操作接口采用类SQL语法,提供快速开发的

2021-02-03 22:24:52 810

原创 MapReduce实例

输出Top N需求需求输出流量使用量在前10的用户信息例如:左为输入右为输出实现:import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.Job;import org.apache.hadoop.mapreduce.lib.input.FileInputFo

2021-02-03 21:00:28 206

原创 ZooKeeper

概述ZooKeeper是开源的分布式的、为分布式提供协调的Apache项目特点数据结构应用场景安装配置ZooKeeper集群注意数字与端口号对应修改启动位置配置Javahome发送给其他虚拟机修改以下其他两台虚拟机myid结果:(必须两台虚拟机以上启动ZooKeeper)客户端操作命令在ZooKeeper启动情况下,bin/zkCli.sh启动...

2021-01-28 19:46:06 106

原创 Hadoop企业优化

Hadoop企业优化MapReduce慢的原因:MapReduce优化方法MapReduce优化方法主要从六个方面考虑:数据输入、Map阶段、Reduce阶段、IO传输、数据倾斜问题和常用的调优参数。常用的调优参数小文件优化方法弊端HDFS上每个文件都要在NameNode上建立一个索引,这个索引的大小约为150byte,这样当小文件比较多的时候,就会产生很多的索引文件,一方面会大量占用NameNode的内存空间,另一方面就是索引文件过大使得索引速度变慢。方案小文件的优化无

2021-01-28 16:19:28 66

原创 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 170

原创 Hadoop数据压缩

Hadoop数据压缩压缩基本原则MapReduce支持的编码各种压缩方式的特点压缩基本原则运算密集型少用压缩IO密集型多用压缩MapReduce支持的编码bzip2过慢,使用LZO或者Snappy好点各种压缩方式的特点...

2021-01-28 13:47:52 64

原创 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 86

原创 MapReduce

MapReduceMapReduce概念MapReduce概念MapReduce是一个分布式运算编程的编程框架,是用户开发“基于Hadoop的数据分析应用”的核心框架MapReduce核心功能是将用户编写的业务逻辑代码和自带默认组件组合成一个完整的分布式运算程序,并且运行在一个Hadoop集群上。...

2020-12-09 16:35:30 149

原创 HDFS

HDFSHDFS概述HDFS架构HDFS文件块大小(面试重点)HDFS概述Hadoop分布式文件系统HDFS使用场景:适合一次写入,多次读出场景,并且不支持文件修改优点:1.高容错性数据自动保存多个副本,它通过增加副本的形式来提高容错性某一个副本丢失之后,可以自动恢复2.适合存储大数据数据规模:能够处理达到GB、TB、甚至PB级别的数据文件规模:能够处理百万规模即以上的文件数量3.可构建在廉价机器上通过多副本机制,提高可靠性-缺点:1.不适合低延时数据访问,比如毫秒级的

2020-11-28 16:57:52 159

原创 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 243

原创 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 349

原创 笔试

public class TestValue { public void test1(int age){ age = 30; } public void test2(Person person){ person.setName("xxx"); } public void test3(String str){ str = "xxx"; } public static void main(String[]

2020-11-13 14:57:19 81

原创 笔记:JVM

JVM类似面试题:谈谈你对JVM理解,java8虚拟机有什么更新什么是OOM,什么是StackOverFlowError,有哪些分析方法JVM的常用参数调优你知道哪些谈谈JVM中,对类加载器的认识JVM体系结构概述堆体系结构概述堆参数调优入门...

2020-11-10 15:34:42 387

原创 笔记: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 113

原创 笔记: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 129

原创 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 341

原创 NoSQL

NoSQL概述NoSOL:Not Only SQLNoSQL不依赖业务逻辑方式存储,而是以简单的key-value模式存储。因此大大的增加了数据库扩展能力不遵循SQL标准不支持ACID(原子性、隔离性、一致性、持久性)远超于SQL业务能力NoSQL适用场景对数据高并发的读写海量数据的读写对数据高可扩展性的NoSQL不适用的场景需要事务支持基于sql的结构化查询存储,处理复杂关系,需要即席查询(立即就要的查询)用不到SQL和用了SQL也不可以的情况可以考虑NoSQLNoSQL兄弟会

2020-10-25 16:25:55 279

原创 笔记:Linux

LinuxLinux目录结构/bin是Binary缩写,这个目录存放着最经常使用的命令/sbin是Super User的意思,这里存放的是系统管理员使用的系统管理程序/home存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录是以用户的账号命名的/root该目录为系统管理员,也称作超级权限者的用户主目录/etc所有的系统管理所需要的配置文件和子目录/usr用户的很多应用程序和文件都放在这个目录下,类型与windows下的pragram files/medi

2020-10-22 11:59:09 279

原创 笔记: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 87

原创 笔记:Maven

Maven为什么使用Maven1.添加第三方jar包在今天的JavaEE开发领域,有大量的第三方框架和工具可以供我们使用。要使用这些jar包最简单的方法就是复制粘贴到WEB-INF目录下的lib目录下。但是这会导致每次创建一个新的工程就需要将jar包重复复制到lib目录下,从而造成工作区中存在大量重复的文件。而使用Maven后每个jar包只在本地仓库中保存一份,需要jar包的工程只需要维护一个文本形式的jar包的引用——我们称之为“坐标”。不仅极大的节约了存储空间,让项目更轻巧,更避免了重复文件太多

2020-10-17 21:34:56 278 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 98

原创 笔记: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 65

原创 笔记:Filter

Filter过滤器对于WEB应用来说,过滤器是一个驻留在服务器中的WEB组件,他可以截取客户端和WEB资源之间的请求和响应信息。WEB资源可能包括Servlet、JSP、HTML页面等当服务器收到特定请求后,会将请求先提交给过滤器,程序员可以在过滤器中对请求信息进行读取、修改等操作,然后将请求信息再发送给目标资源,目标资源做出响应后,服务器会再次将响应转交给过滤器,在过滤器中同样可以对响应信息做一些操作,然后再将相应信息发送给浏览器也就是说过滤器可以在WEB资源收到请求之前,浏览器收到响应之前,对

2020-10-14 10:09:17 82

原创 笔记: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 96

原创 正则表达式

正则表达式<%-- 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&gt

2020-10-14 08:42:25 86

原创 笔记: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 63

原创 笔记: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 101

原创 笔记:Ajax

Ajax1.Ajax是Asynchornous JavaScript And XML的简称,直译为异步的JS和XML2.Ajax的实际意义是,不发生页面转跳,异步载入页面并改写页面内容的技术3.Ajax也可以简单地理解为通过JS向服务器发送请求异步处理同步Ajax出现之前,我们访问互联网时一般都是同步请求,也就是当我们通过一个页面向服务器发送一个请求时,在服务器响应结束之前,我们整个页面是不能操作的,直观来看就是卡住不动的。这就带来了不太好的用户体验,首先,同步请求时,用户只能等待服务器的响应

2020-10-12 16:19:26 70

空空如也

空空如也

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

TA关注的人

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