自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(108)
  • 资源 (2)
  • 收藏
  • 关注

原创 oracle存储过程调试

4、出现调试操作按钮界面(依次:运行 单步进入 单步跳过 单步退出 运行到下一个异常)5、点击运行,直接获取存储过程的返回结果,点击单步进入,点击左边,进行断点调试(已进入函数方法中)oracle如果存储过程比较复杂,我们要定位到错误就比较困难,那么可以存储过程的调试功能。先按简单的存储过程做个例子,就是上次做的存储过程(proc_test)3、出现测试脚本页面,输入动态参数值,点击左上角的标志,进入调式模式。2、选中存储过程,右键弹出菜单,选择 测试。7、最后执行完存储过程,输出结果。

2023-08-23 13:52:04 2299 1

原创 count(1) count(*) count(列名)的区别

1. count(1) and count(*)从执行计划来看,count(1)和count(*)的效果是一样的。当表的数据量大些时,对表作分析之后,使用count(1)还要比使用count(*)用时多!当数据量在1W以内时,count(1)会比count(*)的用时少些,不过也差不了多少。如果count(1)是聚集索引时,那肯定是count(1)快,但是差的很小。因为count(*),会自动优化指定到那一个字段。所以没必要去count(1),使用count(*),sq...

2022-07-27 14:27:54 253 1

原创 Teradata SQL 线性回归函数

线性回归函数

2022-07-17 17:23:28 601

原创 Teradata SQL 日期

Teradata sql

2022-07-16 19:24:45 306

原创 Teradata SQL 22.7.13

teradata sql

2022-07-14 11:40:44 671

原创 Oracle

orcale学习

2022-07-08 18:06:21 282

原创 .gitignore文件java项目

# Compiled class file*.class# Eclipse.project.classpath.settings/# Intellij*.ipr*.iml*.iws.idea/# Maventarget/# Gradlebuild.gradle# Log file*.loglog/# out**/out/# Mac.DS_Store# others*.jar*.war*.zip*.tar*.tar.gz*.pid*.

2022-04-27 14:58:53 626

原创 SpringSecurity

SpringSecurity认识SpringSecuritySpring Security 是针对Spring项目的安全框架,也是Spring Boot底层安全模块默认的技术选型,他可以实现强大的Web安全控制,对于安全控制,我们仅需要引入 spring-boot-starter-security 模块,进行少量的配置,即可实现强大的安全管理!记住几个类:WebSecurityConfigurerAdapter:自定义Security策略AuthenticationManagerBuilder:

2022-04-25 10:56:36 147

原创 Docker发布自己镜像报错denied: requested access to the resource is denied

将自定义镜像上传docker hub

2022-04-22 09:04:26 1019

原创 Docker最全学习笔记

目录一、Docker概述1.1、Docker为什么出现?1.2、Dcoker的历史1.3、Docker能做什么?1.4、DevOps(开发、运维)二、安装2.1、Docker的基本组成2.2、安装Docker2.3、阿里云镜像加速2.4、底层原理三、Docker的常用命令3.1、帮助命令3.2、镜像命令3.3、容器命令3.4、常用其他命令四、小结练习Docker可视化五、Docker镜像讲解5.1、镜像是什么5.2、Do

2022-04-20 11:26:23 643

原创 一千行MySQL学习笔记

MySQL学习笔记!纯干货,拿去用!

2022-04-19 11:49:08 104

原创 Sqoop 导入、导出数据

一、将MySQL数据导入到hdfs1.在hdfs创建文件夹存放数据hdfs dfs -mkdir -p /data/base  #用于存放数据2.我们cd到sqoop目录下执行命令drop table if exists default.hive_zhaopin_snappy ;  #如果存在就先删除create table default.hive_zhaopin_snappy(id int,jobname string,salarylevel string)ROW FO

2022-02-23 14:05:38 989

原创 Flink Sink之JDBC

5.7.3 JDBC自定义sinkFlink之Mysql数据JDBC Connector <= 官方目前没有专门针对MySQL的,我们自己实现就好了这里测试的是连接MySQL。pom依赖(我本地docker里的mysql是8.0.19版本的)<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --><dependency> <groupId>mysql&lt

2022-01-22 20:31:23 2734

原创 Flink Sink之Redis

5.7.2 Redisflink-connector-redis查询Flink连接器,最简单的就是查询关键字flink-connector-这里将Redis当作sink的输出对象。 1. pom依赖<!-- Flink 和 redis 连接--> <!-- https://mvnrepository.com/artifact/org.apache.bahir/flink-connector-redis --> <d

2022-01-22 20:30:38 1933

原创 Flink Sink之Kafka

Flink之流处理API之SinkFlink没有类似于spark中foreach方法,让用户进行迭代的操作。虽有对外的输出操作都要利用Sink完成。最后通过类似如下方式完成整个任务最终输出操作。stream.addSink(new MySink(xxxx)) 官方提供了一部分的框架的sink。除此以外,需要用户自定义实现sink。5.7.1 Kafkapom依赖<dependency> <groupId>org.apache.flink</gro.

2022-01-22 20:29:19 833

原创 Flink数据重分区操作

重分区操作,在DataStream类中可以看到很多Partitioner字眼的类。其中partitionCustom(...)方法用于自定义重分区。java代码:package apitest.transform;import apitest.beans.SensorReading;import org.apache.flink.streaming.api.datastream.DataStream;import org.apache.flink.streaming.api.environme

2022-01-22 20:28:10 950

原创 Flink实现UDF函数之富函数

5.5.3 富函数(Rich Functions)“富函数”是DataStream API提供的一个函数类的接口,所有Flink函数类都有其Rich版本。它与常规函数的不同在于,可以获取运行环境的上下文,并拥有一些生命周期方法,所以可以实现更复杂的功能。RichMapFunctionRichFlatMapFunctionRichFilterFunction…Rich Function有一个生命周期的概念。典型的生命周期方法有:open()方法是rich function的初始化方法,当

2022-01-22 20:27:25 295

原创 Flink实现UDF函数

5.5.1 函数类(Function Classes)Flink暴露了所有UDF函数的接口(实现方式为接口或者抽象类)。例如MapFunction, FilterFunction, ProcessFunction等等。下面例子实现了FilterFunction接口:DataStream<String> flinkTweets = tweets.filter(new FlinkFilter()); public static class FlinkFilter implements Fil

2022-01-22 20:26:26 1029

原创 Flink支持的数据类型

5.4.1 基础数据类型Flink支持所有的Java和Scala基础数据类型,Int, Double, Long, String, …DataStream<Integer> numberStream = env.fromElements(1, 2, 3, 4);numberStream.map(data -> data * 2);5.4.2 Java和Scala元组(Tuples)java不像Scala天生支持元组Tuple类型,java的元组类型由Flink的包提供,

2022-01-22 19:48:12 283

原创 Flink任务调度原理

任务调度原理 客户端不是运行时和程序执行的一部分,但它用于准备并发送dataflow(JobGraph)给Master(JobManager),然后,客户端断开连接或者维持连接以等待接收计算结果。而Job Manager会产生一个执行图(Dataflow Graph) 当 Flink 集群启动后,首先会启动一个 JobManger 和一个或多个的 TaskManager。由 Client 提交任务给 JobManager,JobManager 再调度任务到各个 TaskManager 去

2022-01-21 19:24:12 784

原创 Flink提交作业流程

4.2 任务提交流程ps:上图中7.指TaskManager为JobManager提供slots,8.表示JobManager提交要在slots中执行的任务给TaskManager。上图是从一个较为高层级的视角来看应用中各组件的交互协作。如果部署的集群环境不同(例如YARN,Mesos,Kubernetes,standalone等),其中一些步骤可以被省略,或是有些组件会运行在同一个JVM进程中。具体地,如果我们将Flink集群部署到YARN上,那么就会有如下的提交流程: Fl

2022-01-21 19:23:07 272

原创 Flink部署——k8s模式

容器化部署时目前业界很流行的一项技术,基于Docker镜像运行能够让用户更加方便地对应用进行管理和运维。容器管理工具中最为流行的就是Kubernetes(k8s),而Flink也在最近的版本中支持了k8s部署模式。 搭建Kubernetes集群(略) 配置各组件的yaml文件 在k8s上构建Flink Session Cluster,需要将Flink集群的组件对应的docker镜像分别在k8s上启动,包括JobManager、TaskManager、JobManagerService三个

2022-01-21 19:21:57 1074

原创 Flink部署——yarn模式

以Yarn模式部署Flink任务时,要求Flink是有 Hadoop 支持的版本,Hadoop 环境需要保证版本在 2.2 以上,并且集群中安装有 HDFS 服务。3.2.1 Flink on YarnFlink提供了两种在yarn上运行的模式,分别为Session-Cluster和Per-Job-Cluster模式。1. Sesstion Cluster模式Session-Cluster 模式需要先启动集群,然后再提交作业,接着会向 yarn 申请一块空间后,资源永远保持不变。如果资源满了

2022-01-21 19:21:03 1575

原创 Flink部署——Standalone模式

3.1 Standalone模式 Flink 中每一个 TaskManager 都是一个JVM进程,它可能会在独立的线程上执行一个或多个 subtask 为了控制一个 TaskManager 能接收多少个 task, TaskManager 通过 task slot 来进行控制(一个 TaskManager 至少有一个 slot) 每个task slot表示TaskManager拥有资源的一个固定大小的子集。假如一个TaskManager有三个slot,那么它会将其管理的内存分成三

2022-01-21 19:19:23 4253

原创 Flink 快速上手——流式数据测试

2.3 流式数据源测试 通过nc -Lp <port>打开一个socket服务,用于模拟实时的流数据 nc -Lp 7777 代码修改inputStream的部分 package com.zch.flink;​import org.apache.flink.api.java.tuple.Tuple2;import org.apache.flink.api.java.utils.ParameterTool;import org.apache.flink.stre

2022-01-21 19:16:26 760

原创 Flink(一)入门

1. Flink的特点 事件驱动(Event-driven) 基于流处理 一切皆由流组成,离线数据是有界的流;实时数据是一个没有界限的流。(有界流、无界流) 分层API 越顶层越抽象,表达含义越简明,使用越方便 越底层越具体,表达能力越丰富,使用越灵活 1.1 Flink vs Spark Streaming 数据模型 Spark采用RDD模型,spark streaming的DStream实际上也就是一组组小批数据RDD的集

2022-01-21 19:15:16 550

原创 MapReduce on HBase(二)

自定义MapReduce on HBase

2022-01-14 19:55:36 348

原创 MapReduce on HBase(一)

1、自定义MapReduce目标:将集群上的 fruit.tsv 文件 通过编写 MapReduce程序,最终保存到HBase上的fruit表中注意:需要提前在HBase上把表创建好流程:1、编写Mapper类,将读取到的内容传到Reducer中package com.zch.hbase.mr1;​import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.Text;import org.apache

2022-01-14 19:53:36 475

原创 HBase(四)HBase原理

1、HBase读数据流程 Client 先访问 zookeeper,从 meta 表读取 region 的位置,然后读取 meta 表中的数据。meta中又存储了用户表的 region 信息; 根据 namespace、表名和 rowkey 在 meta 表中找到对应的 region 信息; 找到这个 region 对应的 regionserver; 查找对应的 region; 先从 MemStore 找数据,如果没有,再到 BlockCache .

2022-01-14 19:50:52 210

原创 MapReduce on HBase 遇到的问题

在本地运行mapReduce on HBase程序时,报错:org.apache.hadoop.yarn.api.records.LocalResource.setShouldBeUploadedToSharedCache(Z)V报错原因:由于maven导入的hbase-server或者hbase-client依赖中某些hadoop依赖版本与集群安装的hadoop版本不符合,比如,我在导入hbase依赖时,导入了hadoop的部分架包为2.5.2的jar包。解决办法: ...

2022-01-14 19:29:08 373

原创 HBase(三)Shell操作

1、基本操作hbase shell #进入客户端help #查看帮助list #查看当前数据库有哪些表2、表操作创建表hbase(main):001:0> create 'stu','info'插入数据hbase(main):003:0> put 'student','1001','info:sex','male'hbase(main):004:0> put 'student','1001','info:age','18'hbase(main):005

2022-01-12 20:27:28 71

原创 HBase安装可能遇到的问题

1、端口号配置不一致启动HBase时HBMaster自己停止,查看logs/hbase-root-master-hdp1.log发现原来是无法连接hdfs的9000端口,因为hbase-site.xml与hdfs-site.xml中的hdfs的端口号设置的不一致因为我在hbase-site.xml中配置的<property> <name>hbase.rootdir</name> <value>hdfs://zhaoh...

2022-01-12 20:23:46 1027

原创 HBase(二)安装Hbase

1、部署zookeeper和hadoop2、解压HBase解压HBase压缩包到 opt 目录下[root@zhaohui01 opt]# tar -zxvf hbase-1.3.1-bin.tar.gz3、修改配置文件1.hbase-env.shexport JAVA_HOME=/opt/jdk-1.8export HBASE_MANAGES_ZK=falseexport HBASE_PID_DIR=/opt/hbase-1.3.1/pids在 /opt/hbase-

2022-01-12 20:12:50 435

原创 HBase(一)概述

HBase 是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统1、特点1.海量存储2.列式存储这里的列式存储其实说的是列族存储,Hbase 是根据列族来存储数据的。列族下面可以有非常多的列,列族在创建表的时候就必须指定。3.易扩展4.高并发2、HBase架构从图中可以看出 Hbase 是由 Client、Zookeeper、Master、HRegionServer、HDFS 等几个组件组成,下面来介绍一下几个组件的相关功能:1)ClientClient .

2022-01-12 20:09:55 337

原创 Redis的缓存穿透与雪崩

Redis的缓存穿透与雪崩(面试高频,工作常用~)服务的高可用问题Redis缓存的使用,极大的提升了应用程序的性能和效率,特别是数据查询方面。但同时,它也带来了一些问题。其中,最要害的问题,就是数据一致性问题。从严格意义上讲,这个问题无解。如果对数据的一致性要求很高,那么就不能使用缓存。另外的一些典型问题就是,缓存穿透、缓存雪崩和缓存击穿。目前,业界也都有比较流行的解决方案。缓存穿透概念缓存穿透的概念很简单,用户想要查询一个数据,发现redis内存数据库没有,也就是缓存没有命

2022-01-11 10:49:47 199

原创 哨兵模式的优缺点

优点:1、哨兵集群,基于主从复制模式,所有的主从配置的优点,它都有。2、主从可以切换,故障可以转移,系统的可用性更好。3、哨兵模式就是主从模式的升级,手动到自动,更加健壮!缺点:1、Redis不好在线扩容,集群容量一旦达到上限,在线扩容就十分麻烦!2、实现哨兵模式的配置其实是很麻烦的,里面有很多选择!哨兵模式的全部配置完整的哨兵模式配置文件 sentinel.conf# Example sentinel.conf# 哨兵sentinel实例运行的端口 默认26379po

2022-01-11 10:48:41 2214

原创 Redis哨兵模式

哨兵模式

2022-01-11 10:45:20 285

原创 Redis主从复制

redis主从复制,伪集群模式

2022-01-11 10:15:00 461

原创 Redis发布/订阅模式

发布订阅模式

2022-01-11 09:00:00 107

原创 Redis(七)持久化

RDB(Redis DataBase)在指定时间间隔将内存中的数据集体快照写入磁盘,也就是行话讲的snapshot快照,它恢复时是将快照文件直接读到内存中。Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入一个临时文件中,待持久化过程结束后,再用这个临时文件替换上次持久化好的文件。整个过程中,主进程是不进行任何I/O操作的。这就确保了极高的性能。如果需要大规模数据的恢复,且对于数据恢复的完整性不是非常敏感,那RDB方式要比AOF方式更加高效。优点:1、适合大规模数据恢复。

2022-01-10 17:31:43 336

十月十二日份的java+大数据笔记

十月十二日份的java+大数据笔记

2021-10-12

利用html+css等语言在idea实现仿制QQ会员页面 .rar

适合新手小白

2021-09-17

空空如也

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

TA关注的人

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