批处理

Flink-Table BatchTableEnvironment实践编程(二)

为君一笑 提交于 2020-01-14 20:34:37
了解了flink table 简单概念,在开发中实际操作起来,看一下代码的具体实践 一、BatchTableEnvironment用于批处理场景,批处理的对象分别是 Java 的 DataSet 和 Scala 的 DataSet,BatchTableEnvironment 提供了 DataSet 和 Table 之间相互转换的接口 二、本实例主要是计算学生的总得分数,采用原始cvs文本作为source输入 三、涉及的cvs文本信息如下: 学生姓名 性别 学科 分数 张三 男 语文 90.5 张三 男 数学 100 张三 男 外语 80 李四 女 语文 68 王二 女 外语 99 四、依赖的实体类信息如下: @Data public class StudentInfo { private String name; private String sex; private String course; private Float score; private Long timestamp; } @Data public class StudentScoreResult { public String name; public float sum_total_score; public StudentScoreResult() {} } 五、具体flink代码实现信息如下:

Unity批处理生成/拆分图集

怎甘沉沦 提交于 2020-01-14 19:46:39
要写游戏Demo,所以临时扒了游戏资源来用,你懂的。然鹅~,非Unity开发的游戏,大多使用TexturePacker制作图集,这东东Unity无法直接使用,虽然Sprite Editor自带三种拆分图集的方法,但是会有误差,往往不能达到要求,尤其是帧动画图集对子图大小和偏移要求必须精准,稍有误差就会鬼畜。 网上找了好久图集拆分工具,要么是根据透明像素自动拆分,要么是python写的,还需要配置一堆环境,安装所需库。最终无果,一怒之下自己写个吧,毕竟也算个痛点。 图集一般会包含两个文件,一个是记录子图位置和偏移的图集配置表,通常是plist格式,另一个是合图。 一.生成图集:这里的生成图集指的是根据图集表精准还原生成子图的大小和偏移数值。 实际上就是根据图集表自动填充如图所示区域的数据: 图1 这个需求很简单,怎么实现我不管😎: 很明显只需以下两步: 1. 解析图集配置表: 很遗憾,我随手扒来的游戏资源是使用 libgdx (一款小众游戏引擎,我没用过的统统算小众!!!) 开发的。它使用的图集格式与plist不同,所以想要解析plist格式,那就自己个儿写解析部分吧! libgdx所用图集格式: img_atlas.png format: RGBA8888 filter: Linear, Linear repeat: none img_0 rotate: false xy: 2,

批处理 rewriteBatchedStatements=true

只愿长相守 提交于 2020-01-14 00:01:20
最近在优化大批量数据插入的性能问题。 项目原来使用的大批量数据插入方法是Mybatis的foreach拼接SQL的方法。 我发现不管改成Mybatis Batch提交或者原生JDBC Batch的方法都不起作用,实际上在插入的时候仍然是一条条记录的插,速度远不如原来Mybatis的foreach拼接SQL的方法。这对于常理来说是非常不科学的。 下面先罗列一下三种插入方式: public class NotifyRecordDaoTest extends BaseTest { @Resource(name = "masterDataSource") private DataSource dataSource; @Test public void insert() throws Exception { Connection connection = dataSource.getConnection(); connection.setAutoCommit(false); String sql = "insert into notify_record(" + " partner_no," + " trade_no, loan_no, notify_times," + " limit_notify_times, notify_url, notify_type,notify_content,"

Flink初步了解

旧街凉风 提交于 2020-01-13 18:09:38
Flink初步了解 废话少说---- 1 基本框架 2 Flink简介 2.1 Fink是什么 2.2 Flink的来历 2.3 Flink的特点 2.3.1 流处理特性 2.3.2 API支持 2.3.3 Libraries支持 2.3.4 整合支持 2.3.5 Flink生态圈 3 Flink组件栈 3.1 Deployment层 3.2 Runtime层 3.3 Libaries层 3.4 API层 4 Flink自身优势 5 Flink分布式环境运行 5.1 JobManager 5.2 TaskManager 5.3 Client 6 Flink下载安装 6.1 MethodOne 6.2 MethodTwo 7 Flink入门程序 8 实时技术对比。 9 既往平台问题 10 现有案例 10.1 场景一:Event-driven Applications【事件驱动】 10.2 场景二:Data Analytics Applications【分析】 10.3 场景三:Data Pipeline Applications【管道式ETL】 11 现有案例 11.1 阿里巴巴 11.1.1 实时监控 11.1.2 实时报表 11.1.3 流数据分析 11.1.4 实时仓库 11.2 滴滴出行 废话少说---- 1 基本框架 2 Flink简介 2.1 Fink是什么 Apache

计算机与操作系统简介

南楼画角 提交于 2020-01-13 04:08:05
阅读目录   手工操作 —— 穿孔卡片   批处理 —— 磁带存储和批处理系统   多道程序系统   分时系统   实时系统   通用操作系统   操作系统的进一步发展   操作系统的作用 手工操作 —— 穿孔卡片 1946年第一台计算机诞生--20世纪50年代中期,计算机工作还在采用手工操作方式。此时还没有操作系统的概念。   程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把程序和数据输入计算机内存,接着通过控制台开关启动程序针对数据运行;计算完毕,打印机输出计算结果;用户取走结果并卸下纸带(或卡片)后,才让下一个用户上机。 手工操作方式两个特点:   (1)用户独占全机。不会出现因资源已被其他用户占用而等待的现象,但资源的利用率低。   (2)CPU 等待手工操作。CPU的利用不充分。 20世纪50年代后期,出现 人机矛盾 :手工操作的慢速度和计算机的高速度之间形成了尖锐矛盾,手工操作方式已严重损害了系统资源的利用率(使资源利用率降为百分之几,甚至更低),不能容忍。唯一的解决办法:只有摆脱人的手工操作,实现作业的自动过渡。这样就出现了成 批处理 。 批处理 —— 磁带存储   批处理系统:加载在计算机上的一个 系统软件 ,在它的控制下,计算机能够自动地、成批地处理一个或多个用户的作业(这作业包括程序、数据和命令)。 联机批处理系统  

Windows批处理修改文件名

你。 提交于 2020-01-13 03:03:33
需求描述: 文件夹有很多文件,需要统一的命名格式,比如要命名为下面的格式: 手动命名费时费力,这时候我们可以借助批处理: 批处理实现 其实之前也用过,一直没在博客上写过,最近看到有需求,就写了一篇: 新建文本文件,后缀为txt,复制以下内容进去,然后修改后缀为bat @echo off & setlocal EnableDelayedExpansion set a = 1 for /f "delims=" %%i in ( 'dir /b *.jpg' ) do ( if not "%%~ni" == "%~n0" ( if ! a ! LSS 10 ( ren "%%i" "softcopyimg_!a!.jpg" ) else ren "%%i" "softcopyimg_!a!.jpg" set/a a+ = 1 ) ) 双击运行即可: 来源: CSDN 作者: 程序猿小zhou 链接: https://blog.csdn.net/qq_41113081/article/details/103896455

想成为大数据开发工程师,你必须掌握的开发流程图是这样的

痴心易碎 提交于 2020-01-11 02:34:58
1、数据处理主要技术 Sqoop :(发音:skup)作为一款开源的离线数据传输工具,主要用于Hadoop(Hive) 与传统数据库(MySql,PostgreSQL)间的数据传递。它可以将一个关系数据库中数据导入Hadoop的HDFS中, 也可以将HDFS中的数据导入关系型数据库中。 Flume: 实时数据采集的一个开源框架,它是Cloudera提供的一个高可用用的、高可靠、分布式的海量日志采集、聚合和传输的系统。目前已经是Apache的顶级子项目。使用Flume可以收集诸如日志、时间等数据 并将这些数据集中存储起来供下游使用(尤其是数据流框架,例如Storm)。和Flume类似的另一个框架是Scribe(FaceBook开源的日志收集系统,它为日志的分布式收集、统一处理提供一个可扩展的、高容错的简单方案)  Kafka: 通常来说Flume采集数据的速度和下游处理的速度通常不同步,因此实时平台架构都会用一个消息中间件来缓冲,而这方面最为流行和应用最为广泛的无疑是Kafka。它是由LinkedIn开发的一个分布式消息系统, 以其可以水平扩展和高吞吐率而被广泛使用。目前主流的开源分布式处理系统(如Storm和Spark等)都支持与Kafka 集成。 Kafka是一个基于分布式的消息发布-订阅系统,特点是速度快、可扩展且持久。与其他消息发布-订阅系统类似

Flink初探-为什么选择Flink

只谈情不闲聊 提交于 2020-01-11 02:05:49
本文主要记录一些关于Flink与storm,spark的区别, 优势, 劣势, 以及为什么这么多公司都转向Flink. What Is Flink 一个通俗易懂的概念: Apache Flink 是近年来越来越流行的一款开源大数据计算引擎,它同时支持了批处理和流处理. 这是对Flink最简单的认识, 也最容易引起疑惑, 它和storm和spark的区别在哪里? storm是基于流计算的, 但是也可以模拟批处理, spark streaming也可以进行微批处理, 虽说在性能延迟上处于亚秒级别, 但也不足以说明Flink崛起如此迅速(毕竟从spark迁移到Flink是要成本的). 最显而易见的原因 网上最热的两个原因: Flink灵活的窗口 Exactly once语义保证 这两个原因可以大大的解放程序员, 加快编程效率, 把本来需要程序员花大力气手动完成的工作交给框架, 下面简单介绍一下这两个特征. 1.什么是 Window 在流处理应用中,数据是连续不断的,因此我们不可能等到所有数据都到了才开始处理。当然我们可以每来一个消息就处理一次,但是有时我们需要做一些聚合类的处理,例如:在过去的1分钟内有多少用户点击了我们的网页。在这种情况下,我们必须定义一个窗口,用来收集最近一分钟内的数据,并对这个窗口内的数据进行计算。 窗口可以是时间驱动的(Time Window, 例如: 每30秒钟

操作系统的发展史

别说谁变了你拦得住时间么 提交于 2020-01-10 17:57:04
操作系统的发展史 一、手工操作———穿孔卡片 1946年第一台计算机诞生--20世纪50年代中期,计算机工作还在采用手工操作方式。此时还没有操作系统的概念。 程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把程序和数据输入计算机内存,接着通过控制台开关启动程序针对数据运行;计算完毕,打印机输出计算结果;用户取走结果并卸下纸带(或卡片)后,才让下一个用户上机。 手工操作方式两个特点: 用户独占全机。不会出现因资源已被其他用户占用而等待的现象,但资源的利用率低。 CPU 等待手工操作。CPU的利用不充分。 20世纪50年代后期,出现 人机矛盾 。:手工操作的慢速度和计算机的高速度之间形成了尖锐矛盾,手工操作方式已严重损害了系统资源的利用率(使资源利用率降为百分之几,甚至更低),不能容忍。唯一的解决办法:只有摆脱人的手工操作,实现作业的自动过渡。这样就出现了成 批处理 。 二、批处理——磁带存储 2.1 联机批处理系统 [ ]( http://ww 主机与输入机之间增加一个存储设备——磁带,在运行于主机上的监督程序的自动控制下,计算机可自动完成:成批地把输入机上的用户作业读入磁带,依次把磁带上的用户作业读入主机内存并执行并把计算结果向输出机输出。完成了上一批作业后,监督程序又从输入机上输入另一批作业,保存在磁带上,并按上述步骤重复处理。