AGG

第05讲:Flink SQL & Table 编程和案例

*爱你&永不变心* 提交于 2020-05-06 00:17:17
我们在第 02 课时中使用 Flink Table & SQL 的 API 实现了最简单的 WordCount 程序。在这一课时中,将分别从 Flink Table & SQL 的背景和编程模型、常见的 API、算子和内置函数等对 Flink Table & SQL 做一个详细的讲解和概括,最后模拟了一个实际业务场景使用 Flink Table & SQL 开发。 Flink Table & SQL 概述 背景 我们在前面的课时中讲过 Flink 的分层模型,Flink 自身提供了不同级别的抽象来支持我们开发流式或者批量处理程序,下图描述了 Flink 支持的 4 种不同级别的抽象。 Table API 和 SQL 处于最顶端,是 Flink 提供的高级 API 操作。Flink SQL 是 Flink 实时计算为简化计算模型,降低用户使用实时计算门槛而设计的一套符合标准 SQL 语义的开发语言。 我们在第 04 课时中提到过,Flink 在编程模型上提供了 DataStream 和 DataSet 两套 API,并没有做到事实上的批流统一,因为用户和开发者还是开发了两套代码。正是因为 Flink Table & SQL 的加入,可以说 Flink 在某种程度上做到了事实上的批流一体。 原理 你之前可能都了解过 Hive,在离线计算场景下 Hive 几乎扛起了离线数据处理的半壁江山

那些在11gR2中可能惹祸的新特性,一张列表帮助你摆脱升级11gR2带来的烦恼

人走茶凉 提交于 2020-05-02 09:02:09
有很多朋友因为11gR2那些潜在的特性可能给升级后系统稳定运行带来麻烦而无法鼓足升级到11gR2的勇气,实际Oracle在开发新版本RDBMS软件时引入的一些特性有很好的理念的,但是往往这些理念会给已稳定的应用环境带来变数,最显著的就是10g/9i升级到11gR2时的执行计划稳定性,此外adaptive cursor sharing 自适应游标、automatic serial direct path自动判断串行直接路径读、deferred segment creation、GC read mostly DRM.......等等的一系列特性已经在大量的案例中被证明是不适合于大量国产Application的。 我在这篇文章里想做的是给出一张列表,能够将11gR2的优化器optimizer特性、和其他的如上列的这些可能引起问题的特性通过参数的方式给出一张列表,你可以选择性的禁用这些特性,前提是你的Applicaiton就该特性经过充分的测试,如果没有时间或者环境来测试这些新特性,那么还不如禁用这些特性,禁用新特性的结果也仅仅是回到老版本(一般是10gR2 10.2.0.4)的默认表现上来。 你肯定要问:" 如果都禁用了11gR2的特性,那么我还升级做什么?" 回答是: 首先这里给出的是一张禁用11gR2特性列表,如果你对部分特性已经很熟悉,那么你可以选择性而非全部地禁用这些特性

用Python学分析

久未见 提交于 2020-05-01 11:26:43
单因素方差分析(One-Way Analysis of Variance) 判断控制变量是否对观测变量产生了显著影响 分析步骤 1. 建立检验假设    - H0:不同因子水平间的均值无差异   - H1:不同因子水平间的均值有显著差异   - 【注意】有差异,有可能是所有因子水平间都存在差异,也有可能只有两个因子水平间的均值存在差异 2. 计算检验统计量F值   F = MSA / MSE   MSA = SSA / ( k - 1 ) MSA:组间均方, 对总体方差的一个估计   MSE = SSE / ( n - k ) MSE:组内均方,不论H0是否为真,MSE都是总体方差的一个无偏估计   SST = SSA + SSE SST:总误差平方和,反映全部观测值的离散情况 SSA:组间误差平方和,也称水平项误差平方和,反映各因子水平(总体)的样本均值之间的差异程度 SSE: 组内误差平方和 3. 确定P值 4. 方差分析表 5. 根据给定的显著性水平,并作出决策   根据F值进行假设检验   根据选定的显著性水平,F值大于临界值时,将拒绝原假设   根据P值进行假设检验 6. 进一步分析 方差齐性检验 多重比较检验   - 确定控制变量的不同水平对观测变量的影响程度   - 哪个水平的作用明显区别于其他水平   - 哪个水平的作用是不显著   - 等等 【python分析

Pandas:表计算与数据分析

别等时光非礼了梦想. 提交于 2020-05-01 02:57:54
目录 Pandas之Series Pandas之DataFrame 一、pandas简单介绍 1、pandas是一个强大的Python数据分析的工具包。 2、pandas是基于NumPy构建的。 3、pandas的主要功能 具备对其功能的数据结构DataFrame、Series 集成时间序列功能 提供丰富的数学运算和操作 灵活处理缺失数据 4、安装方法:pip install pandas 5、引用方法:import pandas as pd 二、Series Series是一种类似于一位数组的对象,由一组数据和一组与之相关的数据标签(索引)组成。 创建方式: pd.Series([ 4,7,-5,3 ]) pd.Series([ 4,7,-5,3],index=[ ' a ' , ' b ' , ' c ' , ' d ' ]) pd.Series({ ' a ' :1, ' b ' :2 }) pd.Series(0, index =[ ' a ' , ' b ' , ' c ' , ' d’]) 三、Series特性 Series支持数组的特性: 从ndarray创建Series:Series(arr) 与标量运算:sr*2 两个Series运算:sr1+sr2 索引:sr[0], sr[[1,2,4]] 切片:sr[0:2](切片依然是视图形式) 通用函数:np.abs

大数据——如何设计实时数据平台(设计篇)

和自甴很熟 提交于 2020-04-28 21:38:46
导读:本文将会分上下两篇对一个重要且常见的大数据基础设施平台展开讨论,即“实时数据平台”。 在上篇设计篇中,我们首先从两个维度介绍实时数据平台:从现代数仓架构角度看待实时数据平台,从典型数据处理角度看待实时数据处理;接着我们会探讨实时数据平台整体设计架构、对具体问题的考量以及解决思路。 在下篇技术篇中,我们会进一步给出实时数据平台的技术选型和相关组件介绍,并探讨不同模式适用哪些应用场景。希望通过对本文的讨论,读者可以得到一个有章可循、可实际落地的实时数据平台构建方案。 一、相关概念背景 1.1 从现代数仓架构角度看待实时数据平台 现代数仓由传统数仓发展而来,对比传统数仓,现代数仓既有与其相同之处,也有诸多发展点。首先我们看一下传统数仓(图1)和现代数仓(图2)的模块架构: 图1 传统数仓 图2 现代数仓 传统数仓大家都很熟悉,这里不做过多介绍,一般来说,传统数仓只能支持T+1天时效延迟的数据处理,数据处理过程以ETL为主,最终产出以报表为主。 现代数仓建立在传统数仓之上,同时增加了更多样化数据源的导入存储,更多样化数据处理方式和时效(支持T+0天时效),更多样化数据使用方式和更多样化数据终端服务。 现代数仓是个很大的话题,在此我们以概念模块的方式来展现其新的特性能力。首先我们先看一下图3中Melissa Coates的整理总结: 在图3 Melissa

第七周:Python

ⅰ亾dé卋堺 提交于 2020-04-28 11:45:17
python的应用场景 重复性的东西编写脚本 和对于大数据量的操作 数据搭建的环境 不建议自己在网上找下载,建议下载anaconda,可在清华镜像里面下载anaconda,下载安装之后可在桌面上找到程序image.png jupyer Notebook 为本次学习的常用项目,可进行可视化界面操作,分段 shift+光标执行 python基础 目录 1.数据类型 2.变量 3.三大结构 3.1列表 3.2元组 3.3字典 4.控制流 5.def命名函数 6.Numpy包 7.1 Series 7.2 dataframe 8.数据的筛选 9.数据的聚合 10.多表关联 11.多重索引 12.文本函数 13.空值&去重 14.apply函数 15.数据透视表 16.链接数据库 ** 1.数据类型: ** 数值型,直接输入可以进行计算 可用type进行数据类型的判断 返回整除的结果 显示余数的结果 int整数直接计算 在python里面单双引号基本没有影响,但是在一段话表示的时候里面有单引号,整段话两边套上双引号才能识别,都为单引号系统则识别不了。相反,整句里面用双引号,整句的时候则用单引号作为系统区分。 系统报错,将单引号改成双引号就可以识别(双引号为具体内容的边界) 边界用三引号的时候,内容可以包含单双引号的。 字符串:字符串同样不能直接进行计算,可用int转换成数字进行计算。

用pandas快速统计学生年龄班级等分组信息

混江龙づ霸主 提交于 2020-04-24 16:46:22
最近收到一个求助邮件,他的需求如下: 我是小学的一名统计员,因长期做统计工作,近期,自学一点python,但如何把excel中的8位数出生日期转成年龄,一直做不好,现请您帮忙一下,不知能否帮! 这个问题其实比较简单,做出来的最终形式如下: 主要涉及格式转换和分组统计的需求,那么我们就开始一步一步的完成这一次的任务。 1、读入excel文件 import pandas as pd file_name = r'学生信息表.xlsx' data = pd.read_excel(file_name) data 输出: 2、处理出生日期,转化为时间格式 这次我们用pandas自带的to_datetime函数,好用快捷。 data['出生日期'] = pd.to_datetime(data['出生日期'],format='%Y%m%d') 3、增加一列年龄 引入datetime包,根据当前时间的year减去出生日期得到。 import datetime as dt now = dt.datetime.today().year data['周岁'] = now - data['出生日期'].dt.year 输出: 4、对周岁、性别同时分组 熟悉教程的小伙伴知道,这一期的分组内容其实可以用pandas的透视表pivot_table函数解决。 这次我们就用另一种方法:groupby函数同样能搞定。

Qt使用GDI绘图(仅Windows平台)

偶尔善良 提交于 2020-04-13 14:46:09
【今日推荐】:为什么一到面试就懵逼!>>> 绘图引擎 Windows环境下二维绘图引擎有多种选择:GDI、GDI+、DirectDraw、Qt/QPainter、Agg、Cairo、skia、Direct2D、Direct3D、OpenGL等。 GDI:微软原生的二维绘图引擎。 优点:微软的全力支持,作为操作系统核心层效率方面不用担心,支持多种开发框架(含语言):WinSDK、MFC、Delphi等。 缺点:不是面向C++对象组织的,使用起来较为繁琐;不支持反锯齿,不支持复杂的绘图效果(这个相对于GDI+而言)。 GDI+:微软后来推出的二维绘图引擎。 优点:微软的全力支持,支持多种开发框架(含语言):WinSDK、MFC、Delphi等,可以实现复杂的绘图效果,如反锯齿、路径画刷等;面向对象的架构,使用起来比较方便。 缺点:绘图效率较GDI稍低,绘图交互性不如GDI(缺少GDI的支持位运算的绘图模式),开启反锯齿后效率不如Qt。 Qt:Qt的二维图形引擎是基于QPainter类的,绘图的效果取决于QPainter的设置。面向对象的方式组织,使用起来较为方便。 Agg:C++编写的开源绘图引擎(基于GPL协议) Cairo:C编写的开源绘图引擎(基于LGPL协议),大名鼎鼎的FireFox就是用这个绘图引擎的。 Skia:Google的Android的绘图引擎。 Direct2D

ClickHouse学习系列之三【配置文件说明】

左心房为你撑大大i 提交于 2020-04-12 16:06:49
背景 最近花了些时间看了下 ClickHouse文档 ,发现它在OLAP方面表现很优异,而且相对也比较轻量和简单,所以准备入门了解下该数据库系统。在介绍了 安装 和 用户权限管理 之后,本文对其配置文件做下相关的介绍说明。 说明 ClickHouse的配置文件是config.xml,默认在/etc/clickhouse-server/目录中,可以在conf.d和config.d目录中的*.xml和*.conf文件中覆盖各个设置。还可以为这些配置文件的元素指定replace或remove属性,如果均未指定,它将以递归方式合并元素的内容,从而替换重复子元素的值。如果指定了replace,将用指定的元素替换整个元素。如果指定了remove,则删除该元素。   配置文件还可以定义substitutions(替代)。如果元素具有 incl 属性,则文件中的相应值将被替换。替换文件的路径为/etc/metrika.xml。可以在配置文件加入 include_from 元素进行更改。替换值在此文件的/yandex/substitution_name元素中指定。如果 incl 中指定的替代不存在,则将其记录在日志中。为了防止ClickHouse记录缺少的替代项,请指定: optional= true 属性。 可以从ZooKeeper中进行替换,指定属性from_zk =“ /path/to

Elasticsearch7.6学习笔记1 Getting start with Elasticsearch

泪湿孤枕 提交于 2020-04-11 16:34:37
Elasticsearch7.6学习笔记1 Getting start with Elasticsearch 前言 权威指南中文只有2.x, 但现在es已经到7.6. 就安装最新的来学下. 安装 这里是学习安装, 生产安装是另一套逻辑. win es下载地址: https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.0-windows-x86_64.zip kibana下载地址: https://artifacts.elastic.co/downloads/kibana/kibana-7.6.0-windows-x86_64.zip 官方目前最新是7.6.0, 但下载速度惨不忍睹. 使用迅雷下载速度可以到xM. bin\elasticsearch.bat bin\kibana.bat 双击bat启动. docker安装 对于测试学习,直接使用官方提供的docker镜像更快更方便。 安装方法见: https://www.cnblogs.com/woshimrf/p/docker-es7.html 以下内容来自: https://www.elastic.co/guide/en/elasticsearch/reference/7.6/getting-started.html Index some