自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Flink项目开发、上线全流程报错集合加处理办法(持续更新,附原因解决办法)

1、由于自己启动任务用的是root用户、未使用FlinkProject 用户产生以下报错org.apache.flink.client.program.ProgramInvocationException: Could not retrieve the execution result. (JobID: 9ebe0758cd287126758d57b15fb5e5a3) at org.apache.flink.client.program.rest.RestClusterClient.submitJob

2020-09-27 18:40:07 4388

原创 Flink开发项目中遇到的一些问题总汇(持续更新)

问题 解决:1、(Constants.A, Constants.B) 是定位到具体配置2、设置flink全局变量env.getConfig.setGlobalJobParameters(C)但是某些算子可能用到非全局变量中的一些配置例如:map、process中open 函数中的配置需要局部配置变量。     3、map和process的联系:map方法不允许缺少数据,也就是原来多少条数据,处理后依然是多少条数据,只是用来做转换。本次开发map函数用来将sour

2020-09-27 18:39:34 2526

原创 Flink 风控项目的开发与迭代

最近比较忙,先码住,有时间会写一个四个月的Flink风控项目的开发和迭代过程

2020-07-08 09:24:41 429

原创 剖析Flink出现数据倾斜和解决办法

数据倾斜定义:是指在大规模并行处理的数据中,其中某个运行节点处理的数据远远超过其他部分,这会导致该节点压力极大,最终出现运行失败从而导致整个任务的失败。数据倾斜原理:目前的大数据处理框架,如 Flink、Spark、Hadoop 等之所以能处理高达千亿的数据,是因为这些框架都利用了分布式计算的思想,集群中多个计算节点并行,使得数据处理能力能得到线性扩展。在实际生产中 Flink 都是以集群的形式在运行,在运行的过程中包含了两类进程。其中 TaskManager 实际负责执行计算的 Worker,在

2021-03-20 14:13:26 4851 1

原创 Flink生产---15Redis、JedisUtil

Flink 项目中访问 Redis 的方法都是自己进行的实现,推荐使用 Bahir 连接器。在本地单机情况下:public static class RedisExampleMapper implements RedisMapper<Tuple2<String, String>>{ @Override public RedisCommandDescription getCommandDescription() { return new RedisC

2021-03-20 13:52:07 310

原创 Flink生产---13生产环境中的 Flink 高可用配置

概述:事实上,集群的高可用(High Availablility,以下简称 HA)配置是大数据领域经典的一个问题。通常 HA 用来描述一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性。06中:简单地介绍了 HA 配置。03中:提到过 Flink 集群中的角色:JobManager:集群管理者的角色:负责任务调度,协调Checkpoints、协调故障恢复、收集Job的状态信息、管理Flink集群中从节点的TaskManager。其他的一些角色详看03.在默认的情况下,我们的每个

2021-03-20 13:23:01 951

原创 Flink进阶---12常用的Source和Connector

主要介绍Flink中支持得Source和常用的Connector。Flink 自身实现了多种 Source 和 Connector 方法,并且还提供了多种与第三方系统进行对接的 Connector。预定义和自定义Source在基础04中Flink常用的 DataSet 和 DataStream API中提到过几种Flink已经实现的新建DataStream方法。基于文件:我们在本地环境进行测试时可以方便地从本地文件读取数据:ExecutionEnvironment env = Executio

2021-03-20 12:51:22 601

原创 排查生产环境中的反压问题

不同框架的反压对比StormStorm 从 1.0 版本以后引入了全新的反压机制,Storm 会主动监控工作节点。当工作节点接收数据超过一定的水位值时,那么反压信息会被发送到 ZooKeeper 上,然后 ZooKeeper 通知所有的工作节点进入反压状态,最后数据的生产源头会降低数据的发送速度。Spark StreamingSpark Streaming 在原有的架构基础上专门设计了一个 RateController 组件,该组件利用经典的 PID 算法。向系统反馈当前系统处理数据的几个重要属性:

2020-06-06 14:45:12 338

原创 Flink生产---14Exactly-once 实现原理解析

Flink 的“精确一次”处理语义是,Flink 提供了一个强大的语义保证,也就是说在任何情况下都能保证数据对应用产生的效果只有一次,不会多也不会少。Flink 是如何实现“端到端的精确一次处理”语义的呢?通常情况下,流式计算系统都会为用户提供指定数据处理的可靠模式功能,用来表明在实际生产运行中会对数据处理做哪些保障。一般来说,流处理引擎通常为用户的应用程序提供三种数据处理语义:最多一次、至少一次和精确一次。1最多一次(At-most-Once):这种语义理解起来很简单,用户的数据只会被处理一次,不管

2020-06-06 14:36:07 1417

原创 生产环境中的 Flink 高可用配置

源码分析Flink 中的 JobManager、WebServer 等组件都需要高可用保障,并且 Flink 还需要进行 Checkpoint 元数据的持久化操作。与 Flink HA 相关的类图如下图所示,我们跟随源码简单看一下 Flink HA 的实现。HighAvailabilityMode 类中定义了三种高可用性模式枚举,NONE:非 HA 模式ZOOKEEPER:基于 ZK 实现HA FACTORY_CLASS:自定义 HA 工厂类,该类需要实现HighAvailabilitySe

2020-06-06 14:28:48 652

原创 Flink进阶---11CEP 复杂事件处理

这个目前在做一个项目,在项目完成后会单独拿出来说,这里先简单说一下Complex Event Processing(CEP)是 Flink 提供的一个非常亮眼的功能,关于 CEP 的解释我们引用维基百科中的一段话:CEP, is event processing that combines data from multiple sources to infer events or patterns that suggest more complicated circumstances. The goal

2020-06-06 14:16:24 342

原创 Flink进阶---10Side OutPut 分流

分流场景我们在生产实践中经常会遇到这样的场景,需把输入源按照需要进行拆分,比如我期望把订单流按照金额大小进行拆分,或者把用户访问日志按照访问者的地理位置进行拆分等。面对这样的需求该如何操作呢?分流的方法通常来说针对不同的场景,有以下三种办法进行流的拆分。Filter 分流Filter 方法我们在第 04 课时中(Flink 常用的 DataSet 和 DataStream API)讲过,这个算子用来根据用户输入的条件进行过滤,每个元素都会被 filter() 函数处理,如果 filter() 函数

2020-06-06 13:14:28 257

原创 Flink进阶---09状态与容错

所谓的状态,其实指的是 Flink 程序的中间计算结果。Flink 支持了不同类型的状态,并且针对状态的持久化还提供了专门的机制和状态管理器。状态我们在 Flink 的官方博客中找到这样一段话,可以认为这是对状态的定义:When working with state, it might also be useful to read about Flink’s state backends. Flink provides different state backends that specify how

2020-06-06 13:13:23 161

原创 Flink进阶---08窗口、时间和水印

Flink 框架中支持事件时间、摄入时间和处理时间三种。而当我们在流式计算环境中数据从 Source 产生,再到转换和输出,这个过程由于网络和反压的原因会导致消息乱序。因此,需要有一个机制来解决这个问题,这个特别的机制就是“水印”。Flink 的窗口和时间我们在第 05 课时中讲解过 Flink 窗口的实现,根据窗口数据划分的不同,目前 Flink 支持如下 3 种:滚动窗口,窗口数据有固定的大小,窗口中的数据不会叠加;滑动窗口,窗口数据有固定的大小,并且有生成间隔;会话窗口,窗口数据没有固定的大

2020-06-06 13:11:50 531

原创 Flink进阶---07常见核心概念分析

在 Flink 这个框架中,有很多独有的概念,比如分布式缓存、重启策略、并行度等,这些概念是我们在进行任务开发和调优时必须了解的,这一课时我将会从原理和应用场景分别介绍这些概念。分布式缓存熟悉 Hadoop 的你应该知道,分布式缓存最初的思想诞生于 Hadoop 框架,Hadoop 会将一些数据或者文件缓存在 HDFS 上,在分布式环境中让所有的计算节点调用同一个配置文件。在 Flink 中,Flink 框架开发者们同样将这个特性进行了实现。Flink 提供的分布式缓存类型 Hadoop,目的是为了在

2020-06-06 13:06:54 641

原创 Flink基础---05SQL & Table 编程和案例

Flink Table & SQL 概述背景我们在前面的课时中讲过 Flink 的分层模型,Flink 自身提供了不同级别的抽象来支持我们开发流式或者批量处理程序,下图描述了 Flink 支持的 4 种不同级别的抽象。Table API 和 SQL 处于最顶端,是 Flink 提供的高级 API 操作。Flink SQL 是 Flink 实时计算为简化计算模型,降低用户使用实时计算门槛而设计的一套符合标准 SQL 语义的开发语言。我们在第 04 课时中提到过,Flink 在编程模型上提供了

2020-06-06 13:01:07 358

原创 Flink基础---04常用的 DataSet 和 DataStream API

现状在前面的课程中,曾经提到过,Flink 很重要的一个特点是“流批一体”,然而事实上 Flink 并没有完全做到所谓的“流批一体”,即编写一套代码,可以同时支持流式计算场景和批量计算的场景。目前截止 1.10 版本依然采用了 DataSet 和 DataStream 两套 API 来适配不同的应用场景。DateSet 和 DataStream 的区别和联系在官网或者其他网站上,都可以找到目前 Flink 支持两套 API 和一些应用场景,但大都缺少了“为什么”这样的思考。Apache Flink

2020-06-06 12:56:35 958

原创 Flink基础---03编程模型与其他框架比较

本课时的内容主要介绍基于 Flink 的编程模型,包括 Flink 程序的基础处理语义和基本构成模块,并且和 Spark、Storm 进行比较,Flink 作为最新的分布式大数据处理引擎具有哪些独特的优势呢?Flink 的核心语义和架构模型我们在讲解 Flink 程序的编程模型之前,先来了解一下 Flink 中的 Streams、State、Time 等核心概念和基础语义,以及 Flink 提供的不同层级的 API。Flink 核心概念Streams(流),流分为有界流和无界流。有界流指的是有固定大

2020-06-06 12:55:29 180

原创 Flink基础---02入门程序 WordCount 和 SQL 实现

Flink 开发环境通常来讲,任何一门大数据框架在实际生产环境中都是以集群的形式运行,而我们调试代码大多数会在本地搭建一个模板工程,Flink 也不例外。Flink 一个以 Java 及 Scala 作为开发语言的开源大数据项目,通常我们推荐使用 Java 来作为开发语言,Maven 作为编译和包管理工具进行项目构建和编译。对于大多数开发者而言,JDK、Maven 和 Git 这三个开发工具是必不可少的。关于 JDK、Maven 和 Git 的安装建议如下表所示:工程创建一般来说,我们在通过 ID

2020-06-06 12:54:46 234

原创 Flink 基本API概述

Flink 基本APIFlink剖析:Flink程序看起来像是转换数据集合的常规程序。每个程序包含相同的基本部分:1、获得一个execution environment,2、加载/创建初始数据,3、指定此数据的转换,4、指定放置计算结果的位置,5、触发程序执行Flink程序是实现分布式集合转换的常规程序(例如,Filter,映射,更新状态,Join,分组,定义窗口,聚合)。...

2020-04-24 09:10:41 352

原创 Flink基础---06开发环境&项目的构建

Flink 项目的构建java/scala版本的maven要求:Maven 3.0.4(或更高版本)和Java 8.x安装。Flink配置依赖关系,联接器,库Flink中有两大类依赖项和库:1、Flink核心依赖关系:Flink本身由运行系统所需的一组类和依赖项组成,例如协调,网络,检查点,故障转移,API,算子操作(如窗口),资源管理等。这些类和依赖项构成了Flink运行时的核心,在...

2020-04-24 09:10:29 205

原创 开发中常用的几种爬虫,开发中遇到的问题和解决办法,附代码

开发中常用的几种爬虫,开发中遇到的问题和解决办法,附代码一、urllib、selenium、BeautifulSouppython2 和python3 的urlib库是不一样的,在Python2.X中,分urllib和urllib2,但在Python3.X中,都统一合并到urllib中。使用时根据自己开发环境选择不同的urlib库,以下开发均为python3 环境 一、app:ur...

2020-01-13 15:54:10 451

原创 当下推荐系统的分析和关于长尾效应的解决猜想

记录一次线下技术分享心得,和自己工作上的一点体会,有不对的地方还请各位前辈指出。当下推荐生态的发展历史: 从规则到协同过滤再到模型和现在比较流行的基于机器学习的推荐 比较常用的协同过滤算法的优缺点是很明显的:泛化能力弱 ,样本结果好实时look alike 算法在微信看一看中的应用:中间采用Ralm算法paper:Real-time Attention Based ...

2019-11-27 13:57:11 2664

原创 简单用python实现几种梯度下降

from matplotlib import pyplot as pltimport random #生成数据def data(): x = range(10) y = [(2*i+4) for i in x] for i in range(10): y[i] = y[i]+random.randint(0,8)-4 return x,...

2019-10-25 09:49:26 274

原创 在深度学习项目中遇到的一些坑

在深度学习中遇到的一些坑1、Anaconda3,for windows,64bit(tensorflow在windows下只支持python 3.5以上、amd64)2、TensorFlow 不支持python 3.7 需要将python降级3.6(目前TensorFlow最新版本已经支持python3.7)2.1、可以在装一个python3.6,在pycharm中选择3.62.2、也...

2019-10-25 09:48:03 1879

原创 常见算法在机器学习中的应用场景

项目做完了,统一发一下项目中的小笔记:一些常用机器学习算法的应用场景:(cover:一些前辈的资料,和自己遇到的一些想法,遇到新的再更新吧)随机森林平均来说最强,但也只在9.9%的数据集上拿到了第一,优点是鲜有短板。SVM的平均水平紧随其后,在10.7%的数据集上拿到第一。神经网络(13.2%)和boosting(~9%)表现不错。数据维度越高,随机森林就比AdaBoost强...

2019-10-25 09:45:50 882

原创 推荐系统选型

用户浏览信息,停留时间,过往记录,关注记录,收藏记录等等 1.实时推荐比较适用于大用户和大的实时数据量,需要考虑服务器资源,用户和数据之间的比例。 2.离线推荐需要考虑推荐量的选取。 3.推荐模式 3.1基于产品属性的推荐:单纯的依赖物品之间的属性相似来构建推荐关系。 优点:适合大类目推荐,用户自主选择度高...

2019-10-24 15:30:28 248

空空如也

空空如也

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

TA关注的人

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