Apache Flink

Flink:What is stream processing?

ⅰ亾dé卋堺 提交于 2020-08-08 04:08:52
Ververica was founded by the original creators of Apache Flink®, and we’ve spent a long time solving problems in the stream processing space. In this introductory write-up, we’ll provide our perspective on stream processing and where Apache Flink fits in. Stream processing is the processing of data in motion , or in other words, computing on data directly as it is produced or received. The majority of data are born as continuous streams: sensor events, user activity on a website, financial trades, and so on – all these data are created as a series of events over time. Before stream processing,

Flink使用RestApi

百般思念 提交于 2020-08-07 16:33:18
flink是一个非常好用的流任务计算框架, 这次我们来试用flink的restApi来提交任务. 主要阐述几个常用的restapi, 包括上传jar包, 查询jar包, 提交任务, 查询任务, 删除任务等, 其它的比如删除jar包, 查询jobmanager, 查询taskmanager等等, 类推就可以得出了, 不在这里进行重复介绍了 1, 上传jar包 public static boolean uploadJar ( File jarFile ) { RequestBody requestBody = new MultipartBody . Builder ( ) . setType ( MultipartBody . FORM ) . addFormDataPart ( "file" , jarFile . getName ( ) , RequestBody . create ( MediaType . parse ( "multipart/form-data" ) , jarFile ) ) . build ( ) ; Request request = new Request . Builder ( ) . url ( "http://host:port/jars/upload" ) . addHeader ( userAgent , userAgentVal ) .

OSS 数据湖实践 —— 使用EMR JindoFs Cache提升性能

妖精的绣舞 提交于 2020-08-07 03:48:01
通过使用cache缓存机制,减少数据分析处理过程中直读OSS的次数,不仅能够提高性能,更能减少与OSS的交互流量,减少数据分析成本与时间开销。 前提条件 已注册阿里云账号,详情请参见注册云账号。 已开通E-MapReduce服务和OSS服务。 已完成云账号的授权,详情请参见角色授权。 已创建Haoop集群,且带有Hive组件,且配置OSS数据源。 步骤一:设置JindoFs Cache 打开smartdata服务中client配置, 把jfs.cache.data-cache.enable为1, 表示打开JindoFs的cache功能打开 步骤二:进行作业测试 数据分析作业具体可看其他OSS数据湖实践文档功能 OSS Spark 实践文档 OSS Flink 实践文档 OSS Hive 实践文档 来源: oschina 链接: https://my.oschina.net/u/4360916/blog/4292519

软件自动化测试有了测试工程师就等于有了质量?

筅森魡賤 提交于 2020-08-06 19:42:54
何为软件测试? 软件测试是软件工程当中不可或缺的一个过程。在软件工程中,测试者充当“ 虚拟用户 ”对软件产品进行检验。只有经过严格测试的软件产品,才能发布给用户使用。只要有软件的地方,就有软件测试。 百度百科的官方定义如下: 软件测试(实际输出与预期输出间的比较过程) (英语: Software Testing ),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出之间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行过程,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。 从事软件测试第7个年头,从菜鸟成长起来,一路的坎坷促使我想把个人知识和成长经验分享给大家,希望对你有所帮助,感谢支持。 测试是一门技术, 更是一门艺术. 也许你今天拥有的技术, 明天就会被淘汰. 同时需要我们开拓思维和眼界, 积极拥抱变化, 学习新知识, 新方法,新技能, 计算机领域讲究的是实践, 学习更要讲究方式方法. 学习和动手一定要结合, 光看不练,犹如看武功秘籍, 是永远成不了武功大侠的. 一、有了测试工程师=质量? 1.测试工程师职责 评估对用户的影响以及软件产品整体目标上的风险 从用户的角度来思考质量方面各种问题 从开发角度来看,测试编写用户使用场景方面的自动化用例代码 从产品角度来看,他们评估整体测试覆盖度

实时即未来?一个小微企业心中的流计算

非 Y 不嫁゛ 提交于 2020-08-06 14:57:13
摘要:本文由墨芷技术团队唐铎老师分享,主要讲述其技术团队内部引入流计算的整个过程,包括最初的决策、期间的取舍以及最终落地,一路走来他们的思考、感悟以及经验分享。 初识 Flink 为什么一定要上 Flink 一个小例子 总结 Tips: “实时即未来”在很多人的眼中可能只是一句口号,但在墨芷,这是他们亲手创造的故事。 大家好,我们是浙江墨芷信息科技有限公司,一个刚刚满3年的创业团队,主营业务是电商代运营,目前是淘宝四星级服务商。 我们的核心团队先后服务于国内知名女装、家电、母婴、男装、童装、珠宝饰品、化妆品等多个品类知名品牌商,具有丰富的品牌运营管理经验,服务过的品牌均在行业前列。 主营业务围绕泛时尚领域(服装、婴童、美妆、生活家居、珠宝饰品)互联网平台品牌运营及全网品牌推广,涉及品牌定位与推广、电商运营、商品企划与经营、视觉设计、营销推广、顾客服务、仓储物流等综合端到端服务。 本文将分享墨芷与流计算结缘的故事。 01 初识Flink 第一次接触 Flink 流计算是在18年9月的云栖大会上,大沙老师与在场以及线上的开发者们分享 Flink,会场座无虚席,会场门外还围着三五层的听众。虽然老师的讲解时间不长,听的也是一知半解,却有种很强烈感觉,“实时,即是未来”。 从云栖小镇回来后,跟自己的团队讨论了一下,大家决定向 Flink 开进,但前进的难度是我们没有预料到的

OSS数据湖实践——EMR + Flink + OSS案例

旧街凉风 提交于 2020-08-06 10:56:25
本文介绍使用Flink大数据分析引擎,基于EMR,利用OSS云存储数据,实现一个分析案例。 前提条件 • 已注册阿里云账号,详情请参见注册云账号。 • 已开通E-MapReduce服务和OSS服务。 • 已完成云账号的授权,详情请参见角色授权。 • 已创建Haoop集群,且带有spark组件。 • 相关更多配置请参考OSS入门文档。 步骤一:数据上传至oss hadoop fs -put course2.csv oss://your-bucket-name/ 步骤二:编写处理代码,及打包 package org.myorg.quickstart import org.apache.flink.api.scala._ import org.apache.flink.table.api.scala._ import org.apache.flink.table.api._ import org.apache.flink.table.api.TableEnvironment object OSSExample { def main(args: Array[String]) { // set up the batch execution environment case class Course(Id : Int, Subject : String, Level : String) val

深入解读Flink资源管理机制

跟風遠走 提交于 2020-08-06 10:09:15
作者:宋辛童(五藏) 整理:王文杰(Flink 社区志愿者) 摘要:本文根据 Apache Flink 系列直播整理而成,由阿里巴巴高级开发工程师宋辛童分享。文章主要从基本概念、当前机制与策略、未来发展方向等三个方面帮助开发者深入理解 Flink 的资源管理机制。 基本概念 当前机制与策略 未来发展方向 Tips: 点击「下方链接」可查看更多数仓系列视频~ https://ververica.cn/developers/flink-training-course-data-warehouse/ 1. 基本概念 1.1 相关组件 我们今天介绍的主要是与 Flink 资源管理相关的组件,我们知道一个 Flink Cluster 是由一个 Flink Master 和多个 Task Manager 组成的,Flink Master 和 Task Manager 是进程级组件,其他的组件都是进程内的组件。 图1. Flink 资源管理相关组件 如图1所示,一个 Flink Master 中有一个 Resource Manager 和多个 Job Manager ,Flink Master 中每一个 Job Manager 单独管理一个具体的 Job ,Job Manager 中的 Scheduler 组件负责调度执行该 Job 的 DAG 中所有 Task ,发出资源请求

flink 1.9.1异常:JDBCUpsertTableSink 使用Postgresql连接时报错

柔情痞子 提交于 2020-08-06 06:50:00
文章目录 异常 问题原因 解决 测试 异常 Caused by: java.sql.BatchUpdateException: Batch entry 0 INSERT INTO "action_log" ( "id" , "cnt" ) VALUES ( '1' , 1 ) ON CONFLICT ( "id" DO UPDATE SET "id" = EXCLUDED. "id" , "cnt" = EXCLUDED. "cnt" was aborted: ERROR: syntax error at or near "DO" 使用JDBCUpsertTableSink写数据到Postgresql时报错,代码如下: val options = JDBCOptions . builder ( ) . setDBUrl ( "jdbc:postgresql://192.168.10.10:5432/postgres" ) . setDriverName ( "org.postgresql.Driver" ) . setUsername ( "postgres" ) . setPassword ( "xxx" ) . setTableName ( "action_log" ) . build val tableSche : TableSchema = TableSchema .

Spark Streaming,Flink,Storm,Kafka Streams,Samza:如何选择流处理框架

笑着哭i 提交于 2020-08-06 06:48:29
![](https://img2020.cnblogs.com/blog/1089984/202006/1089984-20200610080225004-690722209.png) 根据最新的统计显示,仅在过去的两年中,当今世界上90%的数据都是在新产生的,每天创建2.5万亿字节的数据,并且随着新设备,传感器和技术的出现,数据增长速度可能会进一步加快。 从技术上讲,这意味着我们的大数据处理将变得更加复杂且更具挑战性。而且,许多用例(例如,移动应用广告,欺诈检测,出租车预订,病人监护等)都需要在数据到达时进行实时数据处理,以便做出快速可行的决策。这就是为什么分布式流处理在大数据世界中变得非常流行的原因。 如今,有许多可用的开源流框架。有趣的是,几乎所有它们都是相当新的,仅在最近几年才开发出来。因此,对于新手来说,很容易混淆流框架之间的理解和区分。在本文中,我将首先大致讨论流处理的类型和方面,然后比较最受欢迎的开源流框架:Flink,SparkStreaming,Storm,KafkaStream。我将尝试(简要地)解释它们的工作原理,它们的用例,优势,局限性,异同。 ## **什么是流/流处理:** 流处理的最优雅的定义是:一种数据处理引擎,其设计时考虑了无限的数据集。 与批处理不同,批处理以工作中的开始和结束为界,而工作是在处理有限数据之后完成的,而流处理则是指连续不断地处理天

Flink Sql教程(8)

给你一囗甜甜゛ 提交于 2020-08-06 06:34:41
Flink精准去重 概述 为啥需要去重 在某些情况下,由于上游的作业不是端到端的exactly-once,在上游出现问题自动failover的时候,该任务的sink端很大可能出现重复数据;这些重复数据又会影响下游的聚合作业(如SUM,COUNT)。所以,我们的作业需要去重完再进行计算 去重方法 TopN(Flink官网推荐的方式) Group By UDTF(维表去重) 各自优缺点 前两者纯内存去重,效率高,速度快,使用简单;但是一旦任务KILL再启动就会有状态丢失,那么下游计算过的数据又会计算一次;同样,因为使用到STATE,那么就要配置合理的STATE TTL,不然STATE会越来越大,对checkPoint会有影响 第三个的问题在于需要用户手写UDTF,难度较高(写UDTF可以参考 Flink UDF );其次状态保存在存储中间件中,查询和插入都是同步操作,效率较低,受网络和中间件的影响比较大;最后,如果上游发生撤回流,无法撤回中间件中的数据,会导致数据被错误过滤;也有优点:任务重启之后,不会影响下游数据的准确性。 下面我们开始依次看看怎么用的 TopN 语法: SELECT [ column_list ] FROM ( SELECT [ column_list ] , ROW_NUMBER ( ) OVER ( [ PARTITION BY col1 [ , col2 .