检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Spark SQL join优化 操作场景 Spark SQL中,当对两个表进行join操作时,利用Broadcast特性(请参见使用广播变量),将小表BroadCast到各个节点上,从而转变成非shuffle操作,提高任务执行性能。 这里join操作,只指inner join。
要启动聚合算法优化,在Spark客户端的“spark-defaults.conf”配置文件中进行设置。 表1 参数介绍 参数 描述 默认值 spark.sql.codegen.aggregate.map.twolevel.enabled 是否开启聚合算法优化: true:开启 false:不开启
优化Flink内存GC参数 操作场景 Flink是依赖内存计算,计算过程中内存不够对Flink的执行效率影响很大。可以通过监控GC(Garbage Collection),评估内存使用及剩余情况来判断内存是否变成性能瓶颈,并根据情况优化。 监控节点进程的YARN的Container
优化Flink内存GC参数 操作场景 Flink是依赖内存计算,计算过程中内存不够对Flink的执行效率影响很大。可以通过监控GC(Garbage Collection),评估内存使用及剩余情况来判断内存是否变成性能瓶颈,并根据情况优化。 监控节点进程的YARN的Container
Hive ORC数据存储优化 操作场景 “ORC”是一种高效的列存储格式,在压缩比和读取效率上优于其他文件格式。 建议使用“ORC”作为Hive表默认的存储格式。 前提条件 已登录Hive客户端,具体操作请参见Hive客户端使用实践。 操作步骤 推荐:使用“SNAPPY”压缩,适用于压缩比和读取效率要求均衡场景。
CarbonData首查优化工具 工具介绍 CarbonData 的首次查询较慢,对于实时性要求较高的节点可能会造成一定的时延。 本工具主要提供以下功能: 对查询时延要求较高的表进行首次查询预热。 工具使用 下载安装客户端,例如安装目录为“/opt/client”。进入 目录“/
调整HetuEngine INSERT写入优化 HetuEngine向Hive数据源分区表写入数据时,需要根据实际业务的查询结果中分区列数量添加相关自定义配置,以获得最佳的性能效果。 调整HetuEngine INSERT写入步骤 使用HetuEngine管理员用户登录FusionInsight
CarbonData首查优化工具 工具介绍 CarbonData的首次查询较慢,对于实时性要求较高的节点可能会造成一定的时延。 本工具主要提供以下功能: 对查询时延要求较高的表进行首次查询预热。 工具使用 下载安装客户端,例如安装目录为“/opt/client”。进入目录“/op
BO正确的优化。 CBO优化器会基于统计信息和查询条件,尽可能地使join顺序达到合适。但是也可能存在特殊情况导致join顺序调整不准确。例如数据存在倾斜,以及查询条件值在表中不存在等场景,可能调整出非优化的join顺序。 开启列统计信息自动收集时,需要在reduce侧做聚合统计
优化小文件场景下的Spark SQL性能 配置场景 Spark SQL的表中,经常会存在很多小文件(大小远小于HDFS块大小),每个小文件默认对应Spark中的一个Partition,也就是一个Task。在很多小文件场景下,Spark会起很多Task。当SQL逻辑中存在Shuff
优化Flink Netty网络通信参数 操作场景 Flink通信主要依赖netty网络,所以在Flink应用执行过程中,netty的设置尤为重要,网络通信的好坏直接决定着数据交换的速度以及任务执行的效率。 操作步骤 以下配置均可在客户端的“conf/flink-conf.yaml
优化Flink Netty网络通信参数 操作场景 Flink通信主要依赖netty网络,所以在Flink应用执行过程中,netty的设置尤为重要,网络通信的好坏直接决定着数据交换的速度以及任务执行的效率。 操作步骤 以下配置均可在客户端的“conf/flink-conf.yaml
动态分区插入场景内存优化 操作场景 SparkSQL在往动态分区表中插入数据时,分区数越多,单个Task生成的HDFS文件越多,则元数据占用的内存也越多。这就导致程序GC(Gabage Collection)严重,甚至发生OOM(Out of Memory)。 经测试证明:102
使CBO正确的优化。 CBO优化器会基于统计信息和查询条件,尽可能地使Join顺序达到更优。但是也可能存在特殊情况导致Join顺序调整不准确。例如数据存在倾斜,以及查询条件值在表中不存在等场景,可能调整出非优化的Join顺序。 开启列统计信息自动收集时,需要在Reduce侧做聚合
优化HDFS NameNode RPC的服务质量 配置场景 本章节适用于MRS 3.x及后续版本。 数个成品Hadoop集群由于NameNode超负荷运行并失去响应而发生故障。 这种阻塞现象是由于Hadoop的初始设计造成的。在Hadoop中,NameNode作为单独的机器,在其
Spark动态分区插入场景内存优化 操作场景 SparkSQL在往动态分区表中插入数据时,分区数越多,单个Task生成的HDFS文件越多,则元数据占用的内存也越多。这就导致程序GC(Gabage Collection)严重,甚至发生OOM(Out of Memory)。 经测试证
MapReduce任务commit阶段优化 操作场景 默认情况下,如果一个MR任务会产生大量的输出结果文件,那么该job在最后的commit阶段,会耗费较长的时间将每个task的临时输出结果commit到最终的结果输出目录。特别是在大集群中,大Job的commit过程会严重影响任务的性能表现。
优化HDFS DataNode RPC的服务质量 配置场景 当客户端写入HDFS的速度大于DataNode的硬盘带宽时,硬盘带宽会被占满,导致DataNode失去响应。客户端只能通过取消或恢复通道进行规避,这会导致写入失败及不必要的通道恢复操作。 本章节适用于MRS 3.x及后续版本。
优化HDFS DataNode RPC的服务质量 配置场景 当客户端写入HDFS的速度大于DataNode的硬盘带宽时,硬盘带宽会被占满,导致DataNode失去响应。客户端只能通过取消或恢复通道进行规避,这会导致写入失败及不必要的通道恢复操作。 本章节适用于MRS 3.x及后续版本。
MapReduce任务commit阶段优化 操作场景 默认情况下,如果一个MR任务会产生大量的输出结果文件,那么该job在最后的commit阶段,会耗费较长的时间将每个task的临时输出结果commit到最终的结果输出目录。特别是在大集群中,大Job的commit过程会严重影响任务的性能表现。