草庐IT

[​DuckDB] 多核算子并行的源码解析

DuckDB是近年来颇受关注的OLAP数据库,号称是OLAP领域的SQLite,以精巧简单,性能优异而著称。笔者前段时间在调研Doris的Pipeline的算子并行方案,而DuckDB基于论文《Morsel-DrivenParallelism:ANUMA-AwareQueryEvaluationFrameworkfortheMany-CoreAge》实现SQL算子的高效并行化的Pipeline执行引擎,所以笔者花了一些时间进行了学习和总结,这里结合了MarkRaasveldt进行的分享和原始代码来一一剖析DuckDB在执行算子并行上的具体实现。1.基础知识问题1:并行task的数目由什么决定?

[​DuckDB] 多核算子并行的源码解析

DuckDB是近年来颇受关注的OLAP数据库,号称是OLAP领域的SQLite,以精巧简单,性能优异而著称。笔者前段时间在调研Doris的Pipeline的算子并行方案,而DuckDB基于论文《Morsel-DrivenParallelism:ANUMA-AwareQueryEvaluationFrameworkfortheMany-CoreAge》实现SQL算子的高效并行化的Pipeline执行引擎,所以笔者花了一些时间进行了学习和总结,这里结合了MarkRaasveldt进行的分享和原始代码来一一剖析DuckDB在执行算子并行上的具体实现。1.基础知识问题1:并行task的数目由什么决定?

Spark RDD算子进阶(转换算子、行动算子、缓存、持久化)

 教程目录0x00教程内容0x01进阶算子操作1.创建RDD2.转换算子【1】reduceByKey(func)【2】groupByKey()【3】mapValues(func)【4】flatMapValues(func)【5】keys()【6】values()【7】sortByKey()【8】combineByKey(createCombiner,mergeValue,mergeCombiners)【9】subtractByKey()【10】cogroup()3.行动算子【1】countByKey()【2】lookup()【3】collectAsMap()0x02RDD的缓存与持久化1.缓存

Spark RDD算子进阶(转换算子、行动算子、缓存、持久化)

 教程目录0x00教程内容0x01进阶算子操作1.创建RDD2.转换算子【1】reduceByKey(func)【2】groupByKey()【3】mapValues(func)【4】flatMapValues(func)【5】keys()【6】values()【7】sortByKey()【8】combineByKey(createCombiner,mergeValue,mergeCombiners)【9】subtractByKey()【10】cogroup()3.行动算子【1】countByKey()【2】lookup()【3】collectAsMap()0x02RDD的缓存与持久化1.缓存

最强Flink算子大全手册,面试拿捏了~

大家好,我是老兵。Flink基于流编程模型,内置了很多强大功能的算子,可以帮助我们快速开发应用程序。作为Flink开发老手,大多算子的写法和场景想来已是了然于胸,但是使用过程常常会有一些小小的问题:部分算子长时间未用,忘了用法。。某些场景选择什么算子?如何选择?含糊不清。。工欲善其事,必先利其器!快速高效的使用合适的算子开发程序,往往可以达到事半功倍的效果。想着好记性不如烂笔头这个道理,特此整理一份常见的Flink算子开发手册!!也作为自己的工作笔记。欢迎大家收藏~1DataStreamAPIFlinkDataStreamAPI让用户灵活且高效编写Flink流式程序。主要分为DataSourc

最强Flink算子大全手册,面试拿捏了~

大家好,我是老兵。Flink基于流编程模型,内置了很多强大功能的算子,可以帮助我们快速开发应用程序。作为Flink开发老手,大多算子的写法和场景想来已是了然于胸,但是使用过程常常会有一些小小的问题:部分算子长时间未用,忘了用法。。某些场景选择什么算子?如何选择?含糊不清。。工欲善其事,必先利其器!快速高效的使用合适的算子开发程序,往往可以达到事半功倍的效果。想着好记性不如烂笔头这个道理,特此整理一份常见的Flink算子开发手册!!也作为自己的工作笔记。欢迎大家收藏~1DataStreamAPIFlinkDataStreamAPI让用户灵活且高效编写Flink流式程序。主要分为DataSourc

Spark性能调优-RDD算子调优篇(深度好文,面试常问,建议收藏)

Spark调优之RDD算子调优不废话,直接进入正题!1.RDD复用在对RDD进行算子时,要避免相同的算子和计算逻辑之下对RDD进行重复的计算,如下图所示:RDD的重复计算对上图中的RDD计算架构进行修改,得到如下图所示的优化结果:RDD架构优化2.尽早filter获取到初始RDD后,应该考虑尽早地过滤掉不需要的数据,进而减少对内存的占用,从而提升Spark作业的运行效率。本文首发于公众号:五分钟学大数据,欢迎围观!回复【书籍】即可获得上百本大数据书籍3.读取大量小文件-用wholeTextFiles当我们将一个文本文件读取为RDD时,输入的每一行都会成为RDD的一个元素。也可以将多个完整的文本