自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Amazingjadewu

Amazingwu个人博客

  • 博客(72)
  • 资源 (4)
  • 收藏
  • 关注

原创 个人博客说明

  又开始弄些花里胡哨的东西了,去年用GitPage弄了一个个人博客,使用了一段时间之后,才深刻的明白为什么个人博客的时代过去了,个人博客像一个荒岛,真的很难引流,作为一个小白,在没有影响力的时候还是老老实实的在我们的CSDN大家庭学习分享新东西吧!但是这并不能阻挡我作的脚步~,最近新建了一个个人导航页amazingwu.top,愿我的孤岛能和世界搭建起桥梁。  此外想吐槽的是走出原创的脚步挺...

2018-04-06 19:58:21 704

原创 数据倾斜:row_number over优化(top数据倾斜)

场景求每个域名的top url,存在某几个域名的url数量过多(亿级别),导致整个任务的row_number() over 排序阶段出现长尾。优化思路row_number over 归根到底就是在域名分组的前提下进行全局排序,那么对该场景的问题进行抽象就是 全局排序如何优化。如果能在全局排序前先做一次局部排序,筛选出符合候选条件的候选项,再进行全局排序,将能有效的避免长尾。这让我想到了一个场景就是比赛机制,筛选出金银铜牌,从本质上是类似的,所以看看比赛的机制下,是如何做的,emm,其实就是分组,只是

2021-04-30 10:39:29 3564

原创 基于ip2region的ipv4&ipv6索引库生成方案

背景接触过ip库查询的人,可能都听说过ip2region这个开源的方案,其通过查询一些外部数据源形成自己的ip段信息,再通过生成索引库,从而提供ip信息的查账,可惜的是作者一直未提供Ipv6的查询方案,在ipv6越加重要的现在,着实有些可惜。所以今天来说下在Ip2region的基础上实现支持ipv6的实现方案。ip2region的原理ip2region分三个部分:源数据转变成ip2region db 文件的过程ip2region 的结构搜索方法此处跳过db文件生成的过程,只讲讲结构和搜索方

2020-12-21 10:42:31 2487 6

原创 如何基于高德的数据构建自己的GPS查询系统

在不少业务中可能都会用到GPS查询省市区的信息,因此今天来聊聊如何用高德的数据打造一份GPS定位到省市区的SDK高德能拿到什么样的数据https://lbs.amap.com/api/webservice/guide/api/district在高德的开发者平台上有一个行政区域查询接口,该接口能够查询区域的行政边界信息其中的polyline行政区域边界坐标点就是区域的围栏边界。一般查询city的话,会把所有的区域信息返回,个别情况除外,如部分区域没有城市,只有省,需要对省份信息检索。该接口通过关键

2020-12-18 14:07:04 545

原创 从GPS离散点统计活动圈子

背景数仓里面有一些IP和GPS共现的数据,希望从这些数据中汇总出IP的大致活动范围方案将IP的离散分布点聚合后,排除离群点,再对非离群点求得最小圆覆盖,考虑到同一个IP可能会在多个地方都有GPS分布,因此可能会有多个聚集点,在求最小圆覆盖前需要多GPS点分类,再对不同的类求最小覆盖圆。此外在计算最小覆盖圆时需要将GPS坐标投影到平面坐标上去,来计算距离。对GPS分类前,需要计算分为几类,可以先用层次聚类求得分为几个类,再用Kmeans来进行聚类。最小覆盖圆的算法网上可以搜索到一些,本文参考了 h

2020-12-01 10:07:23 352 1

原创 跨网络以及跨文件系统之间的文件同步

问题近期遇到以下问题:跨网络的Hadoop集群数据同步。背景因为一些安全性原因,内部在大集群之外搭建了一套网络隔离的Hadoop集群,而且需要从大集群同步数据到该网络隔离的Hadoop集群上去。在不存在网络问题的情况下,可以使用Distcp跨集群拷贝,但是因为网络的问题,Distcp就失效了。在起初,使用了Datax来实现数据的同步,但缺陷也比较明显:配置复杂,需要配置字段级的信息,而这种在文件拷贝的场景下其实是不需要的对文件的压缩格式要求很高无法支持hive的动态分区。此外,可能会有人

2020-07-09 15:53:46 652

原创 docker的container秒退问题处理

问题描述最近本地开发用的mysql docker容器挂了,原因是windows系统死机了(mmp),我强制关机了下,导致mysql实例拉不起来了,异常的原因大概是下面这样的:2017-11-15T11:44:46.562061+08:00 0 [ERROR] InnoDB: Ignoring the redo log due to missing MLOG_CHECKPOINT between the checkpoint 63593957 and the end 63593472.2017-11-1

2020-05-20 19:59:37 776

原创 徒手写一个简单的RPC框架

徒手撸一个简单的RPC框架RPC(远程过程调用)简单来说就是调用远程的服务就像调用本地方法一样,其中用到的知识有序列化和反序列化、动态代理、网络传输、动态加载、反射这些知识点。发现这些知识都了解一些。所以就想着试试自己实现一个简单的RPC框架,即巩固了基础的知识,也能更加深入的了解RPC原理。当然一个完整的RPC框架包含了许多的功能,例如服务的发现与治理,网关等等。本篇只是简单的实现了一个调用的...

2020-03-01 21:44:26 188

转载 Apache Spark DataSource V2 介绍及入门编程指南

Apache Spark DataSource V2 介绍及入门编程指南(1)Apache Spark DataSource V2 介绍及入门编程指南(2)

2019-11-15 15:59:42 609

原创 一种传统数仓中的数据源管理解决方案的构想

背景描述大数据+AI是时代的必然走向,很多企业已经初步或较为完整的建立了数据仓库,数仓能力是数据驱动的必要能力。日渐庞大的数据量,要求企业必须能够有效地管理自己拥有的数据,那围绕这个领域,很多公司或开源组织都有所尝试,典型的如数据血缘,而今天讨论的内容也是这个问题的一个子集。就一个企业而言,其使用的数据承载平台可能是多样化的。目前很多企业的数仓是以HDFS+Hive的技术栈来实现,并且其数据血...

2019-07-21 14:19:41 507

原创 java性能调优攻城利器-JMH

简介JMH即Java Microbenchmark Harness.是由开发JVM的那些大佬开发出的Micro Benchmark Framework.理论上支持各种在JVM上运行的语言。何为Micro Benchmark Framework?简单的说就是在方法级层面的benchmarck。通常来说,随着系统整体复杂性的不断提升,精准的衡量系统的一个单元的性能愈加困难(如单独进行测试系统的某个...

2019-06-12 17:25:32 649

原创 redis分布式锁

加锁代码如下:/** * @param key 要加锁的key * @param expireAt millis 加锁时间戳 * @return 加锁成功返回true */public boolean lock(String key, long expireAt) { long now = ensure(expireAt); Boolean open = re...

2019-04-17 15:36:21 121

原创 centos 二进制安装docker以及docker-compose

docker二进制方法安装以下命令都在root用户下查看内核版本uname -r版本越新的docker对内核的要求越高。但最低的内核版本不能低于3.2可以使用17.12.0-ce版本的docker,如果没有找到该版本,较高点也没有什么问题,对于17.xxx–18.03.1-ce的docker,3.10.0-957.10.1.el7.x86_64版本的内核是足够了下载二进制资源h...

2019-03-21 17:39:58 4065 2

原创 CronScheduledThreadPoolExecutor的实现

应该在不少场景中都会有这种需求,需要Java原生的ScheduleThreadPool支持Cron表达式来指定调度时间,为了满足这种需求,实现了CronScheduledThreadPool。在实现初,构想了下实现方案,最后觉得将Java8中的ScheduledThreadPoolExecutor进行拓展比较简单高效。那么如果按照这个方案实现会遇到哪些问题呢?

2019-03-17 19:44:10 989

原创 理解java双亲委派模式

双亲委派模式简介双亲委派模式的工作原理的是;如果一个类加载器收到了类加载请求,它并不会自己先去加载,而是把这个请求委托给父类的加载器去执行,如果父类加载器还存在其父类加载器,则进一步向上委托,依次递归,请求最终将到达顶层的启动类加载器,如果父类加载器可以完成类加载任务,就成功返回,倘若父类加载器无法完成此加载任务,子加载器才会尝试自己去加载,这就是双亲委派模式,即每个儿子都不愿意干活,每次有活...

2019-03-17 16:16:54 2718

原创 BTrace-Java应用的动态监控工具

引子最近看了美团的一篇文章Java动态追踪技术探究,产生了一种强烈的共鸣,卧槽,这也太炫酷了吧。好吧,各位看官请放下手中的屠刀,原谅我这个菜鸡。简介看到这里的,应该原谅我这个小菜鸡了,既然如此就来说说这个BTrace。BTrace github地址https://github.com/btraceio/btraceBTrace是Java的安全可靠的动态跟踪工具。 它的工作原理是通过...

2019-03-01 22:08:10 434

原创 统计学习方法课后习题

第2章 感知机2.1第三章 K近邻算法3.13.3第五章5.1第2章 感知机2.1模仿例题2.1,构建从训练数据求解感知机模型的例子。例题 2.1 的数据集如下:x = [3 3; 4 3; 1 1];y = [1; 1; -1];感知机的训练过程为:(1)选取初值w和b (2)从训练集中选取数据(xi,yi)(xi,...

2018-05-17 21:02:32 10416 3

原创 Hive order by、sort by、distribute by

ORDER BYHive中的ORDER By和其他的SQL中的定义时一样的,用于对查询结果进行一个统一的排序。在Hive中,该语句会将所有的数据都通过一个reducer进行处理,对于大数据集会是一个瓶颈。Hive中的order by语句有一些限制,在strict模式下(hive.mapred.mode=strict),order by语句后面需要跟上limit 语句,原因在于order b...

2018-04-13 15:58:19 601

原创 Hive Group By的实现原理

group by多字段select rank, isonline, count(*) from city group by rank, isonline;将GroupBy的字段组合为map的输出key值,利用MapReduce的排序,在reduce阶段保存LastKey区分不同的key。MapReduce的过程如下(当然这里只是说明Reduce端的非Hash聚合过程)group...

2018-04-09 15:13:18 6185 1

原创 Hive Join的实现原理

JOINhive执行引擎会将HQL“翻译”成为map-reduce任务,如果多张表使用同一列做join则将被翻译成一个reduce,否则将被翻译成多个map-reduce任务。如: hive执行引擎会将HQL“翻译”成为map-reduce任务,如果多张表使用同一列做join则将被翻译成一个reduce,否则将被翻译成多个map-reduce任务。 eg: SELECT a.val, b.va

2018-03-31 13:03:24 12280 7

原创 Hive DDL详解

OverViewHiveQL DDL statements are documented here, including: CREATE DATABASE/SCHEMA, TABLE, VIEW, FUNCTION, INDEXDROP DATABASE/SCHEMA, TABLE, VIEW, INDEX TRUNCATE TABLE ALTER DATABASE/SCH...

2018-03-30 12:05:37 1723

原创 netty 原理分析

之前在github上发现了一篇非常棒的 netty 原理说明,分享一下 netty 原理分析

2018-03-16 15:19:11 511

原创 spring-cloud系列-Eureka

一、Eureka介绍与使用服务注册与发现对于微服务系统来说非常重要。有了服务发现与注册,你就不需要整天改服务调用的配置文件了,你只需要使用服务的标识符,就可以访问到服务。代码可参考:https://github.com/amazingWu/Spring-Cloud-AG-Admin/tree/master/ace-center  服务注册管理器原理如下图所示:

2017-11-23 10:44:12 340

转载 极大似然估计和贝叶斯估计

极大似然概估计使用情况:模型已定,参数未知 f(x1,x2,...,xn|Θ) 假设所有采样独立同分布,f为模型,θ为模型参数 定义似然函数: L(Θ|x1,x2,...,xn)=f(x1,x2,...,xn|Θ) 使函数值最大化(对Θ取一阶导数)的Θ值就是 Θ的最大似然估计 求法: 因为独立同分布 L(Θ|x1,x2,...,xn)=f(x1,x2,...,x

2017-11-15 14:34:30 411

转载 机器学习--Hoeffding不等式--界定概率边界

转载自:https://www.tuicool.com/articles/yyu2AnM引入在上一小节 "理解为什么机器可以学习——PAC学习模型" 中,我们主要讨论了假设的错误率问题和如何说一个学习器是可学习的,并给出了PAC学习理论。这一小节,我们将沿着这个方向,讨论一下,有限假设空间的样本复杂度,并用Hoeffding不等式来界定概率边界。假设空间的样

2017-11-15 10:17:31 1651

转载 Zookeeper的leader选举

zookeeper提供了三种方式:LeaderElectionAuthFastLeaderElectionFastLeaderElection默认的算法是FastLeaderElection,所以这篇主要分析它的选举机制。节点状态: 每个集群中的节点都有一个状态 LOOKING, FOLLOWING, LEADING, OBSERVING。都属于这4种,每个节点

2017-10-17 21:59:41 361

转载 Spring 启动过程分析

要想很好理解这三个上下文的关系,需要先熟悉spring是怎样在web容器中启动起来的。spring的启动过程其实就是其IoC容器的启动过程,对于web程序,IoC容器启动过程即是建立上下文的过程。spring的启动过程:1. 首先,对于一个web应用,其部署在web容器中,web容器提供其一个全局的上下文环境,这个上下文就是ServletContext,其为后面

2017-10-17 15:07:32 655

原创 Redis与memcached

上述技术基本上代表了当今在数据存储方面所有的实现方案,其中主要涉及到了普通关系型数据库(MySQL/PostgreSQL),NoSQL数据库(MongoDB),内存数据库(Redis),内存Cache(Memcached),我们现在需要的是对大数据表仍保持高效的查询速度,普通关系型数据库是无法满足的。而MongoDB其实只是一种非关系型数据库,其优势在于可以存储海量数据,具备强大的查询功能,因此不

2017-09-05 22:16:31 288

原创 pipline

云数据库 Redis 版提供了与 Redis 相同的管道传输(pipeline)机制。管道(pipeline)将客户端 client 与服务器端的交互明确划分为单向的发送请求(Send Request)和接收响应(Receive Response):用户可以将多个操作连续发给服务器,但在此期间服务器端并不对每个操作命令发送响应数据;全部请求发送完毕后用户关闭请求,开始接收响应获取每个操作命令的响应结

2017-09-04 15:01:02 645

转载 Hadoop 2.x 架构

Hadoop2.0产生背景一、Hadoop 1.0中HDFS和MapReduce在高可用、扩展性等方面存在问题1、HDFS存在问题NameNode单点故障,难以应用于在线场景NameNode压力过大,且内存受限,影响系统可扩展性2、MapReduce存在的问题JobTracker访问压力大,影响系统可扩展性难以支持除MapReduce计算框架之外的计算框架、比如spar

2017-08-31 14:53:32 1550

转载 ConcurrentHashMap总结

本文转载自:https://my.oschina.net/hosee/blog/675884并发编程实践中,ConcurrentHashMap是一个经常被使用的数据结构,相比于Hashtable以及Collections.synchronizedMap(),ConcurrentHashMap在线程安全的基础上提供了更好的写并发能力,但同时降低了对读一致性的要求(这点好像CAP理论啊 O(∩_∩

2017-08-20 20:41:15 240

原创 Mysql 引擎

1. 常用的两个引擎Innodb引擎Innodb引擎提供了对数据库ACID事务的支持。并且还提供了行级锁和外键的约束。它的设计的目标就是处理大数据容量的数据库系统。它本身实际上是基于Mysql后台的完整的系统。Mysql运行的时候,Innodb会在内存中建立缓冲池,用于缓冲数据和索引。但是,该引擎是不支持全文搜索的。同时,启动也比较的慢,它是不会保存表的行数的。当进行Select count(*)

2017-08-13 15:00:47 278

原创 编程—回文序列

如果一个数字序列逆置之后跟原序列是一样的就称这样的数字序列为回文序列。例如: {1, 2, 1}, {15, 78, 78, 15} , {112} 是回文序列, {1, 2, 2}, {15, 78, 87, 51} ,{112, 2, 11} 不是回文序列。 现在给出一个数字序列,允许使用一种转换操作: 选择任意两个相邻的数,然后从序列移除这两个数,并用这两个数字的和插入

2017-08-13 13:53:57 435

转载 Java HashMap死循环分析

一.引言我们在平时的Java代码中经常会用到HashMap这个结构,JDK的官方文档上描述这个结构是非线程安全的,就是说在并发的情况下,HashMap的操作可能不是我们想要的。为了避免并发造成的影响,我们推荐在代码使用ConcurrentMap。一个经常被讨论的问题就是HashMap在高并发的情况下面,使用get方法就会出现死循环,导致应用的load彪高,此时重启应用,一切都会正常。记得在

2017-08-13 13:37:47 1507

原创 NodeManager节点自身健康状态检测机制

每个 NodeManager 节点内置提供了检测自身健康状态的机制(详情参见NodeHealthCheckerService);通过这种机制,NodeManager 会将诊断出来的监控状态通过心跳机制汇报给 ResourceManager,然后ResourceManager 端会通过RMNodeEventType.STATUS_UPDATE 更新 NodeManager 的状态;如果此时的 Node

2017-08-06 14:57:22 3420

转载 NodeManager生命周期介绍

ResourceManager 内维护了 NodeManager 的生命周期;对于每个 NodeManager 在 ResourceManager 中都有一个 RMNode 与其对应;除了 RMNode ,ResourceManager 中还定义了 NodeManager 的状态(states)以及触发状态转移的事件(event)。具体如下:org.apache.hadoop.yarn.serve

2017-08-06 14:37:56 330

转载 深入解析Java反射

什么是反射?反射(Reflection)是Java 程序开发语言的特征之一,它允许运行中的 Java 程序获取自身的信息,并且可以操作类或对象的内部属性。 Oracle官方对反射的解释是  Reflection enables Java code to discover information about the fields, methods and constructors of load

2017-08-05 17:09:12 341

转载 深入Java集合学习系列:HashMap的实现原理

1.    HashMap概述:   HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 2.    HashMap的数据结构:   在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本

2017-08-05 13:51:49 271

原创 java容器类总结

1. Java 容器分类图简略图: 详细图: 2. 具体容器类2.1概括1)collection: ArrayList,LinkedLsit,Vector,Stack        TreeSet,HashSet,LinkedHashSet 2) Map:    HashMap,LinkedHashMap,WeakHashMap, TreeMap, HashTable, Identit

2017-08-05 12:48:24 326

转载 浅谈分布式消息技术 Kafka

Kafka的基本介绍Kafka是最初由Linkedin公司开发,是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx日志、访问日志,消息服务等等,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。主要应用场景是:日志收集系统和消息系统。Kafka主要设计目标

2017-08-05 10:41:08 773 1

fastdfs-client-java-1.25.jar

fastdfs-client-java-1.25.jar

2017-08-07

datingTestSet2.txt

机器学习实战knn需要的训练集

2017-06-23

c#天气预报

vs2015开发环境,如果不兼容参考源码即可

2016-01-26

数据结构之多项式相加

数据结构之多项式相加,用vs2013编译

2014-03-24

空空如也

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

TA关注的人

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