自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 大数据-离线项目

埋点日志在本项目中,有3大类:app端行为日志pc web端行为日志微信小程序端行为日志日志生成在了公司的N台(5台)日志服务器中,现在需要使用flume采集到HDFSorc.compress:表示ORC文件的压缩类型,「可选的类型有NONE、ZLB和SNAPPY,默认值是ZLIB(Snappy不支持切片)」—这个配置是最关键的。parquet. compression:默认值为 UNCOMPRESSED,表示页的压缩方式。

2023-09-14 17:03:48 387

原创 大数据-Hive

Hive是基于 Hadoop 的一个【数据仓库工具】,可以将结构化和半结构化的数据文件映射为一张数据库表,并提供简单的 sql 查询功能。因为比直接用MapReduce开发效率更高,Hive的主要作用就是用来做离线数据分析。本质是:将HQL转化成MapReduce程序

2023-09-13 13:39:42 336

原创 Spark

Shark是SparkSQL的前身,SparkSQL产生的根本原因是其完全脱离了Hive的限制。SparkSQL支持查询原生的RDD。RDD是Spark的核心概念,是Spark能够高效的处理大数据的各种场景的基础。能够在scalajava中写SQL语句。支持简单的SQL语法检查,能够在SQL中写Hive语句访问Hive数据,并将结果取回作为RDD使用。SparkStreaming是流式处理框架,是Spark API(RDD)的扩展,支持可扩展、高吞吐量、容错的准实时数据流处理。

2023-05-21 14:04:11 680

原创 Spark常见报错

shuffle read是container请求external shuffle服务获取数据过程,external shuffle是NodeManager进程中的一个服务,默认端口是7337,或者通过spark.shuffle.service.port指定。解决方案:针对原因(1),调大spark.network.timeout值,如1800s,此参数可以在spark-defaults.conf设置,对所有任务都生效;定位过程:拉取任务运行日志,查看container日志;

2023-05-18 15:21:24 1325

原创 hive on spark下row_number()问题排查

涉及hive3.1.2原生的bug,在做row_number(partition by 字段A)排序之前,如发生cast( 字段A as 类型B) as 字段A情况,那分区排序结果是有问题的。而使用hive on mr方式是无问题的。

2023-03-17 11:46:01 159

原创 Linux

什么时shell?shell就是一个用户根操作系统打交道的一个命令解释器KernelLinux内核主要是为了和硬件打交道sh:Bourne shell(sh) ,Solaris,hpux默认shellBourne again shell(bash) ,Linux系统默认shellcsh声明告诉系统其后路径所指定的程序即是解释此脚本文件的 Shell 程序/bin/bash独立磁盘冗余阵列。

2023-02-14 15:49:04 433

原创 ClickHouse

ClickHouse 是俄罗斯的 Yandex 于2016年开源的列式存储数据库管理系统(DBMS),主要用于在线分析处理查询(OLAP),能够使用SQL查询,实时生成分析数据报告。

2022-07-27 10:57:33 1266

原创 Scala

Scala使用def关键字告诉编译器这是一个方法。返回值类型与返回值在参数后面加一个冒号和类型来显式地指定返回类型。方法可以写返回值的类型也可以不写,会自动推断,但是如果有显式的Return有时候不能省略,必须写,Scala中函数有返回值时,可以写return,也可以不写return,不写return时会把函数中最后一行当做结果返回。如果去掉方法体前面的等号,那么这个方法返回类型必定是Unit的。scala可以把任意类型转换为Unit。会被丢弃。}中的所有集合。不变的。...

2022-07-27 10:38:50 792

原创 Redis

缓存是存储在计算机上的一个原始数据复制集,以便于访问。​ 高并发的情况下,某个热门key突然过期,导致大 量请求在Redis未找到缓存数据,进而全部去访问DB请求数据,引起DB压力瞬间增大。​ 解决方案:​ 1.如果要求数据必须是新数据,则最好的方案则为热点数据设置为永不过期,然后加一个互 斥锁保证缓存的单线程写​ 缓存穿透是指查询缓存和DB中都不存在的数据.比如用户需要查询一个数据,但是redis中没有 ,直接去请求数据库,如果很多用户同时去请求数据库,就会给数据库带来很大压力​ 解决方

2022-07-05 16:32:05 187

原创 数据仓库理论篇与Flume

数据处理大致可以分为两大类:OLTP(联机事物处理)OLAP(联机分析处理)数据建模ER模型(关系)维度建模维度建模四部曲:选择业务处理过程 > 定义粒度 > 选择维度 > 确定事实[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EGv0kgNp-1656827481708)(E:\笔记\资源\image-20220630201349050.png)]模型的选择跟数据和需求有关,跟设计无关, 按实际需求选择ETL工具常见概念描述数据仓库是一

2022-07-03 14:57:16 473 1

原创 Ganglia Sqoop DataX Azkaban

​ Ganglia是UC Berkeley发起的一个开源集群监视项目,设计用于测量数以千计的节点。Ganglia的核心包含gmond、gmetad以及一个Web前端。主要是用来监控系统性能,如:cpu 、mem、硬盘利用率,I/O负载、网络流量情况等,通过曲线很容易见到每个节点的工作状态,对合理调整、分配系统资源,提高系统整体性能起到重要作用。​ Sqoop(SQL-to-Hadoop)是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql…)间进行数据

2022-07-03 13:42:35 359

原创 HBase

hell实现DDL操作数据库定义语言(表的建立,删除,添加删除列族,控制版本)命令创建一个表语法:create, {NAME => , VERSIONS => }Shell实现DML操作数据库操作语言(增删改)数据库查询语言(查询–全表扫描–基于主键–基于过滤器)0.96版本之前:Client–>Zookeeper–>-ROOT-表–>.META.表–>HRegion–>HRegionServer–>Client0.96版本后:​ (新增了namespace,删去了-ROOT-表):Cli

2022-07-02 18:34:12 1704

原创 数据仓库理论篇

数据处理大致可以分为两大类:联机事务处理OLTP(On-Line Transaction processing)联机分析处理OLAP(On-Line Analytical Processing)OLTP(联机事物处理)维度表概念正在上传…重新上传取消维度表设计原则维度设计方法正在上传…重新上传取消维度设计高级主题正在上传…重新上传取消维度整合垂直整合存储的是相同的数据集,但是存储在不同的表中水平整合判断数据是否交叉(重复)去重没有交叉就将信息放在一张表中,需要保留原来的主键信息水平拆分可以按

2022-07-01 21:00:59 279

原创 Hadoop

(1)高可靠性:Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失。(2)高扩展性:在集群间分配任务数据,可方便的扩展数以千计的节点。(3)高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度。(4)高容错性:能够自动将失败的任务重新分配。文件存放在一个磁盘上效率肯定是低的,如果文件特别大会超出单机的存储范围偏移量: 可以理解为 下标数组都有对应的索引(下标),可以快速的定位数据数据块的个数 =Ceil( 文件大小 /

2022-06-26 15:48:13 614

原创 RabbitMQ

RabbitMQ是一种消息中间件,用于处理来自客户端的异步消息.是一种进程间的通信或同一进程的不同线程之间的通信方式.中间件模式的的优点:将消息写入消息队列,需要消息的系统自己从消息队列中订阅,从而系统A不需要 做任何修改。消息队列常常保存在链表结构中。拥有权限的进程可以向消息队列中写入或读取 消息。MQ是消费者-生产者模型的一个典型的代表,一端往消息队列中不断写入消息, 而另一端则可以读取或者订阅队列中的消息。MQ和JMS类似,但不同的是JMS是 JAVA消息中间件服务的一个标准和API定义,而MQ则是遵

2022-06-02 16:50:45 720

原创 Redis

五种数据类型关系数据库与非关系数据库数据持久化主从复用如何应对缓存存穿透,缓存击穿,缓存雪崩的问题?事物

2022-06-02 16:17:45 97

原创 Spring MVC

MVC是什么? 模型-视图-控制器(MVC)是一个以设计界面应用程序为基础的设计思想.是将业务逻辑、数据、显示分离的方法来组织代码。 MVC主要作用是降低了视图与业务逻辑间的双向偶MVC的特点与优势 MVC的特点 1.轻量级,简单易学 2.高效 , 基于请求响应的MVC框架 3.与Spring兼容性好,无缝结合 4.约定优于配置 5.功能强大:RESTful、数据验证、格式化、本地化、主题等...

2022-04-27 20:02:32 100

原创 Spring 集成 Mybatis

环境配置1. IDEA 下创建项目创建Maven对应的Java项目2. 配置 pom.xml1. 修改 JDK 版本<properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>11</maven.compiler.source><maven.compiler.target&g

2022-04-26 19:40:24 77

原创 Spring AOP

Bean的作用域与生命周期 Bean的作用域 默认情况下,我们从Spring容器中拿到的对象均是单例的 singleton 作用域 注意: lazy-init是懒加载, 如果等于true时作用是指Spring容器启动的时候不会去实例化这个bean, 而是在程序调用时才去实例化. 默认是false即Spring容器启动时实例化. lazy-init属性(懒加载) 如果为false,则在...

2022-04-26 19:22:36 488

原创 Spring IOC

Spring IOC是什么? Spring是一个基于分层的javaEE应用一站式轻量级开源框架,主要核心是控制反转(IoC)和面向切面(AOP)的两大技术,实现项目在开发过程中的轻松解耦,提高项目的开发效率。Spring 框架环境搭建 新建 Maven 项目 1. 创建 Maven 的普通 Java 项目 2. 设置项目的坐标、名称、工作空间 3. 设置项目的 Maven 环境 调整项目环境 1. 修改 JD...

2022-04-25 18:49:04 362

原创 FreeMarker

FreeMarker是什么? 是一款 模板引擎: 即一种基于模板和要改变的数据, 并用来生成 HTML Web 页面优点 1、不能编写java代码,可以实现严格的mvc分离 2、性能非常不错 3、对jsp标签支持良好 4、内置大量常用功能,使用非常方便 5、宏定义(类似jsp标签)非常方便 6、使用表达式语言 能够生成各种文本:HTML、XML、RTF、Java 源代...

2022-04-22 19:48:58 1474

原创 JSP 和 JSTL

JSP jsp是什么? 是动态网页编程技术,是 Java Web 服务器端的动态资源 注释 ① 显示注释语法: // 注释,单行注释 /* 多行注释*/ <!-- HTML风格的注释 --> ② 隐式注释语法 <%-- JSP注释 --%> Scriptlet 是 Scriptlet(脚本小程序),所有嵌入在 HTML ...

2022-04-21 18:21:49 375

原创 HTTP&Tomcat&Servlet

HTTP协议HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写。HTTP 协议和 TCP/IP 协议族内的其他众多的协议相同, 用于客户端和服务器之间的通信。请求访问文本或图像等资源的一端称为客户端, 而提供资源响应的一端称为服务器端。主要特点简单快速:当客户端向服务器端发送请求时,只是简单的填写请求路径和请求方法即可,然后就可以通过浏览器或其他方式将该请求发送就行了 。灵活: HTTP 协议允许客户端和服务器端传输任意类型任意格式的...

2022-04-19 20:01:24 67

原创 Maven与SVN

Mavensvn

2022-04-19 16:52:39 816

原创 Boostrap&LayUI

Boostrap官网:http://getbootstrap.com/中文网:http://www.bootcss.com/BootStrap 特点1. 简洁、直观、强悍的前端开发框架,html、css、javascript 工具集,让 web 开发更速、简单。 2. 基于html5、css3的bootstrap,具有大量的诱人特性:友好的学习曲线,卓越的兼容性,响应式设 计,12列格网,样式向导文档。3. 自定义 JQuery 插件,完整的类库,bootstrap3 基于Less,bo

2022-04-16 19:24:15 1187

原创 JQuery

jQuery"的核心 $ 符号在 jQuery 中代表对 jQuery 对象的引用, "jQuery"是核心对象 DOM对象 根据id属性获取DOM对象 document.getElementById("id属性值"); 如果元素存在那么直接获取dom对象,如果元素不存在,值为null Jqu...

2022-04-15 19:42:49 1020

原创 JavaScript之BOM与DOM操作

事件 DOM对象 BOM对象 表单

2022-04-14 22:05:30 98

原创 JavaScript

基础用法javascript 1.行内js 直接定义在标签中 2.内部js 建议定义在head标签中或者body标签的最后,编写在script标签中 <script type="text/javascript"> console....

2022-04-12 19:23:57 98

原创 HTML与CSS

HTML 基本语法 标签 单标签 <br/>换行 <hr/> 水平线 属性 align 内容展示的方式 size width 双标签 <title>…...

2022-04-11 21:56:37 193

原创 Mybatis环境搭建

主文件<?xml version="1.0" encoding="UTF-8" ?> <!--版本声明--><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><!--根元素--><configuration> ...

2022-04-08 22:25:09 353

原创 JDBC-笔记

JDBC(JavaDataBase Connectivity)就是Java数据库连接,就是用JAVA语言操作数据库JDBC基本流程: 1.加载驱动(选择数据库) 2.获取连接(与数据库建立连接) 3.准备SQL 4.构建处理块(封装发送SQL) 5.发送SQL,得到结果 6.处理结果 7.连接关闭public class Class001_JDBC { public static...

2022-04-07 19:45:50 50

原创 Oracle 数据库(下)

表连接当我们获取的数据不是来自于同一张表而是来自于多张表时就需要使用到表连接表连接(92)select * from emp , dept;select ename , dname from emp , dept;select ename, dname, e.deptno from emp e, dept d;表连接(99)交叉连接 cross join --->笛卡尔积 自然连接(主外键、同名列) natural join -->等值连接 oin using连接(

2022-04-07 10:10:11 129

原创 Oracle数据库

数据库划分为关系型数据库和非关系型数据库。Oracle 数据库系统是目前世界上流行的关系数 据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高 效率、可靠性好的适应高吞吐量的数据库解决方案。命令分类操作:--注释/* 多行注释*/字符串:' '字符串拼接: ||查询一张表中的所有数据的所有字段 select * from 数据源;查询语法 : select 查询的数据(*|字段名|字段1,字段 2...|伪列) from 数据...

2022-04-05 20:00:59 1054

原创 JAVA-设计模式

什么是设计模式?是前辈们对代码开发经验的总结,是解决特定问题的一系列套路。它不是 语法规定,而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案。单例模式: 在有些系统中,为了节省内存资源、保证数据内容的一致性,对某些类要求只能创建一个实例,这就是所谓的单例模式。 懒汉式 : 在调用功能时才创建对象 ->线程不安全|不同步的 饿汉式 : 在类加载完成之后就创建对象->线程安全的|同步的 步骤: 1....

2022-03-31 14:52:24 222

原创 正则表达式与XML

正则表达式: 了解 用正则的语法来描述具有特殊规则字符串 是一个门语言,具有自己的语法 作用: 查找,匹配,校验,分隔... java中使用正则 1.String类中一些支持正则表达式语法的方法 String[] split(String regex) 将此字符串拆分为给定 regular expression的匹配 项 。 String ...

2022-03-29 19:57:43 1236

原创 JAVA-反射与注解

反射 : 动态机制 Java反射机制,可以实现以下功能: ①在运行时判断任意一个对象所属的类; ②在运行时构造任意一个类的对象; ③在运行时判断任意一个类所具有的成员变量和方法; ④在运行时调用任意一个对象的方法; ⑤生成动态代理;发生在程序运行期间反射的源头Class类型的对象反射的源头 : Class<T> : 类类实例表示正在运行的Java应用程序中的类和接口。Clas...

2022-03-28 19:22:44 75

原创 JAVA-网络编程

网络编程 : IP : 定义节点 端口 : 区分软件 URL : 统一资源定位符 协议 : 标准,规范,规则,合同 传输层协议 : 互联网中传输数据需要满足传输层协议 UDP : 相当于写信, 只管写只管邮,协议简单,效率高 不安全 大小限制 TCP : 相当于打电话, 安全,没有大小限制 ***** 网页编程 : 注重的是上层的应...

2022-03-27 13:55:16 325

原创 JAVA-线程

多线程: 多任务执行,多路径执行 优点: 提高性能 提高效率 进程与线程之间的区别: 进程 : 系统中的程序,一个进程之间可以包含1~n个线程,系统中资源分配的最小单位,每个进程都有自己的代码与数据空间,进程之间的切换开销较大 线程 : 程序中的顺序流,线程是cpu调度与执行的最小单位,多个线程之间共享进程的代码和数据空间,每一个线程都有自己的程序计数器运行栈,线程之间切换开销较小 一个cpu同一时刻只能调度一...

2022-03-26 11:40:53 47

原创 Stream流

函数式接口 : 只有一个必须被重写的抽象方法的接口@FunctionalInterface 注解强制检测是否为函数式接口java.util.function 包下提供了一系列的函数式接口 四大内置函数式接口 : Consumer<T> 消费型接口 void accept(T t) 对给定的参数执行此操作。 Function<T,R> 函数型接口 ...

2022-03-24 23:31:39 124

原创 JAVA-集合(下)

HashMap : 基于哈希表的Map接口的实现。 此实现提供了所有可选的映射操作,并允许null值和null键。 HashSet 底层是由HashMap 底层结构 : 哈希表(数组+链表+红黑树) 哈希表: 数组 : 节点数组Node[] --> 要求数组的长度为2的整数次幂 Node : int hash,Object key,Object value,,Node next ...

2022-03-23 11:31:12 38

空空如也

空空如也

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

TA关注的人

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