检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
优化小文件场景下的Spark SQL性能 配置场景 Spark SQL的表中,经常会存在很多小文件(大小远小于HDFS块大小),每个小文件默认对应Spark中的一个Partition,也就是一个Task。在很多小文件场景下,Spark会起很多Task。当SQL逻辑中存在Shuff
DBCServer),如果分配给它多个Executor,可是却没有任何任务分配给它,而此时有其他的应用却资源紧张,这就造成了很大的资源浪费和资源不合理的调度。 动态资源调度就是为了解决这种场景,根据当前应用任务的负载情况,实时的增减Executor个数,从而实现动态分配资源,使整个Spark系统更加健康。
使用新版本参数设置executor的overhead内存: spark.executor.memoryOverhead=4096 父主题: 性能优化类
nodemanager.resource.memory-mb”的值,请根据集群的节点内存实际情况调大该值。 保存配置并重启受影响的服务或实例。 父主题: 性能优化类
API进行Storm拓扑的开发。 开发流程中各阶段的说明如图1和表1所示: 图1 拓扑开发流程 表1 Storm应用开发的流程说明 阶段 说明 参考文档 了解基本概念 在开始开发应用前,需要了解Storm的基本概念,了解场景需求,拓扑等。 Storm应用开发常用概念 准备开发和运行环境 S
FlinkSQL JSON_VALUE函数性能优化 本章节适用于MRS 3.5.0及以后版本。 使用场景 内置JSON_VALUE函数解析一个JSON item的多个字段时,复用上次JSON item的解析结果,提升算子性能。 使用方法 配置Flink作业时,可通过在FlinkServer
如果是非maven工程,则手动收集如上jar包,添加到工程的classpath中。 修改拓扑提交部分代码,下面以WordCount为例: Storm拓扑的构造部分保持不变,无需修改,包括使用Storm API开发的Spout和Bolt都无需修改。 TopologyBuilder builder =
如何对insert overwrite自读自写场景进行优化 场景说明 对于需要使用动态分区插入(使用历史分区更新)数据到目的表中,且和数据源表是同一张表时,由于直接在原表上执行insert overwrite可能会导致数据丢失或数据不一致的风险,建议先使用一个临时表来处理数据,再执行insert
如何对insert overwrite自读自写场景进行优化 场景说明 对于需要使用动态分区插入(使用历史分区更新)数据到目的表中,且和数据源表是同一张表时,由于直接在原表上执行insert overwrite可能会导致数据丢失或数据不一致的风险,建议先使用一个临时表来处理数据,再执行insert
配置场景 Spark优化sql的执行,一般的优化规则都是启发式的优化规则,启发式的优化规则,仅仅根据逻辑计划本身的特点给出优化,没有考虑数据本身的特点,也就是未考虑算子本身的执行代价。Spark在2.2中引入了基于代价的优化规则(CBO)。CBO会收集表和列的统计信息,结合算子
配置场景 Spark优化sql的执行,一般的优化规则都是启发式的优化规则,启发式的优化规则,仅仅根据逻辑计划本身的特点给出优化,没有考虑数据本身的特点,也就是未考虑算子本身的执行代价。Spark在2.2中引入了基于代价的优化规则(CBO)。CBO会收集表和列的统计信息,结合算子
Storm样例程序开发思路 通过典型场景,可以快速学习和掌握Storm拓扑的构造和Spout/Bolt开发过程。 场景说明 一个动态单词统计系统,数据源为持续生产随机文本的逻辑单元,业务处理流程如下: 数据源持续不断地发送随机文本给文本拆分逻辑,如“apple orange apple”。
Storm样例程序开发思路 通过典型场景,用户可以快速学习和掌握Storm拓扑的构造和Spout/Bolt开发过程。 场景说明 一个动态单词统计系统,数据源为持续生产随机文本的逻辑单元,业务处理流程如下: 数据源持续不断地发送随机文本给文本拆分逻辑,如“apple orange apple”。
Storm样例程序开发思路 通过典型场景,您可以快速学习和掌握Storm拓扑的构造和Spout/Bolt开发过程。 场景说明 一个动态单词统计系统,数据源为持续生产随机文本的逻辑单元,业务处理流程如下: 数据源持续不断地发送随机文本给文本拆分逻辑,如“apple orange apple”。
创建Strom Bolt 功能介绍 所有的消息处理逻辑都被封装在各个Bolt中。Bolt包含多种功能:过滤、聚合等等。 如果Bolt之后还有其他拓扑算子,可以使用OutputFieldsDeclarer.declareStream定义Stream,使用OutputCollector.emit来选择要发射的Stream。
创建Storm Bolt 功能介绍 所有的消息处理逻辑都被封装在各个Bolt中。Bolt包含多种功能:过滤、聚合等。 如果Bolt之后还有其他拓扑算子,可以使用OutputFieldsDeclarer.declareStream定义Stream,使用OutputCollector.emit来选择要发射的Stream。
创建Storm Bolt 功能介绍 所有的消息处理逻辑都被封装在各个Bolt中。Bolt包含多种功能:过滤、聚合等等。 如果Bolt之后还有其他拓扑算子,可以使用OutputFieldsDeclarer.declareStream定义Stream,使用OutputCollector.emit来选择要发射的Stream。
多种物理执行计划,如何指导编译器选择效率最高的执行计划,这就是优化器的主要作用。传统数据库(例如Oracle)的优化器有两种:基于规则的优化器(Rule-Based Optimization,RBO)和基于代价的优化器(Cost-Based Optimization,CBO)。 RBO
keytab”和“krb5.conf”文件及准备运行环境时获取的配置文件放到样例工程的“storm-examples\src\main\resources”目录下。 若要在Windows或Linux中未安装客户端时提交拓扑,则需要将“streaming-site.xml”和“storm
若要在Windows或Linux中未安装客户端时提交拓扑,则需要将“streaming-site.xml”和“storm.yaml”都放入样例工程的“storm-examples\src\main\resources”目录下。 若要在Linux安装客户端时提交拓扑,只需要将“streaming-site