- 博客(182)
- 资源 (78)
- 收藏
- 关注
转载 Apache Spark 中支持的七种 Join 类型简介
数据分析中将两个数据集进行 Join 操作是很常见的场景。我在这篇文章中介绍了 Spark 支持的五种 Join 策略,本文我将给大家介绍一下 Apache Spark 中支持的 Join 类型(Join Type)。目前 Apache Spark 3.0 版本中,一共支持以下七种 Join 类型: INNER JOIN CROSS JOIN LEFT OUTER JOIN RIGHT OUTER JOIN FULL OUTER JOIN ...
2021-03-12 14:21:35
516
转载 hive join 数据倾斜 真实案例
hive或者MR处理数据,不怕数据量大,就怕倾斜。hive里大表join的时候,数据倾斜就是个很头疼的问题。本博主就遇到了一个真实案例,特意记录下来,有需要的同学可以参考1.查了5个小时还没结束的sql语句set mapred.reduce.tasks = 30;insert overwrite directory 'xxx'selectcus.idA,cus.name,addr.bb from tableA as cusjoin tableB as addron cus.idA = a
2021-01-23 23:14:58
290
转载 6种 延时队列的实现方案
五一期间原计划是写两篇文章,看一本技术类书籍,结果这五天由于自律性过于差,禁不住各种诱惑,我连电脑都没打开过,计划完美宣告失败。所以在这能看出和大佬之间的差距,人家没白没夜的更文,比你优秀的人比你更努力,难以望其项背,真是让我自愧不如。知耻而后勇,这不逼着自己又学起来了,个人比较喜欢一些实践类的东西,既学习到知识又能让技术落地,能搞出个demo最好,本来不知道该分享什么主题,好在最近项目紧急招人中,而我有幸做了回面试官,就给大家整理分享一道面试题:“如何实现延时队列?”。下边会介绍多种实现延时队列的
2020-12-30 09:54:28
2100
原创 kafka的partiton限制拉取数据条数问题定位
现象:kafka版本是0.10.0.1,每次启动任务每次拉取各个分区partition数据量都不超过1000条,已经设置了max.poll.records:The maximum number of records returned in a single call to poll()。但是不管如何设置大这个参数,都不能超过该参数。后面启动了多个任务后,多个任务都每秒都总和感觉也没有超过3000都样子,就是没有partitions 每秒没有拉得的数据没有超过1000。问题分析:虽然,增加part
2020-08-27 21:35:18
3431
转载 Java 多线程爬虫及分布式爬虫架构探索(六)
这是 Java 爬虫系列博文的第五篇,在上一篇 Java 爬虫服务器被屏蔽,不要慌,咱们换一台服务器 中,我们简单的聊反爬虫策略和反反爬虫方法,主要针对的是 IP 被封及其对应办法。前面几篇文章我们把爬虫相关的基本知识都讲的差不多啦。这一篇我们来聊一聊爬虫架构相关的内容。前面几章内容我们的爬虫程序都是单线程,在我们调试爬虫程序的时候,单线程爬虫没什么问题,但是当我们在线上环境使用单线程爬虫程序去采集网页时,单线程就暴露出了两个致命的问题:采集效率特别慢,单线程之间都是串行的,下一个执行动作需要等上一
2020-06-24 16:32:53
277
转载 Java 爬虫服务器被屏蔽,不要慌,咱们换一台服务器(五)
这是 Java 爬虫系列博文的第四篇,在上一篇 Java 爬虫遇上数据异步加载,试试这两种办法! 中,我们从内置浏览器内核和反向解析法两个角度简单的聊了聊关于处理数据异步加载问题。在这篇文章中,我们简单的来聊一聊爬虫时,资源网站根据用户访问行为屏蔽掉爬虫程序及其对应的解决办法。屏蔽爬虫程序是资源网站的一种保护措施,最常用的反爬虫策略应该是基于用户的访问行为。比如限制每台服务器在一定的时间内只能访问 X 次,超过该次数就认为这是爬虫程序进行的访问,基于用户访问行为判断是否是爬虫程序也不止是根据访问次数,还
2020-06-18 14:42:35
463
转载 Java 爬虫遇上数据异步加载,试试这两种办法(四)
这是 Java 爬虫系列博文的第三篇,在上一篇 Java 爬虫遇到需要登录的网站,该怎么办? 中,我们简单的讲解了爬虫时遇到登录问题的解决办法,在这篇文章中我们一起来聊一聊爬虫时遇到数据异步加载的问题,这也是爬虫中常见的问题。现在很多都是前后端分离项目,这会使得数据异步加载问题更加突出,所以你在爬虫时遇到这类问题不必惊讶,不必慌张。对于这类问题的解决办法总体来说有以下两种:1、内置一个浏览器内核内置浏览器就是在抓取的程序中,启动一个浏览器内核,使我们获取到 js 渲染后的页面,这样我们就跟采集静
2020-06-18 14:23:51
253
转载 Java 爬虫遇到需要登录的网站,该怎么办?(三)
这是 Java 网络爬虫系列博文的第二篇,在上一篇 Java 网络爬虫,就是这么的简单 中,我们简单的学习了一下如何利用 Java 进行网络爬虫。在这一篇中我们将简单的聊一聊在网络爬虫时,遇到需要登录的网站,我们该怎么办?在做爬虫时,遇到需要登陆的问题也比较常见,比如写脚本抢票之类的,但凡需要个人信息的都需要登陆,对于这类问题主要有两种解决方式:一种方式是手动设置 cookie ,就是先在网站上面登录,复制登陆后的 cookies ,在爬虫程序中手动设置 HTTP 请求中的 Cookie 属性,这种方式适
2020-06-18 10:40:08
617
转载 Java 网络爬虫,就是这么的简单(二)
这是 Java 网络爬虫系列文章的第一篇,如果你还不知道 Java 网络爬虫系列文章,请参看 学 Java 网络爬虫,需要哪些基础知识。第一篇是关于 Java 网络爬虫入门内容,在该篇中我们以采集虎扑列表新闻的新闻标题和详情页为例,需要提取的内容如下图所示:我们需要提取图中圈出来的文字及其对应的链接,在提取的过程中,我们会使用两种方式来提取,一种是 Jsoup 的方式,另一种是 httpclient + 正则表达式的方式,这也是 Java 网络爬虫常用的两种方式,你不了解这两种方式...
2020-06-14 17:04:45
539
转载 学 Java 网络爬虫,需要哪些基础知识?
说起网络爬虫,大家想起的估计都是 Python ,诚然爬虫已经是 Python 的代名词之一,相比 Java 来说就要逊色不少。有不少人都不知道 Java 可以做网络爬虫,其实 Java 也能做网络爬虫而且还能做的非常好,在开源社区中有不少优秀的 Java 网络爬虫框架,例如 webmagic 。我的第一份正式工作就是使用 webmagic 编写数据采集程序,当时参与了一个舆情分析系统的开发,这里面涉及到了大量网站的新闻采集,我们就使用了 webmagic 进行采集程序的编写,由于当时不知道其设计原理,使用
2020-06-14 11:51:21
725
转载 jmeter之jtl文件解析
我们知道命令行的方式执行完成jmeter后,会生成jtl文件,里面打开后就是一行行的测试结果,<httpSample t="1" lt="1" ts="1450684950333" s="true" lb="app.testdelay" rc="200" rm="OK" tn="appdelay-3000g3m 1-1" dt="" by="2265"/>t表示从请求开始到响...
2020-05-06 15:21:38
768
原创 -bash:fork:Cannot allocate memory 问题的处理
今天遇到服务器无法SSH,VNC操作命令提示fork:cannot allocate memoryfree查看内存还有(注意,命令可能要多敲几次才会出来)查看最大进程数 sysctl kernel.pid_maxps -eLf | wc -l查看进程数确认是进程数满了修改最大进程数后系统恢复 1 echo 1000000 ...
2020-04-06 13:59:43
457
转载 Kafka分区分配策略分析——重点:StickyAssignor
“为什么Kafka在RangeAssigor、RoundRobinAssignor的基础上,又新增了PartitionAssignor,它解决了什么问题?”背景用过Kafka的同学应该都知道Kafka的分区和消费组的概念。在Kafka中,每个Topic会包含多个分区,默认情况下一个分区只能被一个消费组下面的一个消费者消费,这里就产生了分区分配的问题。Kafka中提供了多重分区分配算...
2019-12-19 16:29:04
3377
1
原创 Flink 1.4.2的安装
依赖需求Java 1.8.0 Scala code runner version 2.11.2 Hadoop2.7 配置安装首先解压安装包flink-1.4.2-bin-hadoop27-scala_2.11.tgz [root@hadoop222 conf]# tar -xvzf flink-1.4.2-bin-hadoop27-scala_2.11.tgz ...
2018-08-16 17:33:01
1448
转载 Flink 原理与实现:Window 机制
Flink 认为 Batch 是 Streaming 的一个特例,所以 Flink 底层引擎是一个流式引擎,在上面实现了流处理和批处理。而窗口(window)就是从 Streaming 到 Batch 的一个桥梁。Flink 提供了非常完善的窗口机制,这是我认为的 Flink 最大的亮点之一(其他的亮点包括消息乱序处理,和 checkpoint 机制)。本文我们将介绍流式处理中的窗口概念,介绍 F...
2018-08-02 15:46:54
11200
3
转载 Apache Flink:流处理中Window的概念
Apache Flink–DataStream–Window什么是Window?有哪些用途? 下面我们结合一个现实的例子来说明。我们先提出一个问题:统计经过某红绿灯的汽车数量之和? 假设在一个红绿灯处,我们每隔15秒统计一次通过此红绿灯的汽车数量,如下图: 可以把汽车的经过看成一个流,无穷的流,不断有汽车经过此红绿灯,因此无法统计总共的汽车数量。但是,我们可以换一种思路,每隔15秒...
2018-08-02 15:41:51
472
转载 精通Apache Flink读书笔记--1、2
1、Apache Flink介绍既然有了Apache Spark,为什么还要使用Apache Flink?因为Flink是一个纯流式计算引擎,而类似于Spark这种微批的引擎,只是Flink流式引擎的一个特例。其他的不同点之后会陆续谈到。1.1 历史Flink起源于一个叫做Stratosphere的研究项目,目标是建立下一代大数据分析引擎,其在2014年4月16日成为Apache的...
2018-08-02 15:38:28
458
转载 Spark性能优化指南——高级篇(转自美团)
前言继基础篇讲解了每个Spark开发人员都必须熟知的开发调优与资源调优之后,本文作为《Spark性能优化指南》的高级篇,将深入分析数据倾斜调优与shuffle调优,以解决更加棘手的性能问题。数据倾斜调优调优概述有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时Spark作业的性能会比期望差很多。数据倾斜调优,就是使用各种技术方案解决不同类型的数据
2018-04-01 22:05:39
358
转载 Spark性能优化指南——基础篇(转自美团)
前言在大数据计算领域,Spark已经成为了越来越流行、越来越受欢迎的计算平台之一。Spark的功能涵盖了大数据领域的离线批处理、SQL类处理、流式/实时计算、机器学习、图计算等各种不同类型的计算操作,应用范围与前景非常广泛。在美团•大众点评,已经有很多同学在各种项目中尝试使用Spark。大多数同学(包括笔者在内),最初开始尝试使用Spark的原因很简单,主要就是为了让大数据计算作业的执行速度更快、...
2018-04-01 22:00:47
264
原创 Spark Streaming 对接Kafka实现实时统计的问题定位和解决
整个思路:spark streaming 接受Kafka数据(KafkaUtils.createDirectStream) 然后累计值(updateStateByKey) 把值发给Kafka。整个过程出现两个问题,第一个问题是启动脚本的问题,第二个问题是添加性能参数的问题,第三个问题是认证过期问题。问题一:Exception in thread "dag-scheduler-event-loop"...
2018-03-30 16:45:54
1341
原创 Spring Cloud构建企业级总线-第十一部分常见问题
问题一:EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY'RE NOT. RENEWALS ARE LESSER THAN THRESHOLD AND HENCE THE INSTANCES ARE NOT BEING EXPIRED JUST TO BE SAFE. 答:默认情况下,如...
2018-02-12 10:33:42
2871
原创 Spring Cloud构建企业级总线-第十部分Spring Cloud与Dubbo比较
背景比较 Dubbo,是阿里巴巴服务化治理的核心框架,并被广泛应用于阿里巴巴集团的各成员站点。阿里巴巴近几年对开源社区的贡献不论在国内还是国外都是引人注目的,比如:JStorm捐赠给Apache并加入Apache基金会等,为中国互联网人争足了面子,使得阿里巴巴在国人眼里已经从电商升级为一家科技公司了。 Spring Cloud,从命名我们就可以知道,它是Spring Source的产物...
2018-02-12 10:26:54
423
原创 Spring Cloud构建企业级总线-第九部分Spring Cloud其它组件
本部分内容只是了解作用,没有深入使用,还待后续深入研究。服务链路追踪(Spring Cloud Sleuth) 微服务架构上通过业务来划分服务的,通过REST调用,对外暴露的一个接口,可能需要很多个服务协同才能完成这个接口功能,如果链路上任何一个服务出现问题或者网络超时,都会形成导致接口调用失败。随着业务的不断扩张,服务之间互相调用会越来越复杂。断路器聚合监控(Hystrix Tu...
2018-02-12 10:22:44
274
原创 Spring Cloud构建企业级总线-第八部分消息总线
前言 先回顾一下,在之前的spring Cloud Config的介绍中,我们还留了一个悬念:如何实现对配置信息的实时更新。虽然,我们已经能够通过/refresh接口,但是,若所有触发操作均需要我们手工去维护应用位置的话,这随着系统的不断扩张,会变的越来越难以维护,而消息代理中间件是解决该问题最为合适的方案,消息代理中间件可以将消息路由到一个或多个目的地。利用这个功能,我们就能完美的解决该问...
2018-02-12 10:22:04
832
原创 Spring Cloud构建企业级总线-第七部分高可用服务注册中心
前言在Spring Cloud系列文章的开始,我们就介绍了服务注册与发现,其中,主要演示了如何构建和启动服务注册中心Eureka Server,以及如何将服务注册到Eureka Server中,但是在之前的示例中,这个服务注册中心是单点的,显然这并不适合应用于线上生产环境,那么下面在前文的基础上,我们来看看该如何构建高可用的Eureka Server集群。Eureka Server的高可用Eure...
2018-02-12 10:12:08
317
原创 Spring Cloud构建企业级总线-第六部分服务网关
前面的文章我们介绍了,Eureka用于服务的注册于发现,Feign支持服务的调用以及均衡负载,Hystrix处理服务的熔断防止故障扩散,Spring Cloud Config服务集群配置中心,似乎一个微服务框架已经完成了。 我们还是少考虑了一个问题,外部的应用如何来访问内部各种各样的微服务呢?在微服务架构中,后端服务往往不直接开放给调用端,而是通过一个API网关根据请求的url,路...
2018-02-12 09:55:25
515
转载 【Hive】Hive笔记:Hive调优总结——数据倾斜,join表连接优化
数据倾斜即为数据在节点上分布不均,是常见的优化过程中常见的需要解决的问题。常见的Hive调优的方法:列剪裁、Map Join操作、 Group By操作、合并小文件。 一、表现 1.任务进度长度为99%,在任务监控页面中发现只有几个 reduce 子任务未完成; 2.单一 reduce 记录与平均记录数差异过大(大于3倍),最长时长>>平均时长; 3.job数多的,效...
2018-02-09 14:19:18
680
原创 Spring Cloud构建企业级总线-第五部分分布式配置中心
分布式配置管理应该是分布式系统和微服务应用的第一步。想象一下如果你有几十个服务或应用需要配置,而且每个服务还分为开发、测试、生产等不同维度的配置,那工作量是相当大的,而且还容易出错。如果能把各个应用的配置信息集中管理起来,使用一套机制或系统来管理,那么将极大的提高系统开发的生产效率,同时也会提高系统开发环境和生产环境运行的一致性。
2018-02-07 10:43:31
283
原创 Spring Cloud构建企业级总线-第四部分断路器
在微服务架构中,我们将系统拆分成了一个个的服务单元,各单元间通过服务注册与订阅的方式互相依赖。由于每个单元都在不同的进程中运行,依赖通过远程调用的方式执行,这样就有可能因为网络原因或是依赖服务自身问题出现调用故障或延迟,而这些问题会直接导致调用方的对外服务也出现延迟,若此时调用方的请求不断增加,最后就会出现因等待出现故障的依赖方响应而形成任务积压,最终导致自身服务的瘫痪。 举个例子
2018-02-07 10:28:24
243
原创 Spring Cloud构建企业级总线-第三部分服务消费者
Ribbon Ribbon是一个基于HTTP和TCP客户端的负载均衡器。Feign中也使用Ribbon,后续会介绍Feign的使用。Ribbon可以在通过客户端中配置的ribbon ServerList服务端列表去轮询访问以达到均衡负载的作用。当Ribbon与Eureka联合使用时,ribbonServerList会被DiscoveryEnabledNIWSServerList重写
2018-02-07 09:58:06
336
原创 Spring Cloud构建企业级总线-第二部分服务注册与发现
Spring Cloud会用到Spring Cloud Netflix,该项目是Spring Cloud的子项目之一,主要内容是对Netflix公司一系列开源产品的包装,它为Spring Boot应用提供了自配置的Netflix OSS整合。通过一些简单的注解,开发者就可以快速的在应用中配置一下常用模块并构建庞大的分布式系统。它主要提供的模块包括:服务发现(Eureka),断路器(Hystrix)
2018-02-07 09:45:30
517
原创 Spring Cloud构建企业级总线-第一部分引言和概述
引言编写目的背景与意义 在企业内部业务系统比较多,相互之间调用比较复杂,接口的维护花费比较大,并且不同的系统采用了不同的开发平台、传输协议、数据格式等,这种情况下就需要考虑使用ESB了。 企业服务总线(EnterpriseServiceBus,ESB)是构建基于面向服务体系结构(SOA)解决方案时所使用基础架构的关键部分,是由中间件技术实现并支持SOA的一组基
2018-02-05 09:20:00
1622
转载 类加载机制
1、类加载机制概述虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。在java中,类型的加载、连接和初始化过程都是在程序运行期间完成的,这种策略虽然会带来一些性能开销,但是却为java应用程序提供了高度的灵活性,java动态扩展的语言特性就是依赖运行期动态加载和动态链接这个特点形
2018-01-29 16:37:02
241
转载 java指令和虚拟机加载机制
java指令java虚拟机的指令由一个字节长度的,代表着某种特定操作含义的数字(称为操作码,Opcode)而构成。由于java虚拟机采用面向操作数栈而不是寄存器的架构,所以大多数的指令都不包含操作数,只有一个操作码。对于大部分为与数据类型相关的字节码指令,他们的操作码助记符中都有特殊的字符来表明专门为哪种数据类型服务:i代表对int类型的数据操作,l代表long,s代表short,b代表b
2018-01-29 16:28:54
273
转载 深入理解Java虚拟机
[学习笔记] 深入理解Java虚拟机标签(空格分隔): java第二部分.自动内存管理机制2.java内存区域与内存溢出异常java内存区域2.1.方法区(永久代)存放:类常量字符串常量静态变量2.2.堆(内存中最大的一块)堆内存划分存放:实例数组元素划分:年轻代(young generation):新创建对象的存放区域.当年轻带
2018-01-22 09:06:48
513
pentaho-aggdesigner-algorithm-5.1.5-jhyde.jar
2023-06-08
AMBRIA 2.7.4依赖包下载,有两个包
2023-03-03
AMBRIA 2.7.4依赖包下载,有两个包
2023-03-03
最新的mingw5.1.6
2017-12-13
Database System Utility 3.10: Free Download
2013-03-25
Whole Tomato Visual.Assist.X.v10.6
2013-03-15
MicrosoftOfficeWord2010环境下论文参考文献编辑的一些方法与技巧
2013-01-11
百度,豆丁,畅享网,mbalib,下载神器
2012-12-12
C++ Templates中文版.
2012-12-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人