- 博客(47)
- 收藏
- 关注
原创 leetcode
2使用hash表存储nums[i],每次遍历到一个元素,检索hash表中是否有target-nums[i],如果有则返回该匹配的结果,否则将其放入hash表中。时间复杂度为O(n),空间复杂度为O(n)。判断某个值存不存在,一般都有空间换时间的替代解法,使用hashMap,set等。1遍历数组,向后查找是否有与当前下标数和为target的。这题关键点是确定起点和计算方向,起点是最低的点,计算方向是按照高度增加。给定一个nums数组,请重新排列每个数的顺序,使得其排列组成一个最大的数。还有处理00这种情况。
2023-12-12 16:25:29
272
原创 0922 理论知识
# 0922 理论知识## hive overwrite 动静态分区```#静态分区insert overwrite table dwt_test partition(dt='2022-09-22', part='2')select id,dt,part from dws_test#动态分区insert overwrite table dwt_test partition(dt=dt, part=part)select id,dt,part from dws_test#动静结合ins
2022-09-24 18:30:06
887
原创 0915 算法题
[TOCS]# 0915 算法题## 重建二叉树>左子树长度为i-1,左闭右开就是i,i为根节点在中序遍历中的位置。左子树确定后,右子树的下标位置也就确定了。>root.left=reConstructBinaryTree(Arrays.copyOfRange(pre,1,1+i),Arrays.copyOfRange(vin,0,i));>root.right=reConstructBinaryTree(Arrays.copyOfRange(pre,i+1,m),Arrays.copyOfRan
2022-09-17 19:31:44
268
原创 0913 理论知识,项目
[TOC]# 0913 理论知识,项目## 提交模式yarn client ,yarn cluster>提交模式决定了应用和任务的运行方式。Yarn Client 用于监控Driver模块在客户端执行,而不是在Yarn中,过程如下;>1Driver在提交的本地机器启动>2Driver会与ResourceManager通讯申请启动ApplicationMaster>3ResourceManager分配contaienr,在正确的NodeManager上启动ApplicationMaster,负责
2022-09-17 18:05:54
474
原创 0914 算法题
给定一个nums数组,请重新排列每个数的顺序,使得其排列组成一个最大的数>主要熟悉冒泡排序、String的compareTo函数,它是从高位到低位逐位比较大小。>还有处理00这种情况
2022-09-16 11:57:38
164
原创 Flink connector,java对象传输到kafka序列化与反序列化
### Flink connector,java对象传输到kafka序列化与反序列化>当dwd层完成计算后,需要将数据写入kafka,然后再由dws从kafka读出该数据,进一步统计。在使用java编写flink程序时,这些数据就是用java对象表示和操作的。所以Flink如何将java对象数据写入kafka,以及如何读出,需要我们自己实现序列化和反序列化方法。通过实现org.apache.flink.api.common.serialization.SerializationSchema接口,我们可以定
2022-09-07 21:08:58
1238
原创 Imooc spark解析日志
Imooc[TOC]# Imooc>使用Spark SQL分析Imooc访问日志,数据以日志文件形式提供,共一千万条访问日志,5G数据量。>主要完成如下指标统计:>1.某天最后欢迎的TopN课程>2.某天各个省市各自的TopN课程>3.按照流量统计TopN课程>4.某天最受欢迎的文章>5.某天进行code最多的课程>6.某天最勤奋的IP>在使用spark开发时,可以以shell脚本形式编写sql进行数据处理,也可以使用scala借助rdd,table sql等处理数据,对于实时数仓也要
2022-08-11 16:22:06
335
原创 awk shell 用法
## awk>awk是一种文本文件处理语言,名字来源于创始人名字缩写首字符。>awk读取输入文件的每一行,并匹配处理该行的数据。
2022-08-03 15:39:45
57
原创 数据仓库工具箱 第10节 金融服务
>金融服务涉及各行业,如信用卡公司,抵押贷款提供商等,日常接触的零售银行。一家银行提供广泛的产品,包括活期存款,储蓄账户,按揭贷款,个人贷款,信用卡以及银行贵重物品保险箱等。>主要讨论如下概念:>银行总线矩阵片段>对维度进行分类以避免维度太少的陷阱>家庭维度>用一个账户关联多个客户的桥接表,以及权重因子。>报表的动态范围值实时...
2022-08-03 14:24:10
132
原创 数据质量监控
>数据质量监控用于检测数据仓库的数据量,数据范围等是否在正常范围内,是否出现了异常的数据,如果出现异常的数据需要告警,并提醒开发人员。主要目标是产生可靠的数据,提升数据在使用中的价值。...
2022-08-01 12:31:12
1050
原创 Java Annotation
元注解就是定义注解的注解,(注解是由我们定义的,元注解是基础。就像person这个类使我们定义的,但是class是"元类")注解是java5开始的,可以用于包,类,方法,变量等,比如常见的@Override>java设计者已经为我们自定义了几个常用的注解,我们称之为系统注解,主要是这三个:>@Override 用于修饰方法,表示此方法重写了父类方法@Deprecated 用于修饰方法,表示此方法已经过时@SuppressWarnnings 该注解用于告诉编译器忽视某类编译警告...
2022-07-25 14:19:49
103
原创 线程池ThreadPool
使用Executors来创建线程池,失去了线程池的灵活性,而且存在隐患,可能导致资源耗尽。 但是:在开发中不允许使用Executors去创建线程池,而是通过ThreadPoolExecutor的方式,这样可以避免资源耗尽的风险。原因是: FixedThreadPool和SingleThreadPool:允许的请求队列长度为Integer.MAX_VALUE,可能会堆积大量的请求,从而导致OOM。 CachedThreadPool和ScheduledThreadPool:允许的创建线程数量为Integer.M
2022-07-23 15:37:16
99
原创 maxwell canal
canal伪装成Slave,从master读取binlog,复制数据。canal只能抓取新数据,对于已经存在的数据没有办法。而maxwell提供了bootstrap功能,可以直接引导出整个完整的历史数据用于初始化,很好用。maxwell更轻量级。Master主库改变记录,写入到二进制日志binary log中。 Slave从库向mysql master发送dump 协议,将master主库的binary log events拷贝到它的中继日志relay log Slave从库读取并重做中继日志的事件,把数据
2022-07-21 09:46:08
577
原创 nginx理论
nginx是一款轻量级的web服务器、反向代理服务器。经常用来处理前端资源,并代理后端程序。正向代理代理的是请求者、客户端,反向代理代理的是服务器、服务端,代理了谁,隐藏了谁。优点:它占用内存少、启动快、高并发能力强。如何做到高并发的,nginx的work数目与cpu绑定,可以启动多个worker。...
2022-06-24 10:59:41
489
原创 搭建docker可视化
由于集群在内网,无法展示效果,且处于安全等因素考虑,不搭建内网穿透。所以,将可视化的模块从庞大的数仓集群独立出来,在个人电脑上使用docker搭建一个小服务,对外开放。只保留关键的ads数据库、后端、前段可视化展示。包括如下服务:es,mysql,superset。为了方便管理这些零散的服务,使用docker-compose将其制作成镜像。服务搭建完成后,进行数据导入。mysql的数据用navicate导出为sql,再导入docker中的新数据库。elasticsearch借助logstash导
2022-06-23 12:18:07
607
原创 Docker离线环境使用
由于某些情况,在部署环境无法连接到互联网,那么docker就无法在线拉取镜像,并且DockerFile中编写的apt命令、pip命令等网络请求都会无法工作,导致镜像无法构建。
2022-06-23 10:50:08
1209
原创 Elasticsearch基本数据类型
Elasticsearch基本数据类型数值类型字符类型stringtextkeyword日期复合类型array地理类型geo_pointMapping设计原则动态映射自定义类型检查显示映射运行时字段数值类型,字符类型,布尔类型,日期类型,复合类型,地理类型主要类型:text,keyword,boolean,byte,short,integer,long数值类型byte,short,integer,long,这四个整数类型对应1,2,4,8个字节,每个字节8位,都是有符号整数。float,do
2022-05-09 15:22:35
760
原创 Log4j用法
Log4j用法组件rootLoggerappender日志级别appender类别layout布局org.apache.log4j.PatternLayout(可以灵活地指定布局模式)示例要控制输出什么信息(从哪个类),什么级别(四个常用级别),输出到哪里(文件还是控制台)即输出级别,输出appenderhttps://cloud.tencent.com/developer/article/1455713组件rootLogger#如下定义了一个rootLogger,rootLogger用于指
2022-05-09 10:41:07
99
原创 JVM理论知识
文章目录自动内存管理java内存区域与内存溢出异常运行时数据区域Program Counter RegisterJava Virtual Machine StackNative method StackJava 堆Method area直接内存垃圾收集器和内存分配策略那些对象需要回收?引用计数法可达性分析引用分类两次标记回收方法区什么时候回收?如何回收?heap的内存划分1.标记-清除算法2.标记-复制算法3.标记-整理算法4.分代收集算法代码如何产生不可达变量改变对象引用,置为null或指向其他对象。超出
2022-04-06 17:32:13
803
1
原创 并发编程基础
文章目录并发编程基础线程状态NEWRUNNABLEBLOCKEDWAITINGTIMED_WAITINGTERMINATED中断线程守护线程未捕获异常的处理器锁对象sychronized关键字条件对象volatile字段并发编程基础线程状态java中的线程状态分为6种。1初始NEW:新创建一个对象,还没有start()2RUNNABLE:java线程中将ready和running统称为可运行,这表示这个线程具备运行的条件,但是可能在ready状态,也可能在running状态。3BLOCKED:
2022-04-03 20:24:23
451
原创 Zookeeper理论知识
文章目录基本架构数据结构应用场景统一·配置服务统一集群管理服务器结点动态上下线软负载均衡选举机制myidSIDZXIDEpochZookeeper选举机制-第一次启动Zookeeper选举机制-非第一次启动结点类型监听器原理Paxos算法Prepare阶段Accept接受阶段Learn阶段zk如何保证数据一致性集群结点信息分布式独享锁分布式队列相关链接ZooKeeper是一个分布式的分布式应用程序协调服务,为分布式服务提供一致性服务。目的:ZooKeeper目标是封装好易出错且复杂的关键服务,直接提供
2022-04-02 17:06:20
2151
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人