当前位置: 首页 > news >正文

柳州哪家网站建设专业上海娱乐场所恢复营业最新通知

柳州哪家网站建设专业,上海娱乐场所恢复营业最新通知,筑建网站首页,营销型门户网站建设方案优化Hive on Tez查询永远不能以一种万能的方法来完成。查询的性能取决于数据的大小、文件类型、查询设计和查询模式。在性能测试期间#xff0c;要评估和验证配置参数和任何 SQL 修改。建议在工作负载的性能测试期间一次进行一项更改#xff0c;并且最好在生产环境中使用它们…优化Hive on Tez查询永远不能以一种万能的方法来完成。查询的性能取决于数据的大小、文件类型、查询设计和查询模式。在性能测试期间要评估和验证配置参数和任何 SQL 修改。建议在工作负载的性能测试期间一次进行一项更改并且最好在生产环境中使用它们之前评估调整更改在您的开发和 QA 环境中的影响。Cloudera WXM可以帮助评估性能测试期间查询更改的好处。 下面先介绍常见的调优组合。 0.常用参数组合 0.1 文件合并 Try using TEZ execution engine and then hive.merge.tezfiles. You might also want to specify the size as well. set hive.execution.enginetez; -- TEZ execution engine set hive.merge.tezfilestrue; -- Notifying that merge step is required set hive.merge.smallfiles.avgsize128000000; --128MB set hive.merge.size.per.task128000000; -- 128MB 最好是HDFS BLOCK 大小的整数倍 0.2 参数调优 set hive.exec.dynamic.partitiontrue; set hive.exec.dynamic.partition.modenonstrict; set hive.exec.max.dynamic.partitions3000; set hive.exec.max.dynamic.partitions.pernode500; sethive.tez.container.size6656;  -- container大小,一直跑不出来 set hive.tez.java.opts-Xmx5120m; --java heap space内存溢出 set hive.merge.tezfilestrue; set hive.merge.smallfiles.avgsize128000000;--128M set hive.merge.size.per.task128000000;--128M set hive.execution.enginetez; set tez.am.task.max.failed.attempts10;  -- 重试失败资源竞争激烈 set tez.am.max.app.attemps5; --  重试失败资源竞争激烈 如果map阶段划分过多可以设置为合并小文件格式化org.apache.hadoop.hive.ql.io.CombineHiveInputFormat hive.tez.input.formatorg.apache.hadoop.hive.ql.io.HiveInputFormat hive.tez.input.formatorg.apache.hadoop.hive.ql.io.CombineHiveInputFormat 0.3 小文件手动合并 #对于非分区表 alter table tablename concatenate; #对于分区表 alter table tablename partition(dt20201224) concatenate; insert overwrite table tableName partition(dt2022031100) select column1,column2 from tableName where dt  2022031100 # 只支持 RCFILE 和 ORC 文件类型需要执行多次才能把文件合并为1个 # impala里面 set  num_nodes1; 可以强行合并程1个 0.4 其他参考 # 参考 Hive  命令  hive.merge.mapredfilestrue; hive.merge.mapfilestrue hive.merge.rcfile.block.leveltrue hive.merge.size.per.task256000000 hive.merge.smallfiles.avgsize16000000 spark 命令 hive.merge.sparkfilestrue 开始干货相关调优指南~ 1. 调优指南 在从 CDH 发行版到 CDP 私有云的多次迁移中观察到与 MR 或 Spark 等较旧的执行引擎相比Hive on Tez查询往往执行得更慢。这通常是由不同执行引擎之间的开箱即用的调整行为的差异引起的。此外用户可能已经完成了对旧版分发的调整这不会自动反映在 Hive on Tez转换中。对于从 HDP 发行版升级的用户此讨论还有助于查看和验证是否正确配置了属性以实现 CDP 中的性能。 1.1. 确定问题步骤 以下步骤可帮助您确定可能会降低性能的重点领域。 第 1 步核实和验证 YARN 容量调度器的配置。由于错误配置的队列配置用户可用资源的任意上限可能会影响查询性能。验证用户限制因子、最小用户限制百分比和最大容量。请参阅YARN – 容量调度器博客以了解这些配置设置。 第 2 步查看 Hive on Tez和 Hive 的任何安全阀Hive 和 HiveServer2 配置的非默认值的相关性。删除任何遗留和过时的属性。 第 3 步识别缓慢的区域例如 map 任务、reduce 任务和Join。 查看通用的 Tez 引擎和平台的可调整的属性。查看Map任务并调整-根据需要增加/减少任务计数。查看Reduce任务并调整-根据需要增加/减少任务计数。查看任何与并发相关的问题——这里有两种并发问题如下所示队列内用户之间的并发。这可以使用 YARN 队列的用户限制因子进行调整请参阅容量调度器博客中的详细信息。Hive on Tez 会话的预热容器之间的并发性如下文详细讨论。 2. 了解 Tez 中的并行化 在更改任何配置之前您必须了解 Tez 内部工作的机制。例如这包括了解 Tez 如何确定正确的Map和Reduce数量。查看 Tez 架构设计以及有关初始任务并行性和自动减少并行性如何工作的详细信息将帮助您优化查询性能。 3. 了解Map的数量 Tez 使用作业的初始输入数据来确定Map任务的数量。在 Tez 中任务的数量由分组拆分决定这相当于 map reduce 作业中由输入拆分确定的Map数量。 tez.grouping.min-size和tez.grouping.max-size确定Map的数量。min-size的默认值为16 MB max-size为 1 GB。Tez 确定任务的数量以使每个任务的数据符合分组最大/最小大小。减小tez.grouping.max-size会增加Map/Reduce的数量。增加tez.grouping.max-size会减少任务的数量。考虑以下示例输入数据输入分片/分割如 1000 个文件大约 1.5 MB 大小总数据大小为 1000*1.5 MB ~ 1.5 GBTez 可以尝试使用至少两个任务处理此数据因为最大数据/任务可能是 1 G。最终Tez 可以强制将 1000 个文件拆分合并为两个任务从而导致执行时间变慢。如果tez.grouping.max-size从 1 GB 减少到 100 MB则Map的数量可以增加到 15 个从而提供更好的并行性。然后性能会提高因为改进的并行性将工作从两个并发任务扩展到 15 个。 以上是一个示例场景但是在使用 ORC 或 parquet 等二进制文件格式的生产环境中根据存储类型、拆分策略文件或 HDFS 块边界确定Map的数量可能会变得复杂。 注意更高程度的并行性例如大量Map/Reduce并不总是转化为更好的性能因为它可能导致每个任务的资源更少并且由于任务开销而导致更高的资源浪费。 4. 了解Reduce的数量 Tez 使用多种机制和设置来确定完成查询所需的 reducer 数量。 Tez 根据要处理的数据字节数自动确定 reducer。如果hive.tez.auto.reducer.parallelism设置为truehive会估计数据大小并设置并行度估计。Tez 将对源顶点的输出大小进行采样并根据需要在运行时调整估计值。默认情况下最大Reduce数量设置为 1009 ( hive.exec.reducers.max )Hive/Tez 使用以下公式估计 reducer 的数量然后调度 Tez DAGMax(1, Min(hive.exec.reducers.max [1009], ReducerStage  estimate/hive.exec.reducers.bytes.per.reducer))  x  hive.tez.max.partition.factor [2] 可以调整以下三个参数来增加或减少Map的数量 hive.exec.reducers.bytes.per.reducer 每个 reducer 的大小。将其更改为较小的值以增加并行度或将其更改为较大的值以降低并行度。默认值 256 MB [即如果输入大小为 1 GB则将使用 4 个Reduce]tez.min.partition.factor 默认值 0.25tez.max.partition.factor 默认值 2.0 增加更多Reduce。减少Reduce的数量。 用户可以使用mapred.reduce.tasks 手动设置 reducer 的数量。 不建议这样做您应该避免使用它。建议 避免手动设置Reduce。添加更多Reduce并不总能保证更好的性能。如果要增加或减少 reducer 的数量请根据 reduce 阶段的估计值将hive.exec.reducers.bytes.per.reducer参数调整为更低或更高的值。 5. 并发 本部分旨在帮助理解和调整 Hive on Tez 的并发会话例如运行多个 Tez AM【AppMaster】 容器。以下属性有助于理解默认队列和会话数行为。 hive.server2.tez.default.queues 逗号分隔值的列表对应于维护 Tez 会话池的 YARN 队列。hive.server2.tez.sessions.per.default.queue 每个 YARN 队列在池中维护的 Tez 会话数 (DAGAppMaster)。hive.server2.tez.initialize.default.sessions如果启用HiveServer2 (HS2) 在启动时将在指定的default.queues内启动所有必要的 Tez会话以满足 session.per.default.queue 的要求。 当您定义下面列出的属性时HiveServer2 将为每个默认队列创建一个 Tez Application Master (AM)乘以 HiveServer2 服务启动时的会话数。因此 (Tez Sessions)total HiveServer2instances x (default.queues) x (sessions.per.default.queue) 通过示例理解 hive.server2.tez.default.queues “queue1, queue2” hive.server2.tez.sessions.per.default.queue2 Hiveserver2 将创建 4 个 Tez AM2 个用于 queue12 个用于 queue2。 注意池化的 Tez 会话始终在运行即使在空闲集群上也是如此。 如果 HiveServer2 持续使用那些 Tez AM 将继续运行但如果您的 HS2 空闲这些 Tez AM 将根据tez.session.am.dag.submit.timeout.secs 定义的超时被终止。 情况一未指定队列名称 如果未指定队列名称 ( tez.queue.name ) 则查询将仅使用池中的 Tez AM如上所述初始化。在这种情况下HiveServer2 将选择 Tez AM 空闲/可用之一此处的队列名称可能是随机选择的。 如果未指定队列名称则查询将在 HiveServer2 中保持挂起状态直到初始化池中的默认 Tez AM 之一可用于为查询提供服务。JDBC/ODBC 客户端或 HiveServer2 日志文件中不会有任何消息。因为查询挂起时没有生成消息所以用户可能认为 JDBC/ODBC 连接或 HiveServer2 已损坏但它正在等待 Tez AM 执行查询。 情况二指定队列名称 如果确实指定了队列名称那么无论有多少已初始化的 Tez AM 正在使用或空闲HiveServer2 都会为此连接创建一个新的 Tez AM并且可以执行查询如果队列有可用资源。 并发指南/建议 对于不希望用户限制在同一个 Tez AM 池中的用例或查询将此hive.server2.tez.initialize.default.sessions设置为 false。禁用此功能可以减少 HiveServer2 上的争用并提高查询性能。 此外增加会话数量hive.server2.tez.sessions.per.default.queue 如果有需要为每组用户使用单独或专用的 Tez AM 池的用例则需要有专用的 HiveServer2 服务每个服务都有各自的默认队列名称和会话数并要求每组用户使用他们各自的 HiveServer2。 6. 容器重用和预热容器 容器重用 这是一种限制启动时间对容器的影响的优化。这是通过将tez.am.container.reuse.enabled设置为true来打开的。这节省了与 YARN 交互的时间。我还让容器组保持活力更快地旋转容器并跳过Yarn队列。 预热容器 容器的数量与默认情况下将附加到每个 Tez AM 的 YARN 执行容器的数量有关。每个 AM 将持有相同数量的容器即使 Tez AM 空闲不执行查询也是如此。 如果有太多容器处于空闲状态且未释放则会出现这种情况因为此处定义的容器将由 Tez AM 持有即使它处于空闲状态。这些空闲容器将继续占用 YARN 中其他应用程序可能使用的资源。 以下属性用于配置 Prewarm Containers hive.prewarm.enabled hive.prewarm.numcontainers 7. 通用的 Tez 调整参数 在处理 Tez 查询上 Hive 的性能下降时请查看下面列出的属性作为第一级检查。您可能需要根据您的查询和数据属性设置或调整其中一些属性。最好在开发和 QA 环境中评估配置属性然后根据结果将其推送到生产环境。 hive.cbo.enable 将此属性设置为 true可启用基于成本的优化 (CBO)。CBO 是 Hive 查询处理引擎的一部分。它由 Apache Calcite 提供支持。CBO 通过检查查询中指定的表和条件来生成高效的查询计划最终减少查询执行时间并提高资源利用率。hive.auto.convert.join 将此属性设置为 true 允许 Hive 启用关于根据输入文件大小将 common join 转换为 mapjoin 的优化。hive.auto.convert.join.noconditionaltask.size 您将希望在查询中执行尽可能多的 mapjoin。这种大小配置使用户能够控制什么大小的表可以适合内存。该值表示可以转换为适合内存的哈希图的表大小的总和。建议将其设置为hive.tez.container.size 大小的 ⅓。tez.runtime.io.sort.mb 输出排序时排序缓冲区的大小。建议将其设置为hive.tez.container.size的40% 最大为 2 GB。它很少需要超过这个最大值。tez.runtime.unordered.output.buffer.size-mb 这是输出不需要排序时的内存。如果不直接写入磁盘则它是要使用的缓冲区大小。建议将其设置为hive.tez.container.size的10% 。hive.exec.parallel 此属性启用 Hive 查询阶段的并行执行。默认情况下此设置为 false。将此属性设置为 true 有助于并行化独立查询阶段从而提高整体性能。hive.vectorized.execution.enabled 矢量化查询执行是 Hive 的一项功能可大大降低扫描、过滤器、聚合和连接等典型查询操作的 CPU 使用率。默认情况下这设置为 false。将此设置为true。hive.merge.tezfiles 默认情况下此属性设置为 false。将此属性设置为 true 将合并 Tez 文件。使用此属性可能会增加或减少查询的执行时间具体取决于数据的大小或要合并的文件数。在使用此属性之前请评估您在较低环境中的查询性能。hive.merge.size.per.task 此属性描述作业结束时合并文件的大小。hive.merge.smallfiles.avgsize 当作业的平均输出文件大小小于此数字时Hive 将启动额外的 map-reduce 作业以将输出文件合并为更大的文件。默认情况下此属性设置为 16 MB。 8. 总结 此博客介绍了有关 CDP 的 Hive on Tez 查询的一些基本故障排除和调整指南。作为查询性能分析的第一步您应该验证并验证在 Hive 和 Hive on Tez 服务上设置的所有配置。所做的每一项更改都应进行测试以确保其做出可衡量且有益的改进。查询调优是一项专门的工作并非所有查询都可以通过更改 Tez 配置属性来更好地执行。您可能会遇到需要深入研究 SQL 查询以优化和提高执行和性能的场景。如果您需要有关性能调整工作的更多帮助请联系您的 Cloudera 帐户和专业服务团队以提供指导。 原文作者Jay Desai 原文链接https://blog.cloudera.com/optimizing-hive-on-tez-performance/
http://www.w-s-a.com/news/922492/

相关文章:

  • 成都的教育品牌网站建设网站广告js代码添加
  • 网站找人做seo然后网站搜不到了网站建设seoppt
  • 做网站优化有用吗学做文案的网站
  • wordpress 知名网站怎么做微网站
  • 用电脑怎么做原创视频网站河南建设工程信息网一体化平台官网
  • 云服务器和网站空间郑州做招商的网站
  • 规模以上工业企业的标准北京seo结算
  • 软件开发过程模型如何做网站性能优化
  • 网站建站公司广州南京江北新区楼盘
  • 哪些做展架图的网站好开发公司2022年工作计划
  • 磨床 东莞网站建设wordpress下载类主题系统主题
  • 免费学编程网站芜湖做网站都有哪些
  • 能发外链的网站门户网站网页设计规范
  • 网站建设所需人力南城区网站建设公司
  • 网站做图尺寸大小手机模板网站模板下载网站有哪些内容
  • 德阳市建设管理一体化平台网站做美食网站
  • 怎么做自己的推广网站2024年瘟疫大爆发
  • vps正常网站打不开linux网站建设
  • 福州网站快速排名在一个网站的各虚拟目录中默认文档的文件名要相同
  • 网站开发 流程图网站开发用哪个linux
  • 怎么用自己电脑做服务器发布网站吗seo门户网价格是多少钱
  • 备案网站可以做影视站网站400
  • 四川住房与城乡建设部网站注册登记
  • 网站建设第三方沈阳工程最新动态
  • 兰州做网站客户上海企业在线登记
  • 新乡公司做网站wordpress被大量注册
  • 小语种服务网站公众号平台建设网站
  • 免费做mc皮肤网站企业网站建设合同模板
  • 做网站可以申请个体户么网站的定位分析
  • jsp做的零食网站下载wordpress侧边栏折叠