自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数仓常问的问题

数据仓库的分层提高数据的复用性规范数据分层,通过的中间层数据,能够减少极大的重复计算,增加一次计算结果的复用性。数仓中常见的的是粒度和维度,维度的组合就是指标ods 、 dwd 、 dws 、 ads星型模型和雪花模型星座模型、维度冗余及三范式星型模型主要的数据都是在事实表中,只要扫描事实表就能进行大量的查询,不必精细大量的join 时间维度,商品维度雪花模型某些维度是规范化的,把数据进一步分解到附加表中,数据冗余少,但是需要多张表的join导致查询的效率下降。接近三范式星座

2021-06-01 18:34:09 652 2

原创 sql的一些常用的函数

日期函数select REPLACE(‘abcdefghabc’,‘abc’,‘xxx’)-把abc替换成xxx时间戳转日期 from_unixtime(),unix_timestamp(‘2020-08-07’,‘yyyymmdd’)20200820--->2020-08-20 转化select from_unixtime(unix_timestamp('2020-08-07','yyyymmdd'),'yyyy-mm-dd'))条件函数if(score > 60,1,0)

2021-06-01 17:50:34 133

原创 sql的优化语句(数据倾斜的情况)

sql的优化**分为业务和架构的两个方面****reduce阶段的每个分区一个reduce、对key做hash分区的时候,如果key的数量很多,那么把热点数据分发到一个reduce中进行处理。比如用Hive算数据的时候reduce阶段卡在99.99%用SparkStreaming做实时算法时候,一直会有executor出现OOM的错误,但是其余的executor内存使用率却很低。**架构上MapJoin把小表全部加载到内存在map端进行join,避免reducer处理默认25兆hive.

2021-06-01 17:38:47 1183

原创 几种排序算法小结

1、冒泡排序需要比较n-1次,每次从下到上比较,如果大于就交换,每一次确定一个最小的数在最上面,优化就是如果没有发生交换说明已经有序,就停止元素比较的次数为:(N-1)+(N-2)+(N-3)+…+2+1=((N-1)+1)(N-1)/2=N^2/2-N/2;元素交换的次数为:(N-1)+(N-2)+(N-3)+…+2+1=((N-1)+1)(N-1)/2=N^2/2-N/2;总执行次数为:(N2/2-N/2)+(N2/2-N/2)=N^2-N;按照大O推导法则,保留函数中的最高阶项那么最

2020-08-16 18:02:31 117

原创 hql的一些经典案例

数据插入insert into table student partition(month=‘201709’)values(1,‘wangwu’); insert overwrite table studentpartition(month=‘201708’)select id, name from student where month=‘201709’;数据导出Insert 导出insert overwrite local directory ‘/opt/module/data

2020-08-15 19:12:26 192

原创 sparksql 和HQL的小结

sparksql 和HSQL的一些总结需求:将下面的经纬计算geohash值,格式为 xx省xx市xx县,并写入mysql中安徽省,34,000,1,117.123232,32.112345阜阳市,341,34,2,117.123555,32.112444阜南县,3412,341,3,117.123666,32.112777+----------+---------+--------+--------+----+| lng| lat|province|distinct

2020-08-15 19:11:06 1028 1

原创 shuffle机制

HDFS 的三个组成:shuffle的机制系统执行排序,将map的输出作为初入传给reduce的过程,他是发生在map之后reduce之前每个map有一个环形内存缓冲区,用于存储任务的输出。默认大小100MB(io.sort.mb属性),一旦达到阀值0.8(io.sort.spill.percent),一个后台线程把内容写到(spill)磁盘的指定目录(mapred.local.dir)下的新建的一个溢出写文件。写磁盘前,要partition,sort。如果有combiner,combin

2020-06-27 20:03:23 139

原创 单例设计模式

单例设计模式:是内存中只存在一个对象public class SingletonDemo{ public static void main(String[] args) { //单例设计模式:是内存中只存在一个对象 Singleton s1 = Singleton.getSingleton(); Singleton s2 = Singleton.getSingleton(); System.out.println(s1 == s2);

2020-06-16 16:58:06 65

原创 Spring第一天

spring是分层的 Java SE/EE 应用 full-stack 轻量级开源框架,以 IoC(Inverse Of Control:反转控制)和 AOP(Aspect Oriented Programming:面向切面编程)为内核,提供了展现层 Spring MVC 和持久层 Spring JDBC以及业务层事务管理等众多的企业级应用技术,还能整合开源世界众多著名的第三方框架和类库ioc的作用就是降低程序间的耦合度工厂模式解耦。在实际开发中我们可以把三层的对象都使用配置文件配置起来,当启动服务器.

2020-06-16 16:51:49 94

原创 mybits的一些细节

mybits的一些细节<insert id="saveUser" parameterType="com.huang.domain.User">insert into user(username,birthday,sex,address) values(#{username},#{birthday},#{sex},#{address})</insert>`parameterType 属性: 代表参数的类型,因为我们要传入的是一个类的对象,所以类型就写类的全名称。 sql

2020-06-12 17:09:37 105

原创 Mybits

Mybits的xml配置.创建maven工程创建实体类编写持久层接口 UserDao 4. `package com.huang.dao;import com.huang.domain.QueryVo;import com.huang.domain.User;import java.util.List;public interface UserDao { /** * 查询所有 * @return */ public List<Us

2020-06-12 16:54:38 1233

原创 广度优先搜索算法

广度优先搜索广度优先搜索解决两个问题:第一类问题:从节点A出发,有前往节点B的路径吗?第二类问题:从节点A出发,前往节点B的哪条路径最短?假设你经营着一个芒果农场,需要寻找芒果销售商,以便将芒果卖给他。在Facebook,你与芒果销售商有联系吗?为此,你可在朋友中查找。这样一来,你不仅在朋友中查找,还在朋友的朋友中查找。别忘了,你的目标是在你的人际关系网中找到一位芒果销售商。因此,如果Alice不是芒果销售商,就将其朋友也加入到名单中。这意味着你将在她的朋友、朋友的朋友等中查找。使用这种算法将搜遍

2020-05-24 19:45:58 282

原创 java异常

异常的继承体系Throwable* Error * Exception* RuntimeExceptionA:JVM默认是如何处理异常的* main函数收到这个问题时,有两种处理方式:* a:自己将该问题处理,然后继续运行* b:自己没有针对的处理方式,只有交给调用main的jvm来处理* jvm有一个默认的异常处理机制,就将该异常进行处理.* 并将该异常的名称,异常的信息.异...

2020-04-16 15:36:16 132

原创 递归

键盘输入文件夹路径,计算文件夹大小package com.huang.digui;import java.io.File;import java.util.Scanner;public class Test1 {public static void main(String[] args) { //获取文件夹的大小 File dir = getFile(); long len = g...

2020-04-11 12:40:23 71

原创 java知识

多线程Java语言内置了多线程支持:一个Java程序实际上是一个JVM进程,JVM进程用一个主线程来执行main()方法,在main()方法内部,我们又可以启动多个线程。此外,JVM还有负责垃圾回收的其他工作线程等。因此,对于大多数Java程序来说,我们说多任务,实际上是说如何使用多线程实现多任务。和单线程相比,多线程编程的特点在于:多线程经常需要读写共享数据,并且需要同步。例如,播放电影时...

2020-04-11 12:24:41 68

空空如也

空空如也

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

TA关注的人

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