自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

大JAVA解决方案

数据科学

  • 博客(1755)
  • 资源 (8)
  • 收藏
  • 关注

原创 Hive SQL控制map数和reduce数

在设置动态分区后,产生的文件数会取决于map数和分区数的大小,假设动态分区初始有N个map数,同时生成M个分区,则中间会生成N*M个文件,通常这种情况就是让大部分数据尽量输出到一个reduce中进行处理,但是有些HiveSql不会产生reduce,也就是说文件最后没有进行合并处理,这种情况下可以用distribute by rand()的方式保证数据进行一次reduce操作,实现文件的合并。备注:set设置的参数是生成的文件个数,distribute by rand()保证数据随机分配到50个文件中。

2023-06-06 13:39:30 428

转载 Flink入坑指南 第四章:SQL中的经典操作Group By+Agg

Group By + Agg这个最经典的SQL使用方式。Group By是SQL中最基础的分组操作,agg的全称是aggregation(聚合操作),是一类SQL的统称,Flink中最常用的Agg操作有COUNT/SUM/AVG等,详情参见。在实际使用中,Group By+Agg绝大部分场景下都会一起出现。作为最常用的SQL模式,学习好这种模式的最优写法,也就非常重要了。

2022-09-30 14:07:55 1694 1

原创 flink 双流jion 使用union all + groupby方式实现

在基于flink的实时计算中,会有实时流join的需求

2022-09-30 14:03:30 773

原创 由于在github上只能删除仓库,却无法删除文件夹或文件, 所以只能通过命令来解决

由于在github上只能删除仓库,却无法删除文件夹或文件, 所以只能通过命令来解决首先需要进入你本地仓库的master文件夹下, 然后右键Git Bash Here ,打开命令窗口然后分别执行如下命令$ git --help # 帮助命令$ git pull origin master # 将远程仓库里面的项目拉下来$ dir ...

2022-02-25 13:26:57 1067 1

原创 git 端口拒绝

前一阵儿,在公司同步github代码到本地的时候,爆出了这样的一个错误ssh: connect to host github.com port 22: Connection refused。根据英文可以看出,ssh端口号被拒绝了,应该是被公司的网给禁掉了。总结下如何换一种方式解决。git 远程仓库两种协议在解决问题之前,先要了解git远程仓库的两种协议连接ssh协议连接github在windows下的git客户端在用户的.ssh下生成了两个SSH Key的秘钥对,id_rsa是私钥,.

2022-01-28 13:18:01 539

原创 git push -u origin master

1、错误描述:出错场景描述:github上创建远程仓库的时候选择添加README.md文件,git bash连接远程库,然后执行push操作,出现下面的问题$ git push -u origin masterTo github.com:XXXX/DesignPatterns.git! [rejected] master -> master (fetch first)error: failed to push some refs to 'git@github....

2022-01-21 12:23:24 3581

原创 IntelliJ Idea错误提示 Could not autowire. No beans of ‘‘ type found

现象:如下图所示,出现Could not autowire. No beans of '' type found的错误提示;解决方法:降低Autowired检测的级别,改为warning设置路径:file -> settings -> editor -> Inspections ->Spring -> Spring Core -> Code -> Autowiring for Been Class;其他解决方案及本文参考文档地址...

2022-01-21 10:52:22 1771

原创 Docker——安装部署

前言从 2017 年 3 月开始 docker 在原来的基础上分为两个分支版本: Docker CE 和 Docker EE。Docker CE 即社区免费版,Docker EE 即企业版,强调安全,但需付费使用。Docker 官方建议要 CentOS7.0 及以上系统版本,本文介绍 Docker CE 在CentOS下的安装使用。1.前提条件1.1.内核Docker运行对内核要求比较高,因此一般建议直接在Ubuntu这样的平台运行。但作为一个容器标准,Docker...

2021-12-07 10:17:46 226

原创 数据可视化——matplotlib(2)

导入相关模块import matplotlib.pyplot as pltimport numpy as npimport pandas as pd图表设置添加X、Y轴标签以及图标标题a = (1,3,2,5,4)b = (2,5,3,4,1)plt.plot(a)plt.xlabel('X')plt.ylabel('Y')plt.title('Test')plt.show()添加图例简单的图例仅需要在画图函数中添加一个label标签就行,在绘制..

2021-12-06 10:28:54 206

原创 数据可视化——Matplotlib(1)

导入相关模块import matplotlib.pyplot as pltimport pandas as pdimport numpy as np基本图表散点图:scatterN = 1000x = np.random.randn(N)y = np.random.randn(N)plt.scatter(x,y)plt.show()scatter的函数签名如下scatter(x,y,s=None,c=None,marker=None,cmap=No..

2021-12-06 10:10:09 208

原创 Jupyter Notebook安装 nbextensions 插件

安装 nbextensions 插件一、打开Anaconda Prompt窗口,执行第一个命令,用于安装nbextensions:pip install jupyter_contrib_nbextensions二、再执行第二个命令,用于安装 javascript and css filesjupyter contrib nbextension install --user三、最后执行,用于安装configuratorpip install jupyter_nbextensions_con.

2021-12-05 09:28:27 6001 2

原创 ​Mysql 分区表-分区操作​

目录一、查看MySQL是否支持分区 1、MySQL5.6以及之前版本 2、MySQL5.7 二、分区表的分类与限制 1、分区表分类 2、分区表限制 三、创建分区表 1、range分区 2、list分区 3、hash分区 4、key分区 5、Column分区 6、子分区(组合分区) 四、普通表转换为分区表 五、分区表操作 1、ADD PARTITION (新增分区) 2、DROP PARTITION (删除分区) 3、TRUNCAT...

2021-11-14 19:55:49 1193

原创 ​Docker中Maven私服的搭建​

为何用到Maven私服?在实际开发中,项目中可能会用到第三方的jar、内部通讯的服务接口都会打入到公司的私服中。我们从项目实际开发来看: 一些无法从外部仓库下载的构件,例如内部的项目还能部署到私服上,以便供其他依赖项目使用。 为了节省带宽和时间,在局域网内架设一个私有的仓库服务器,用其代理所有外部的远程仓库。当本地Maven项目需要下载构件时,先去私服请求,如果私服没有,则再去远程仓库请求,从远程仓库下载构件后,把构件缓存在私服上。这样,及时暂时没有Internet链接,由于..

2021-10-12 13:02:20 649 4

原创 ​SpringBoot 整合 Elasticsearch深度分页查询​

SpringBoot 整合 Elasticsearch深度分页查询es 查询共有4种查询类型QUERY_AND_FETCH:  主节点将查询请求分发到所有的分片中,各个分片按照自己的查询规则即词频文档频率进行打分排序,然后将结果返回给主节点,主节点对所有数据进行汇总排序然后再返回给客户端,此种方式只需要和es交互一次。 这种查询方式存在数据量和排序问题,主节点会汇总所有分片返回的数据这样数据量会比较大,二是各个分片上的规则可能不一致。QUERY_THEN_FETCH:...

2021-10-09 11:45:21 639 1

原创 Mybatis 中$与#的区别

Mybatis 中$与#的区别1 #是将传入的值当做字符串的形式,eg:select id,name,age from student where id =#{id},当前端把id值1,传入到后台的时候,就相当于select id,name,age from student where id ='1'.2 $是将传入的数据直接显示生成sql语句,eg:select id,name,age from student where id =${id},当前端把id值1,传入到后台的时候,就相当于...

2021-06-28 17:41:14 180

转载 Hive SQL底层执行过程详细剖析

Hive SQL底层执行过程详细剖析7年老码农,10W关注者。【Java与大数据架构】全面分享Java编程、Spark、Flink、Kafka、Elasticsearch、数据湖等干货。8篇原创内容公众号本文结构采用宏观着眼,微观入手,从整体到细节的方式剖析 Hive SQL 底层原理。第一节先介绍 Hive 底层的整体执行流程,然后第二节介绍执行流程中的 SQL 编译成 MapReduce 的过程,第三节剖析 SQL 编译成 MapReduce 的具体实现原理。HiveH.

2021-06-15 10:12:28 1930

原创 地图瓦片编号与经纬度的换算关系

地图瓦片编号与经纬度的换算关系芒果香蕉_关注0.432021.02.23 10:49:57字数 563阅读 611前言地图瓦片编号与与经纬度坐标之间的转换与简单理解。相关资料看了好多次,每次看完就忘,这里做一个简单的学习笔记。Web墨卡托投影通常提到Web墨卡托投影,我最先想到的关键词是: “3857”、“谷歌地图”。再往深了想就是“正轴等角圆柱投影”、“越靠近两极变形越大”等特性。以前对“越靠近两极变形越大”的理解是:越靠近两极,地图横向拉伸越严重。今天查资料时突然意识到一点:

2021-06-10 09:21:01 2623 2

原创 gdal栅格切图

package gdal.cutmap.raster;import org.gdal.gdal.Band;import org.gdal.gdal.Dataset;import org.gdal.gdal.Driver;import org.gdal.gdal.gdal;import org.gdal.gdalconst.gdalconst;import org.gdal.gdalconst.gdalconstConstants;import org.geotools.geometry.j.

2021-06-07 18:22:15 996

原创 地图瓦片编号与经纬度的换算关系

芒果香蕉_关注0.432021.02.23 10:49:57字数 563阅读 611前言地图瓦片编号与与经纬度坐标之间的转换与简单理解。相关资料看了好多次,每次看完就忘,这里做一个简单的学习笔记。Web墨卡托投影通常提到Web墨卡托投影,我最先想到的关键词是: “3857”、“谷歌地图”。再往深了想就是“正轴等角圆柱投影”、“越靠近两极变形越大”等特性。以前对“越靠近两极变形越大”的理解是:越靠近两极,地图横向拉伸越严重。今天查资料时突然意识到一点:越靠近两级纵向拉伸同样越严重...

2021-06-07 17:09:26 1993

原创 Windows下gdal 的 Java 环境配置

假设你已经安装好java jdk,并配置好环境变量。参考:http://trac.osgeo.org/gdal/wiki/GdalOgrInJavahttp://trac.osgeo.org/gdal/wiki/GdalOgrInJavaBuildInstructions(编译java版gdal)这里使用的是编译好的gdal,下载地址:http://www.gisinternals.com/release.php选择win32/x64版的zip,解压到相关目录下。配置java中的jre li

2021-06-07 16:01:51 1067

原创 WMTS(Web Map Tile Service)

一、WMTS(Web Map Tile Service)为了更快的将地图数据在前端显示,可以为一些数据不会变更或变动较小的服务创建地图缓存(Cache)。WMTS是一种采用图像金字塔的方式将地图服务按照预先设置的某种切图策略创建的地图缓存服务。1、地图缓存:地图缓存是一个包含了不同比例尺下整个地图范围的地图切片目录,是预先按照显示切图等级、比例尺、切图原点、DPI、图片大小等参数创建的静态图片,用于提高地图服务的响应速度。数据格式通常采用PNG或JPG。前端向地图服务器请求时可以直接根据切图

2021-06-04 13:42:06 2630

原创 比例尺与分辨率

比例尺与分辨率 发送反馈 在地图中,比例尺与分辨率是两个常用的术语,比例尺与分辨率的大小决定了地图要素对实际地物描述的详细程度。在 GIS 领域所提到的地图分辨率(Resolution),也称地面分辨率(Ground Resolution)或空间分辨率(Spatial Resolution),表示屏幕上一个像素(pixel)所代表的实际地面距离(米)。地图比例尺(scale)是指地图上距离与地面实际距离的比例。在计算地图比例尺的时候,通常用到地面分辨率和屏幕...

2021-05-26 19:37:56 719

原创 分辨率和像素是什么关系?

分辨率和像素是什么关系?像素即px,是画面中最小的点(单位色块)。分辨率=画面水平方向的像素值 * 画面垂直方向的像素值。分辨率可以分为两方面:屏幕分辨率和图像分辨率。1. 屏幕分辨率:例如,屏幕分辨率是1024×768,也就是说设备屏幕的水平方向上有1024个像素点,垂直方向上有768个像素点。像素的大小是没有固定长度的,不同设备上一个单位像素色块的大小是不一样的。例如,尺寸面积大小相同的两块屏幕,分辨率大小可以是不一样的,分辨率高的屏幕上面像素点(色块)就多,所以屏幕内可以展示的画面就

2021-03-19 17:34:27 8235

原创 基于GDAL的影像切图工具

1 功能需求    对一副3857坐标系的卫星影像按照谷歌TMS进行切片,并将切片文件存储在符合MBTiles规范的SQLite数据库中2 依赖库GDAL ,GeoTools3 环境搭建    由于个人对Java语言比较熟悉,因此使用Java语言开发环境,Java工程复用原有的SpringBoot工程,然后在pom文件中添加对GeoTools库的依赖即可实现GeoTools的引入。3.1 Windows环境下搭建GDAL Java Binding开发环境    GDAL是当...

2021-03-10 17:49:56 2215 3

原创 分布式锁的性质jedis

可靠性。首先,为了确保分布式锁可用,我们至少要确保锁的实现同时满足以下四个条件:互斥性。在任意时刻,只有一个客户端能持有锁。不会发生死锁。即使有一个客户端在持有锁的期间崩溃而没有主动解锁,也能保证后续其他客户端能加锁。具有容错性。只要大部分的Redis节点正常运行,客户端就可以加锁和解锁。解铃还须系铃人。加锁和解锁必须是同一个客户端,客户端自己不能把别人加的锁给解了。代码实现 组件依赖首先我们要通过Maven引入Jedis开源组件,在pom.xml文件加入下面的代码:redis.cl...

2021-01-23 16:33:54 215

原创 idea中git标签(tag)的创建与使用

1、什么是标签  通常,发布一个版本时,会在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。  所以,标签也是版本库的一个快照。  简单理解:标签是某个版本的别名,因为Git的版本号都是用一串字母数字组成,为了便于管理,Git 可以给版本取个别名(也就是打上标签,比如标签的名字叫做 v1.0.0)。2、idea中创建标签tag、并推送到远程仓库  创建tag    创建完成后,推送...

2021-01-18 16:34:40 2628 1

原创 微服务和大数据性能指标参考和相关组件

发布时间:19-07-1720:12一、引言本文题为微服务和大数据性能指标参考,但实际上,无论是单体架构还是分布式架构、数据规模如何,在设计和开发各种功能性模块时,都需要提前考虑高性能需求水平并按需设计,对各种性能指标进行合理评估,从而尽量减少代码重构的可能性。在完成功能模块的开发以后,还需要使用各种压力测试工具进行性能测试,从而判断代码是否能够满足性能要求,并找出性能瓶颈所在。为了作出更加合理的性能评估值,我们需要先大概的了解一些常用的计算机操作所消耗的时间,从而心中有数的设计...

2021-01-12 10:08:57 1655

原创 SpringBoot项目中文件上传与下载?

一、文件上传@ApiOperation(value = "文件上传", notes= "文件上传")@PostMapping("/upload")public Result upLoadFile(@ApiParam(value = "选择需要上传的文件",required = true) MultipartFile file){ if (file.isEmpty()){ return Result.error(CodeMsg.ERROR); } Str...

2021-01-07 17:44:59 362

原创 git fetch & pull详解

git fetch & pull详解1、简单概括先用一张图来理一下git fetch和git pull的概念:可以简单的概括为:git fetch是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中。而git pull则是将远程主机的最新内容拉下来后直接合并,即:git pull = git fetch + git merge,这样可能会产生冲突,需要手动解决。下面我们来详细了解一下git fetch和git pull的用法。2、分...

2020-12-25 10:09:22 243

原创 idea git的使用(四)git建立分支与合并分支

1. 为什么要建立分支git默认的主分支名字为master,一般团队开发时,都不会在master主分支上修改代码,而是建立新分支,测试完毕后,在将分支的代码合并到master主分支上。2.操作如下:2.1 idea git分支的操作idea git的操作在右下角,如下图:说明:【new branch】新建分支【local branches】本地分支【current master】表示当前是主分支【remote branches】远程仓库分支。我在这里配置了两个远程仓库...

2020-12-22 14:09:05 186

原创 k8s的nfs存储外挂设置过程

需求:  在k8s集群里的某个模块生成的目录文件或者更新的目录文件,存储到外面某台服务器上1.安装nfs服务(192.168.1.2 Ubuntu 16.04)apt-get install nfs-kernel-server nfs-common2.配置nfs挂载目录vi /etc/exports /data *(rw,sync,no_root_squash)  /data:共享目录  *:所有主机能访问  rw:读写权限  ro:只读  sync:同...

2020-12-18 14:47:04 345

原创 服务出现TCP连接快速增加尤其是NON_ESTABLISHED大量增加导致内存和CPU暴增系统无法使用的问题

TCP状态转移要点TCP协议规定,对于已经建立的连接,网络双方要进行四次握手才能成功断开连接,如果缺少了其中某个步骤,将会使连接处于假死状态,连接本身占用的资源不 会被释放。网络服务器程序要同时管理大量连接,所以很有必要保证无用连接完全断开,否则大量僵死的连接会浪费许多服务器资源。在众多TCP状态中,最值得 注意的状态有两个:CLOSE_WAIT和TIME_WAIT。1、LISTENING状态FTP服务启动后首先处于侦听(LISTENING)状态。2、ESTABLISHED状态ES...

2020-12-07 17:49:00 5039

原创 PostgreSQL CPU占用100%性能分析及慢sql优化

查看连接数变化CPU利用率到达100%,首先怀疑,是不是业务高峰活跃连接陡增,而数据库预留的资源不足造成的结果。我们需要查看下,问题发生时,活跃的连接数是否比平时多很多。对于RDS for PG,数据库上的连接数变化,可以从控制台的监控信息中看到。而当前活跃的连接数>可以直接连接数据库,使用下列查询语句得到:select count( * ) from pg_stat_activity where state not like '%idle';追踪慢SQL如果活跃连接数的变化...

2020-12-05 11:32:43 1083 1

原创 redis使用rdb恢复数据

redis中存在rdb备份和aof备份两种方式。如果在redis多个节点发生雪崩时,我们往往使用定期冷备rdb或者aof文件,去恢复数据的方式,但往往数据量较大时rdb恢复更加的快速,毕竟aof保存的为操作指令的日志!*而且在redis启动时 我们往往采用“双开”的持久化方式,所以问题来了!!!在aof和rdb同时开启时,仅仅使用rdb方式恢复时不起作用的,因为redis会优先使用aof恢复,但由于aof不存在则会创建一个新的aof文件,导致恢复的是空的aof指令。所以话不多说直接上方案!...

2020-12-01 20:15:53 1356

原创 Redis Save 与 BGSAVE 的区别

一,save保存数据到磁盘的方式:Redis Save 命令执行一个同步保存操作,将当前 Redis 实例的所有数据快照(snapshot)以 RDB 文件的形式保存到硬盘。语法redis Save 命令基本语法如下:redis 127.0.0.1:6379> SAVE返回值保存成功时返回 OK 。二,BGSAVE保存数据到磁盘的方式:BGSAVE 命令执行之后立即返回 OK ,然后 Redis fork 出一个新子进程,原来的 Redis 进程(父进程)继续...

2020-12-01 15:07:32 657

原创 Redis基础用法、高级特性与性能调优以及缓存穿透等分析

目录一、Redis介绍 二、Redis数据结构及常用的命令 三、Redis持久化策略选择 四、内存管理与数据淘汰机制 五、Redis过期策略及实现原理 1 说明 2 设置过期时间 3 三种过期策略 4 Redis采用的过期策略 六 Redis事务实现 七 Redis分布式锁实现 八 缓存穿透、缓存击穿、缓存雪崩、热点数据失效 1、缓存穿透 2、缓存击穿 3、缓存雪崩 4、解决热点数据集中失效问题 九 Redis如何快速删除1...

2020-12-01 14:58:33 313

原创 SparkSQL 中group by、grouping sets、rollup和cube方法详解

在平时的工作中,经常有按照不同维度筛选和统计数据的需求。拿视频会员订单数据来说吧,运营人员要查看深圳市的成功下单数或则深圳市某一种产品的成功下单数或者某一种产品的所有成功下单数时,每天的订单数又很大,现查的话按照不同的维度去查询又很慢。此时本篇文章或许会帮助到你。group by:主要用来对查询的结果进行分组,相同组合的分组条件在结果集中只显示一行记录。可以添加聚合函数。grouping sets:对分组集中指定的组表达式的每个子集执行group by,grou...

2020-11-20 19:31:26 1319

原创 java中protected权限与默认权限的区别

在java中最容易混淆的访问权限就是protected和default先看看所有的访问权限总结下面三条:1、在同一个包中,所有的类都能够访问某一个类中所有非private权限的方法或者属性。2、一个包中的类不能通过继承访问另一个包中default权限的方法或者属性。换言之,子类在同一个包中可以访问default权限的方法或属性,子类不在同一个包中则不可以。3、在不同包中子类是不能通过父类的实例访问protected权限的方法或者变量的。...

2020-11-17 13:36:33 623

原创 window下Sparksql 无法获取文件权限问题

Caused by: java.lang.RuntimeException: Error while running command to get file permissions : java.io.IOException: (null) entry in command string: null ls -F D:\tmp\hiveCaused by: java.lang.RuntimeException: Error while running command to get file ...

2020-11-16 13:19:00 833

原创 kafka中处理超大消息的一些考虑

Kafka设计的初衷是迅速处理短小的消息,一般10K大小的消息吞吐性能最好(可参见LinkedIn的kafka性能测试)。但有时候,我们需要处理更大的消息,比如XML文档或JSON内容,一个消息差不多有10-100M,这种情况下,Kakfa应该如何处理?针对这个问题,有以下几个建议: 最好的方法是不直接传送这些大的数据。如果有共享存储,如NAS, HDFS, S3等,可以把这些大的文件存放到共享存储,然后使用Kafka来传送文件的位置信息。 第二个方法是,将大的消息数据切片或切块,在生产...

2020-11-09 10:08:31 796 1

jfianl整合activemq

jfianl整合activemq

2018-09-06

现在最流行的一套监控系统(搭建监控指标系统)

现在最流行的一套监控系统

2018-09-02

Phoenix简介及安装部署使用

PhoenixUtilTest PhoenixUti createTable update selectAll Join delete

2018-08-30

cas +shiro集成

cas +shiro集成cas +shiro集成cas +shiro集成cas +shiro集成cas +shiro集成cas +shiro集成cas +shiro集成

2018-08-01

cas客户端集成单点登录代码3

cas客户端集成单点登录代码登录登出cas客户端集成单点登录代码登录登出cas客户端集成单点登录代码登录登出cas客户端集成单点登录代码登录登出cas客户端集成单点登录代码登录登出

2018-07-31

emqtt+haproxy

emqtt+haproxy高可用高负载可容错,完整配置调优文件。

2018-07-31

cas客户端集成单点登录代码

cas客户端集成单点登录代码cas客户端集成单点登录代码cas客户端集成单点登录代码cas客户端集成单点登录代码cas客户端集成单点登录代码cas客户端集成单点登录代码

2018-07-31

jEasyUI1.3.6API中文版

jEasyUI1.3.6API中文版,离线可以使用

2016-11-30

空空如也

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

TA关注的人

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