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

建设部网站官网证书编号做树状图的网站

建设部网站官网证书编号,做树状图的网站,wordpress自定义的注册页面,食堂网站源代码php+mysql文章目录 Hive的压缩池池的分配策略自动分配手动分配隐式分配 池的等待超时Labeled worker pools 标记的工作线程#xff08;自定义线程池#xff09;Default pool 默认池Worker allocation 工作线程的分配 锁Turn Off ConcurrencyDebuggingConfigurationhive.support.concur… 文章目录 Hive的压缩池池的分配策略自动分配手动分配隐式分配 池的等待超时Labeled worker pools 标记的工作线程自定义线程池Default pool 默认池Worker allocation 工作线程的分配 锁Turn Off ConcurrencyDebuggingConfigurationhive.support.concurrencyhive.lock.managerhive.lock.mapred.only.operationhive.lock.query.string.max.lengthhive.lock.numretrieshive.unlock.numretrieshive.lock.sleep.between.retrieshive.zookeeper.quorumhive.zookeeper.client.porthive.zookeeper.session.timeouthive.zookeeper.namespacehive.zookeeper.clean.extra.nodeshive.lockmgr.zookeeper.default.partition.name Hive的压缩池 Compaction pooling 可以将压缩请求和工作线程分配到池中。 分配给特定池的工作线程将仅处理该池中的压缩请求。 没有分配池的工作线程和压缩请求隐式属于默认池。 池概念允许对处理压缩请求进行微调。 例如可以创建一个名称为“高优先级压缩”的池为其分配一些经常修改的表并将一组工作线程专用于该池。 因此即使默认队列中还有其他几个压缩请求之前排队这些表的压缩请求也将立即由专用工作线程获取。 池的分配策略 可以通过三种不同的方式将压缩请求分配给池。 自动分配 可以通过配置数据库、表和分区的属性的方式分配到压缩池 hive.compactor.worker.pool{pool_name}数据库/表属性。 如果该属性是在数据库级别设置的则它适用于所有表和分区。 池也可以在表/分区级别上分配在这种情况下它会覆盖数据库级别值如果设置。 CREATE TABLE table_name (id int,name string ) CLUSTERED BY (id) INTO 2 BUCKETS STORED AS ORC TBLPROPERTIES (transactionaltrue, );如果设置了上述任何一项则发起者在创建压缩请求期间将使用它。 手动分配 ALTER TABLE COMPACT table_name POOL pool_name;还可以使用 ALTER TABLE COMPACT 命令将压缩请求分配给池例如手动压缩。 如果提供该值将覆盖任何级别的 hive.compactor.worker.pool 值。 隐式分配 没有指定池名称的表、分区和手动压缩请求将隐式分配给默认池。 池的等待超时 如果压缩请求在预定义的时间内没有被任何标记池处理它将回退到默认池。 超时时间可以通过设置 hive.compactor.worker.pool.timeout配置属性。 该方法涵盖以下场景 请求被意外分配给不存在的池。 例如发出 ALTER TABLE COMPACT 命令时池名称中的拼写错误。发起者用来创建压缩请求的数据库或表属性中的拼写错误。HS2HiveServer2 实例由于缩减或计划而停止并且仍应处理其挂起的压缩请求。 可以通过将配置属性设置为 0 来禁用超时。 Labeled worker pools 标记的工作线程自定义线程池 标记的工作池可以通过以下方式定义 hive.compactor.worker.{poolname}.threads{thread_count} 配置设置 Default pool 默认池 默认池负责处理未标记和超时的压缩请求。 在集群范围内至少一个节点上的至少 1 个工作线程应分配给默认池否则可能永远不会处理压缩请求。 Worker allocation 工作线程的分配 已经存在的 hive.compactor.worker.threads 配置值保存最大工作线程数。 工作线程分配如下 标记池以随机顺序按顺序初始化。每个池都会根据自己的工作线程数量减少可用工作线程的数量。如果可分配的worker数量少于配置的数量则池大小将被调整换句话说如果请求的池大小为5但只剩下3个worker则池大小将减少到3。如果可分配的worker数量为0则池不会被初始化。标记池中未用完的所有剩余工作人员将分配给默认池。 可以为每个 HS2 实例配置工作线程分配。 锁 Locking 并发支持http://issues.apache.org/jira/browse/HIVE-1293是数据库中必须的并且它们的用例很好理解。 至少我们希望尽可能支持并发读取器和写入器。 添加一种机制来发现当前已获取的锁将很有用。 不需要立即添加 API 来显式获取任何锁因此所有锁都将隐式获取。 hive 中将定义以下锁定模式注意不需要意向锁。 Shared (S)Exclusive (X) As the name suggests, multiple shared locks can be acquired at the same time, whereas X lock blocks all other locks. The compatibility matrix is as follows: 顾名思义可以同时获取多个共享锁而 X 锁会阻塞所有其他锁。 兼容性矩阵如下 对于某些操作锁本质上是分层的——例如对于某些分区操作表也被锁定以确保在创建新分区时不能删除表。 获取锁模式背后的原理如下 对于非分区表锁定模式非常直观。 读取表时会获取 S 锁而所有其他操作插入表、更改任何类型的表等都会获取 X 锁。 对于分区表来说思路如下 执行读取时会获取表和相关分区上的“S”锁。 对于所有其他操作都会在分区上获取“X”锁。 但是如果更改仅适用于较新的分区则在表上获取“S”锁而如果更改适用于所有分区则在表上获取“X”锁。 因此可以读取和写入较旧的分区同时将较新的分区转换为 RCFile。 每当一个分区被锁定在任何模式下时其所有父分区都会被锁定在“S”模式下。 基于此一个操作获取的锁如下 Hive CommandLocks Acquiredselect … T1 partition P1S on T1, T1.P1insert into T2(partition P2) select … T1 partition P1S on T2, T1, T1.P1 and X on T2.P2insert into T2(partition P.Q) select … T1 partition P1S on T2, T2.P, T1, T1.P1 and X on T2.P.Qalter table T1 rename T2X on T1alter table T1 add colsX on T1alter table T1 replace colsX on T1alter table T1 change colsX on T1alter table T1 *concatenate*X on T1alter table T1 add partition P1S on T1, X on T1.P1alter table T1 drop partition P1S on T1, X on T1.P1alter table T1 touch partition P1S on T1, X on T1.P1alter table T1 set serdepropertiesS on T1alter table T1 set serializerS on T1alter table T1 set file formatS on T1alter table T1 set tblpropertiesX on T1alter table T1 partition P1 concatenateX on T1.P1drop table T1X on T1 为了避免死锁这里提出了一个非常简单的方案。 将所有需要锁定的对象按字典顺序排序并获取所需的模式锁。 请注意在某些情况下对象列表可能未知 - 例如在动态分区的情况下正在修改的分区列表在编译时未知 - 因此该列表是保守生成的。 由于分区数量可能未知因此应该在表或已知的前缀上采用独占锁但目前不是由于 HIVE-3509 bug。 将添加两个新的可配置参数来决定锁定的重试次数以及每次重试之间的等待时间。 如果重试次数非常高可能会导致活锁。 查看 ZooKeeper recipes 以了解如何使用 Zookeeper api 实现读/写锁。 请注意锁定请求将被拒绝而不是等待。 现有的锁将被释放并且在重试间隔后将全部重试。 由于锁的分层性质上面列出的方法将无法按指定方式工作。 表 T 的“S”锁指定如下 调用create()创建一个路径名为“/warehouse/T/read-”的节点。 这是协议后面使用的锁定节点。 确保设置序列和临时标志。在锁定节点上调用 getChildren( ) 而不设置监视标志。如果有一个子进程的路径名以“write-”开头且序列号比所获得的序列号低则无法获取锁。 删除第一步创建的节点并返回。否则授予锁定。 表 T 的“X”锁指定如下 调用create()创建一个路径名为“/warehouse/T/write-”的节点。 这是协议后面使用的锁定节点。 确保设置序列和临时标志。在锁定节点上调用 getChildren( ) 而不设置监视标志。如果存在一个路径名以“read-”或“write-”开头且序列号低于所获取序列号的子进程则无法获取锁。 删除第一步创建的节点并返回。否则授予锁定。 这种模式的写入器或因为读取陷入饥饿状态。如果读取的时间太长那么写入会陷入饥饿状态。 默认的 Hive 行为不会改变并且不支持并发。 Turn Off Concurrency 您可以通过将以下变量设置为 false 来关闭并发hive.support.concurrency。 Debugging 您可以通过发出以下命令来查看表上的锁 SHOW LOCKS TABLE_NAME;SHOW LOCKS TABLE_NAME EXTENDED;SHOW LOCKS TABLE_NAME PARTITION (PARTITION_DESC);SHOW LOCKS TABLE_NAME PARTITION (PARTITION_DESC) EXTENDED; EXPLAIN LOCKS 这对于了解系统将获取哪些锁来运行指定的查询很有用。 EXPLAIN LOCKS UPDATE target SET b 1 WHERE p IN (SELECT t.q1 FROM source t WHERE t.a15)可以支持JSON输出 EXPLAIN FORMATTED LOCKS sqlConfiguration 锁的相关配置数据属性 Locking. hive.support.concurrency Default Value: falseAdded In: Hive 0.7.0 with HIVE-1293 Hive 是否支持并发。 ZooKeeper 实例必须启动并运行默认 Hive 锁管理器才能支持读写锁。 设置为true以支持INSERT … VALUES、UPDATE 和 DELETE 事务Hive 0.14.0 及更高版本。 有关打开 Hive 事务所需的参数的完整列表请参阅 hive.txn.manager。 hive.lock.manager Default Value: org.apache.hadoop.hive.ql.lockmgr.zookeeper.ZooKeeperHiveLockManagerAdded In: Hive 0.7.0 with HIVE-1293 当 hive.support.concurrency 设置为true时使用的锁管理器。 hive.lock.mapred.only.operation Default Value: falseAdded In: Hive 0.8.0 此配置属性用于控制是否仅对需要执行至少一个 Mapred 作业的查询进行锁定 hive.lock.query.string.max.length Default Value: 1000000Added In: Hive 3.0.0 要存储在锁中的查询字符串的最大长度。 默认值为 1000000因为 znode 的数据限制为 1MB。 hive.lock.numretries Default Value: 100Added In: Hive 0.7.0 with HIVE-1293 您想要尝试获取所有锁的总次数。 hive.unlock.numretries Default Value: 10Added In: Hive 0.8.1 您想要进行一次解锁的总次数。 hive.lock.sleep.between.retries Default Value: 60Added In: Hive 0.7.0 with HIVE-1293 各种重试之间的睡眠时间以秒为单位。 hive.zookeeper.quorum Default Value: (empty)Added In: Hive 0.7.0 with HIVE-1293 要与之通信的 ZooKeeper 服务器列表。 仅读/写锁需要此操作。 hive.zookeeper.client.port Default Value: Hive 0.7.0: (empty)Hive 0.8.0 and later: 2181 (HIVE-2196) Added In: Hive 0.7.0 with HIVE-1293 要与之通信的 ZooKeeper 服务器的端口。 仅读/写锁需要此操作。 hive.zookeeper.session.timeout Default Value: Hive 0.7.0 to 1.1.x: 600000msHive 1.2.0 and later: 1200000ms (HIVE-8890) Added In: Hive 0.7.0 with HIVE-1293 ZooKeeper 客户端的会话超时以毫秒为单位。 如果在超时时间内未发送心跳则客户端将断开连接并且所有锁都会被释放。 hive.zookeeper.namespace Default Value: hive_zookeeper_namespaceAdded In: Hive 0.7.0 所有 ZooKeeper 节点均在其下创建的父节点。 hive.zookeeper.clean.extra.nodes Default Value: falseAdded In: Hive 0.7.0 在会话结束时清理多余的节点。 hive.lockmgr.zookeeper.default.partition.name Default Value: __HIVE_DEFAULT_ZOOKEEPER_PARTITION__Added In: Hive 0.7.0 with HIVE-1293 ZooKeeperHiveLockManager 为 hive 锁管理器 时的默认分区名称。
http://www.yutouwan.com/news/83561/

相关文章:

  • 坦洲网站建设投资公司经营范围
  • 长沙专业的建站按效果付费wordpress后台编辑主题时提示:抱歉_该文件无法被编辑
  • 南通设计网站建设想要学做网站
  • 福州营销网站建设技术产品开发项目管理全流程
  • 谁会在阿里云建网站M97 网站建设网络公司整站源码
  • 网站建设开发感悟做破解网站合法
  • 河南省住房城乡和建设厅网站南通市城乡和住房建设局网站
  • 赞叹天河网站建设公司重庆工程建设标准化信息网
  • 网站建设合同规范室内设计师的网站
  • 织梦网站后台空白怎么建设境外网站
  • 东营市两学一做考试网站网站前端工程师
  • asp网站镜像代码wordpress+手册主题
  • 企业建设网站作用wordpress主题雪人yeti1.9.2
  • 我是做网站怎么赚钱吗福建宏盛建设集团网站
  • 直接进网站的浏览器打开wordpress短链识别
  • 滁州网站开发建立网站的流程的合理顺序
  • 国美在线网站建设seo发展现状
  • 狼雨seo网站排名查询wordpress 清理插件
  • 知名的网页制作公司推荐国外seo综合查询
  • 网站名字备案WordPress重新安装删除哪个
  • 个人开网站佛山网站建设拓客科技
  • 网站如何做外链2018电影网站建设的意义
  • 江苏做网站的公司哪家做网站
  • 保定市城乡规划建设局网站番禺建设网站专家
  • 青岛网站推广企业网站架构模板
  • 阿里云做网站买什么软件卖手表的网站
  • 买个网站域名要多少钱一年光泽网站建设wzjseo
  • 北京sem网站电商的推广方式
  • 阿里云网站商城建设wordpress 首页打不开
  • 动易论坛官方网站阿里云域名注册及备案