春雨里洗过的太阳

世间所有的相遇,都是久别重逢

一 一致性检查点 1 如上图sum_even (2+4),sum_odd(1 + 3 + 5),5这个数据之前的都处理完了,就出保存一个checkpoint;Source任务保存状态5,sum_event任务保存状态6,sum_odd保存状态是9;这三个保存到状态后端中就构成了CheckPoint; 1 2 1:Flink故障恢复机制的核心,就是应用状态的一致性检查点; 2:有状态流应用的一致性检查点(checkpoint),其实就是所有任务的状态,在某个时间点的一份拷贝(一份快照);这个时间点,应该是所有任务都恰好处理完一个相同的输入数据的时候 。(这个同一时间点并不是物理上
阅读全文 »

一简介 ​ matplotlib是受MATLAB的启发构建的。MATLAB是数据绘图领域广泛使用的语言和工具。MATLAB语言是面向过程的。利用函数的调用,MATLAB中可以轻松的利用一行命令来绘制直线,然后再用一系列的函数调整结果。 ​ matplotlib有一套完全仿照MATLAB的函数形式的绘图接口,在matplotlib.pyplot模块中。这套函数接口方便MATLAB用户过度到matplotlib包 官网:http://matplotlib.org/ 官网学习例子: * http://matplotlib.org/examples/index.html * http://
阅读全文 »

一 简介 ​ NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库 安装: 1 pip3 install --user numpy scipy matplotlib –user 选项可以设置只安装在当前的用户下,而不是写入到系统目录。默认情况使用国外线路,国外太慢,我们使用清华的镜像就可以: 1 pip3 install numpy scipy matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple 验证: 1 2
阅读全文 »

一 缺失值处理 数据缺失主要包括记录缺失和字段信息缺失等情况,其对数据分析会有较大影响,导致结果不确定性更加显著 缺失值的处理:删除记录 / 数据插补 / 不处理 1.判断是否有缺失数据 1 2 3 4 5 6 7 8 9 10 import numpy as np import pandas as pd import matplotlib.pyplot as plt from scipy import stats % matplotlib inline # 创建数据 s = pd.Series([12,33,45,23,np.nan,np.nan,66,54,np.nan,99])
阅读全文 »

一 简介 ​ 通过检验数据集的数据质量,绘制图表,计算某些特征量等手段,对样本数据集的结构和规律进行分析的过程就是数据探索,数据探索有助于数据预处理和建模方法的选取,本文主要从数据质量分析和数据特征分析两个角度对数据进行探索 二 数据质量分析 2.1简介 ​ 数据质量分析是数据挖掘中数据准备过程中的重要一环,是数据预处理的前提,也是数据挖掘分析结论有效性和准确性的基础,无可信的数据,数据挖掘构建的模型将是空中楼阁. ​ 数据质量分析的主要任务是检查原始数据中是否存在脏数据 1 缺失值,异常值,不一致的值,重复数据以及含有特殊符号(如#,*等)的数据 2.2 缺失值分析 2.2.1
阅读全文 »

一 pandas概述 ​ Pandas 是 Python 的核心数据分析支持库,提供了快速、灵活、明确的数据结构,旨在简单、直观地处理关系型、标记型数据, Pandas 适用于处理以下类型的数据: * 与 SQL 或 Excel 表类似的,含异构列的表格数据; * 有序和无序(非固定频率)的时间序列数据; * 带行列标签的矩阵数据,包括同构或异构型数据; * 任意其它形式的观测、统计数据集, 数据转入 Pandas 数据结构时不必事先标记。 ​ Pandas 的主要数据结构是 Series(一维数据)与 DataFrame(二维数据),这两种数据结构足以处理金融、统计、社会科学
阅读全文 »

一 概念 ​ 之前的转换算子 是无法访问事件的时间戳信息和 水位线 信息的。而这在一些应用场景下极为重要。例如 MapFunction 这样的 map 转换算子就无法访问时间戳或者当前事件的事件时间。基于此,DataStream API 提供了一系列的 Low Level 转换算子。可以访问时间戳、 watermark 以及注册定时事件 。还可以输出特定的一些事件 ,例如超时事件等。Process Function 用来构建事件驱动的应用以及实现自定义的业务逻辑 使用之前的window 函数和转换算子无法实现 。 例如, Flink SQL 就是使用 Process Function 实现的
阅读全文 »

一 简介 多流转换可以分为“分流”和“合流”两大类。目前分流的操作一般是通过侧输出流(side output)来实现,而合流的算子比较丰富,根据不同的需求可以调用 union 、connect、 join 以及 coGroup 等接口进行连接合并操作。 二 分流 所谓“分流”,就是将一条数据流拆分成完全独立的两条、甚至多条流。 在早期的版本中,DataStream API 中提供了一个.split()方法,专门用来将一条流“切分” 成多个。在 Flink 1.13 版本中,已经弃用了.split()方法,取而代之的是直接用处理函数(processfunction)的侧输出流(side ou
阅读全文 »

一 简介 流式计算分为无状态和有状态两种情况 * 无状态的计算观察每个独立事件,并根据最后一个事件输出结果。 * 有状态的计算则会基于多个事件输出结果。 1 2 3 4 5 6 7 8 9 无状态流处理分别接收每条数据记录,然后根据最新输入的数据生成输出数据 [] ---> [操作] --->[] 有状态流处理维护所有已处理记录的状态值,并根据每条新输入的记录更新状态,因此输出记录(灰条)反映的是综合考虑多个事件之后的结果 [] ---->[ 操作 ] ----> [] ^ | | | | | | v
阅读全文 »

一 简介 ​ 目前有许多数据分析的场景从批处理到流处理的演变, 虽然可以将批处理作为流处理的特殊情况来处理,但是分析无穷集的流数据通常需要思维方式的转变并且具有其自己的术语(例如,“windowing(窗口化)”、“at-least-once(至少一次)”、“exactly-once(只有一次)” )。 对于刚刚接触流处理的人来说,这种转变和新术语可能会非常混乱。 Apache Flink 是一个为生产环境而生的流处理器,具有易于使用的 API,可以用于定义高级流分析程序。 Flink 的 API 在数据流上具有非常灵活的窗口定义,使其在其他开源流处理框架中脱颖而出。 接下来,我们将讨论
阅读全文 »