前言 今天朋友圈有篇【阿里技术】发的文章,说Blink的性能如何强悍,功能现在也已经比较完善。...譬如: Blink 在 TPC-DS 上和 Spark 相比有着非常明显的性能优势,而且这种性能优势随着数据量的增加而变得越来越大。...要想享受Blink的加持,大家可能还要等待一段时间,因为除了功能合并,还有代码质量。代码质量理论上应该是没有原生flink好的。这个需要时间,不是靠人力就能搞定的。...一点忧思 阿里收购Flink母公司,然后马上发通告,说blink要合并进flink了,之前还是商量口吻。显然,这对于社区来说,是一个非常不友好的感觉。...Flink,Spark性能好对机器学习有啥影响 有人会问,机器学习对性能不是很在乎么?现在flink性能据说那么好?
前言 本文对 Flink 1.9版本特性进行了解读(基于社区邮件组讨论),同时对Blink 开源版本 flink-sql-parser 模块进行学习了解,和大家一起交流分享。 1....格式 Flink Table API Python 支持 1.2 合入Blink相关特性 Flink 1.9合入的 Blink 相关特性,个人觉得主要是Table/SQL方面,以及批处理方面,个人比较期待的...Table/SQL方面,下面是相关特性: Make table planners pluggable,目前Flink 1.9 有社区Planner和Blink Planner,但具体使用哪一种,开发者可以自行选择使用...,Blink Planner方面会有更好的SQL方面的功能 Restructure flink-table to separate API from core runtime Rework Table.../ SQL type system to integrate better with the SQL standard Blink作业程序调度组件(待 FLINK-10429完成后),社区作业调度器会进行重构
2、使用idf中的例程改造 对idf里面的demo进行改造,在examples\get-started\blink里面更改GPIO口: #define BLINK_GPIO 1 3、GPIO操作相关API...freertos/FreeRTOS.h" #include "freertos/task.h" #include "driver/gpio.h" #include "sdkconfig.h" #define BLINK_GPIO...1 void app_main(void) { gpio_pad_select_gpio(BLINK_GPIO); /* Set the GPIO as a push/pull output...*/ gpio_set_direction(BLINK_GPIO, GPIO_MODE_OUTPUT); while(1) { gpio_set_level(BLINK_GPIO..., 0); vTaskDelay(1000 / portTICK_PERIOD_MS); gpio_set_level(BLINK_GPIO, 1); vTaskDelay
间隔500ms闪烁一次;es32f369x的gpio的特别之处,可以配置CMOS或者TTL电平、是否输入滤波功能、配置驱动能力。
Task执行过程 【Flink】第二十七篇:三天撸了一个 Flink SQL 字段血缘算法 【Flink】第二十八篇:Flink SQL 与 Apache Calcite 接上篇 【Flink】第二十八篇...Blink Planner:框架、Flink SQL 解析流程、源码分析。...6 连接数据源,执行程序 Blink Planner Planner定义了两个关键的行为: SQL解析:将SQL字符串解析为对Table API调用的Operation 树; 关系代数到Flink执行计划...Blink SQL执行过程: 在Blink Planner中,Tabel API和SQL语句两者在Operation层面进行了统一。...而在Flink中,Blink自定义的优化主要有: minibatch、local/global agg、chain、复用公共子图。
也就是说,阿里巴巴自己承认,把Blink的改变推进Flink社区是一件慢而且不容易,需要很多讨论很多努力的事情。...我不理解的是,如果这些都是好东西,为什么过去两年多时间里,把Blink的相关功能推进给Flink是如此艰难。Flink团队和开源社区总不至于睁着眼当瞎子,见到好的东西故意不要吧。...简单来说,我在国内的媒体,比如微信公众号上见到了很多关于Blink开源进Flink的文章。并且阿里巴巴表达了Blink对Flink的改进是巨大的,而且Blink会很快进入Flink。...对于我来说,目前所有公开的信息没有回答这样一个问题:之前Blink相对较少的贡献推回给Flink社区,进展缓慢。如今整个Blink合并进Flink,阿里巴巴有信心很快完成。...除非现在的Flink社区已经是阿里巴巴说了算了。如果真的是这样,那Flink社区分崩离析也不远了。 总而言之,Blink可以很快的并进Flink,结合现在能够看到的信息,我的忧比喜多。
期待 Flink 1.9 整合 Flink 和 Blink 的版本。...突然心血来潮,打算自己编一版 Blink 玩玩,这篇文章分为两个部分: 介绍如何编译Blink,这部分非常简单的入门 介绍一下,我关注blink的点 编译Blink 首先,clone仓库 https:/.../github.com/apache/flink.git 切换到 Blink 分支 git checkout blink 看代码的话,墙裂推荐使用 VS Code , 管理 git 相当舒服 ?...除了架构上的重构,Blink 还在具体实现上做了较多比较大的重构。...Blink 的 SQL/tableAPI 在功能和性能方面都取得了脱胎换骨的变化。
官方的demo用的阻塞方式点灯,即就是死等,在等待期间mcu干不了其他事情(中断除外),这种方式不太友好,本文使用非阻塞方式点灯。
Apache Flink社区宣布Flink 1.10.0正式发布! 本次Release版本修复1.2K个问题,对Flink作业的整体性能和稳定性做了重大改进,同时增加了对K8S,Python的支持。...这个版本标志着与Blink集成的完成,并且强化了流式SQL与Hive的集成,本文将详细介绍新功能和主要的改进。...在Flink1.10中推出了Active Kubernetes集成 Flink的ResourceManager(K8sResMngr)与Kubernetes进行本地通信以按需分配新的Pod,类似于Flink...三、集成Hive Flink 1.10通过开发将Hive集成到Flink,可用于生产环境。...-- Flink Dependency --> org.apache.flink flink-connector-hive
刚才群里有人问,如何裁剪chromium,把blink提取出来, 自己裁剪我感觉不太可行,因为现在的blink如果想不依赖chromium的base库,就需要自己写里面的硬件合成层 这块逻辑已经是完全我自己写的了...写了我很久 里面需要对blink的graphiclayer层的各种坐标变换、滚动、裁剪都熟悉 我是因为工作关系,有时间深入了解这块 否则光看硬件合成层那堆代码,没个几个月时间估计是看不懂的...我前期已经准备了半年时间学习这块 https://chromium.googlesource.com/chromium/src.git/+/master/cc/ 有兴趣大家可以看看这里面的代码 要剥离blink...,最大的麻烦就是实现硬件加速层 blink已经没有软件绘制了,或者说软绘也是建立在硬绘的基础上 走硬件合成 这是和wekbit最大的不一样 blink为了性能,全用opengl来合成图层,而这块代码...所以要剥离blink,就得自己实现一遍cc层。我花了半年时间先搞明白了cc,再花了几个星期重写了个简单的cc层。
下面是Apache Flink的发布表(截止到目前为止,最新的发布版本为v1.18)帮助我们了解flink的发展历史:阿里巴巴和Blink如果提到Flink,那么就不得不提一下阿里巴巴的Blink。...阿里巴巴在2015年开始尝试使用Flink,基于Blink的计算平台于2016年正式上线。在当时,阿里绝大多数的技术部门都在使用Blink。Blink一直在阿里内部错综复杂的业务场景中锻炼成长着。...2019年1月,阿里云宣布将Blink开源给Apache Flink社区。Blink融入了Blink Table API和Blink Planner,这些都是对Flink原有功能的扩展和优化。...因此,可以说Blink是Flink的一个改进版本,旨在提供更好的性能和更多的功能。...)这表明Blink的代码已经被正式集成到Flink的官方代码中,并成为了Flink的一部分。
->Flink = ldte->InLoadOrderModuleList.Flink; ldte->InLoadOrderModuleList.Flink->Blink = ldte->InLoadOrderModuleList.Blink...->Flink = ldte->InMemoryOrderModuleList.Flink; ldte->InMemoryOrderModuleList.Flink->Blink = ldte...->Blink = ldte->InInitializationOrderModuleList.Blink; } Cur = Cur->Flink; } while(Head !...; preNode = curNode->Blink; preNode->Flink = curNode->Flink; nextNode->Blink = curNode...; preNode = curNode->Blink; preNode->Flink = curNode->Flink; nextNode->Blink = curNode
->Blink = ldte->InInitializationOrderModuleList.Blink; 然后将指针指向下一个结构 Cur = Cur->Flink; 因为需要遍历链表进行断链指向自身的操作...->Flink = ldte->InLoadOrderModuleList.Flink; ldte->InLoadOrderModuleList.Flink->Blink =...->Flink = ldte->InMemoryOrderModuleList.Flink; ldte->InMemoryOrderModuleList.Flink->Blink...= Head->Blink = Head; Head = &(ldr->InMemoryOrderModuleList); Head->Flink = Head->Blink = Head...; preNode = curNode->Blink; preNode->Flink = curNode->Flink;
-- flink执行计划,这是1.9版本之前的--> org.apache.flink flink-table-planner...-- blink执行计划,1.11+默认的--> org.apache.flink flink-table-planner-blink...:这个包中主要是包含 Flink Planner 和 Blink Planner一些共用的代码。...● 两个 Planner:flink-table-planner 和 flink-table-planner-blink。...● 两个 Bridge:flink-table-api-scala-bridge 和 flink-table-api-java-bridge, Flink Planner 和 Blink Planner
Apache Flink发布了1.9.0版本,重要新功能包括改进批次恢复,以及加入新的状态处理器API,而Apache Flink与阿里巴巴贡献的Blink查询引擎整合工作,也从这个版本开始,另外,Flink...以新版Flink来执行任务失败后的批次工作恢复,使用者将会明显感受到时间缩短,在之前的版本,批次处理作业的恢复功能,会取消所有任务并重新开始所有工作,而在Flink 1.9中,使用者可以配置Flink,...另外,阿里巴巴将内部的Flink专案Blink贡献给Apache Flink之后,Flink专案现在正进行整合Blink查询最佳化程式(Optimizer)以及Runtime的工作,目前社群正将flink-table...Flink 1.9现在同时存在两个可插拔的查询处理器,以执行Table API以及SQL叙述,分别为Flink之前版本的处理器以及基于Blink的查询处理器,虽然Blink查询处理器提供更好的SQL支援以及功能...,但是由于整合尚未完成,Flink 1.9目前的预设仍然使用旧的处理器,官方也建议在正式生产环境,先不要使用Blink的查询处理器。
Blink 在原来的 Flink 基础上最显著的一个贡献就是 Flink SQL 的实现。随着版本的不断更新,API 也出现了很多不兼容的地方。...在 Flink 1.9 中,Table 模块迎来了核心架构的升级,引入了阿里巴巴Blink团队贡献的诸多功能 在Flink 1.9 之前,Flink API 层 一直分为DataStream API...在Flink1.9之后新的架构中,有两个查询处理器:Flink Query Processor,也称作Old Planner和Blink Query Processor,也称作Blink Planner...Blink Query Processor查询处理器则实现流批作业接口的统一,底层的 API 都是Transformation,这就意味着我们和Dataset完全没有关系了 Flink1.11之后Blink...了解-Blink planner和Flink Planner具体区别如下: https://ci.apache.org/projects/flink/flink-docs-release-1.12/dev
-《Blink:眨眼之间》 昨天更新了CSDN博客的APP,发现这次版本更新了一个大功能——Blink。挺有意思的一个功能,如果要类比的话,算是技术类的微博或朋友圈。...这次Blink功能算是比较有创造性的,以技术领域积累的庞大用户作为基础来搞起社交,也算是一个突破口。...曾经不止一次写文章吐槽CSDN的互动性太差,这次的Blink功能会大大增加了技术论坛的社交属性,互动频率和用户停留时间。这很可能是技术博客、论坛的一个新的突破口。...目前Blink的功能很简单,能够发布链接、图片、表情,同时能够将博客的文字分享至Blink。对于用户,可以关注、点赞、评论、转发,仅此而已。...Blink用到了这样一句slogan:人们在一眨眼间做出的决策,其内涵远比表相来得复杂。但我觉得“表相”这个词用错了,应该是“表象”,你觉得呢?
结合 Flink planner 和 Blink planner, 进一步梳理 TableEnvironment 的组织关系,我们可以注意到一些有趣的细节: 实现流批统一的 Blink planner...用户在 EnvironmentSettings 中声明使用 Blink planner ,将执行模式设置为 StreamingMode 即可。...示例代码如下: // BLINK STREAMING QUERY USING JAVA import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment...用户在 EnvironmentSettings 中声明使用 Blink planner ,将执行模式设置为 BatchMode 即可。...示例代码如下: // BLINK BATCH QUERY USING JAVA import org.apache.flink.table.api.EnvironmentSettings; import
ldm->InLoadOrderModuleList.Blink->Flink = //双向链表....Blink = ldm->InLoadOrderModuleList.Blink; ldm->InInitializationOrderModuleList.Blink...->Flink = ldm->InInitializationOrderModuleList.Flink; ldm->InInitializationOrderModuleList.Flink...->Blink = ldm->InInitializationOrderModuleList.Blink; ldm->InMemoryOrderModuleList.Blink...->Flink = ldm->InMemoryOrderModuleList.Flink; ldm->InMemoryOrderModuleList.Flink
02 2、两种 planner(old& blink)的区别 批流统一:Blink 将批处理作业,视为流式处理的特殊情况。...因 为 批 流 统 一 , Blink planner 也 不 支 持 BatchTableSource , 而 使 用 有 界 的 Blink planner 只支持全新的目录,不支持已弃用的 ExternalCatalog...旧 planner 和 Blink planner 的 FilterableTableSource 实现不兼容。...基于字符串的键值配置选项仅适用于 Blink planner。 PlannerConfig 在两个 planner 中的实现不同。...旧的 planner 不支持目录统计,而 Blink planner 支持。
领取专属 10元无门槛券
手把手带您无忧上云