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

自学建设网站吸引企业做网站的文章内容

自学建设网站,吸引企业做网站的文章内容,天津建设工程信息网的ca花钱吗,html5的篮球网站开发Hive Transactions 在升级到Hive 3之前#xff0c;需要把在事务表上Major Compaction。主要是为了合并掉增量文件。更准确地说#xff0c;自上次Major Compaction以来在其上执行过任何更新/删除/合并语句的任何分区都必须进行另一次Major Compaction。在 Hive 升级到 Hive 3 …Hive Transactions 在升级到Hive 3之前需要把在事务表上Major Compaction。主要是为了合并掉增量文件。更准确地说自上次Major Compaction以来在其上执行过任何更新/删除/合并语句的任何分区都必须进行另一次Major Compaction。在 Hive 升级到 Hive 3 之前此分区上不会再发生更新/删除/合并。 What is ACID and why should you use it? ACID 代表数据库事务的四个特征 原子性操作要么完全成功要么失败不会留下部分数据、一致性应用程序执行操作后该操作的结果在每个后续操作中都可见、隔离性一个用户不完整的操作不会对其他用户造成意外的副作用持久性一旦操作完成它将 即使面对机器或系统故障也能保留。 直到 Hive 0.13原子性、一致性和持久性都是在分区级别提供的。 可以通过打开可用的锁定机制之一ZooKeeper 或在内存中来提供隔离。 通过在 Hive 0.13 中添加事务现在可以在行级别提供完整的 ACID 语义以便一个应用程序可以添加行 而另一个则从同一个分区读取数据而不会互相干扰。 具有 ACID 语义的事务已添加到 Hive 中以解决以下场景 读写流式数据。 许多用户拥有 Apache Flume、Apache Storm 或 Apache Kafka他们用来将数据流式传输到 Hadoop 集群中。 虽然这些工具可以以每秒数百行或更多行的速度写入数据但 Hive 只能每十五分钟到一小时添加一次分区。 更频繁地添加分区很快会导致表中出现大量分区。 这些工具可以将数据流式传输到现有分区中但这会导致读取器脏读也就是说他们会看到在开始查询后写入的数据并在目录中留下许多小文件这会给 NameNode 带来压力。 有了这个新功能将支持同时允许读者获得一致的数据视图并避免太多文件。数据变化缓慢。 在典型的星型数据仓库中维度表随着时间的推移而缓慢变化。 例如零售商将开设新商店需要将其添加到商店表中或者现有商店可能会更改其面积或其他一些跟踪特征。 这些更改会导致插入单个记录或更新记录取决于所选的策略。 从 0.14 开始Hive 能够支持这一点。数据更新。 有时发现收集的数据不正确并需要更正。 或者数据的第一个实例可能是近似值90% 的服务器报告稍后提供完整数据。 或者业务规则可能要求由于后续交易而重述某些交易例如在购买后客户可以购买会员资格从而有权享受折扣价格包括先前购买的折扣价格。 或者根据合同用户可能需要在关系终止时删除其客户的数据。 从 Hive 0.14 开始这些场景可以通过 INSERT、UPDATE和 DELETE 操作。使用 SQL MERGE 语句进行批量更新。 Limitations 局限性 不支持手动事务。尚不支持 BEGIN、COMMIT 和 ROLLBACK。 所有语言操作都是自动提交的。只支持文件格式ORC。第一个版本仅支持 ORC 文件格式。 该功能的构建使得任何存储格式都可以使用事务这些存储格式可以确定如何将更新或删除应用于基本记录基本上具有显式或隐式行 ID但到目前为止集成工作仅针对 兽人。默认情况下事务配置为关闭。 请参阅下面的配置部分了解需要设置哪些值来配置它。表必须被bucketed才能使用这些功能。 同一系统中不使用事务和ACID的表不需要分桶。 外部表无法成为 ACID 表因为外部表上的更改超出了压缩器的控制范围 (HIVE-13175)。不允许从非 ACID 会话读取/写入 ACID 表。 换句话说Hive 事务管理器必须设置为 org.apache.hadoop.hive.ql.lockmgr.DbTxnManager 才能使用 ACID 表。目前仅支持快照级别隔离。 当给定查询启动时将为其提供一致的数据快照。 不支持脏读、已提交读、可重复读或可序列化。 引入 BEGIN 的目的是在事务期间支持快照隔离而不仅仅是单个查询。 可以根据用户请求添加其他隔离级别。现有的 ZooKeeper 和内存锁管理器与事务不兼容。 无意解决这个问题。 请参阅下面的基本设计了解如何为事务存储锁的讨论。ACID 表不支持使用 ALTER TABLE 进行架构更改。 HIVE-11421 正在跟踪它。 已在 1.3.0/2.0.0 中修复。使用 Oracle 作为 Metastore DB 和“datanucleus.connectionPoolingTypeBONECP”可能会生成间歇性的“无此类锁…”和“无此类事务…”错误。 在这种情况下建议设置“datanucleus.connectionPoolingTypeDBCP”。事务表不支持 LOAD DATA… 语句。 直到 HIVE-16732 才正确执行此操作 Streaming APIs Hive提供了流式数据采集和流式数据修改的API: Hive HCatalog Streaming APIHive Streaming API (Since Hive 3)HCatalog Streaming Mutation API (available in Hive 2.0.0 and later) 这两个api的比较可以在StreamingMutation文档的Background部分找到。 语法的变化 从Hive 0.14版本开始支持INSERT…VALUES, UPDATE, and DELETE 语法。详情请参阅LanguageManual DML。 为了支持ACID和事务Hive的DDL中添加了几个新命令另外还修改了一些现有的DDL。 新增命令SHOW TRANSACTIONS详见SHOW TRANSACTIONS。 新增命令SHOW COMPACTIONS详见SHOW COMPACTIONS。 SHOW LOCKS命令已被修改以提供与事务相关的新锁的信息。如果你使用的是ZooKeeper或内存锁管理器你会发现这个命令的输出没有什么不同。详情请参见Show Locks。 ALTER TABLE中增加了一个新选项来请求压缩表或分区。一般来说用户不需要请求压缩因为系统将检测到对它们的需求并启动压缩。但是如果一个表的压缩被关闭或者用户想在系统不愿意选择的时候压缩表可以使用ALTER table 来启动压缩。参见Alter Table/PartitionCompact了解详细信息。这将为压缩和返回请求排队。要查看压缩的进度用户可以使用 SHOW COMPACTIONS。 增加了一个新的命令ABORT TRANSACTIONS详情请参见ABORT TRANSACTIONS。 Basic Design HDFS 不支持对文内容件进行更改。 面对写入器写入到用户正在读取的文件时它也不提供读取一致性。为了在 HDFS 之上提供这些功能我们遵循其他数据仓库工具中使用的标准方法。 表或分区的数据存储在一组基本文件中。 新记录、更新和删除都存储在增量文件中。 为每个更改表或分区的事务或者在 Flume 或 Storm 等流代理的情况下为每批事务创建一组新的增量文件。 在读取时读取器合并基本文件和增量文件在读取时应用任何更新和删除。 Base and Delta Directories 以前分区或表如果表未分区的所有文件都位于单个目录中。 通过这些更改使用 ACID 感知写入器写入的任何分区或表都将具有用于基本文件的目录和用于每组增量文件的目录。 对于未分区的表“t”这可能是这样的 Filesystem Layout for Table “t” hive dfs -ls -R /user/hive/warehouse/t; drwxr-xr-x - ekoifman staff 0 2016-06-09 17:03 /user/hive/warehouse/t/base_0000022 -rw-r--r-- 1 ekoifman staff 602 2016-06-09 17:03 /user/hive/warehouse/t/base_0000022/bucket_00000 drwxr-xr-x - ekoifman staff 0 2016-06-09 17:06 /user/hive/warehouse/t/delta_0000023_0000023_0000 -rw-r--r-- 1 ekoifman staff 611 2016-06-09 17:06 /user/hive/warehouse/t/delta_0000023_0000023_0000/bucket_00000 drwxr-xr-x - ekoifman staff 0 2016-06-09 17:07 /user/hive/warehouse/t/delta_0000024_0000024_0000 -rw-r--r-- 1 ekoifman staff 610 2016-06-09 17:07 /user/hive/warehouse/t/delta_0000024_0000024_0000/bucket_00000Compactor Compactor 是一组在 Metastore 内运行的后台进程用于支持 ACID 系统。 它由 Initiator、Worker、Cleaner、AcidHouseKeeperService 和其他一些组件组成。 Delta File Compaction 随着操作修改表会创建越来越多的增量文件需要对其进行压缩以保持足够的性能。 压缩分为三种类型minor、major 和rebalance。 minor 采用一组现有的增量文件并将它们重写为每个存储桶的单个增量文件。将所有的增量文件合并压缩成每个存储桶一个增量文件major 采用一个或多个增量文件和存储桶的基本文件并将它们重写为每个存储桶的新基本文件。 主要压实成本更高但更有效。将基础文件和增量文件合并成新的基础文件有关重新平衡压缩的更多信息可以在这里找到重新平衡压缩 所有压缩都是在后台完成的。minor 和major 不会阻止数据的并发读取和写入。 重新平衡压缩使用排它写锁因此它可以防止并发写入。 压缩后系统会等待旧文件的所有读取器完成然后删除旧文件。 Initiator 该模块负责发现哪些表或分区需要压缩。 应使用 hive.compactor.initiator.on 在 Metastore 中启用此功能。 下面的“事务的新配置参数”表中有几个 *.threshold 形式的属性用于控制何时创建压缩任务以及执行哪种类型的压缩。 每个压缩任务处理 1 个分区如果表未分区则处理整个表。 如果给定分区的连续压缩失败次数超过 hive.compactor.initiator.failed.compacts.threshold则该分区的自动压缩调度将停止。 有关详细信息请参阅配置参数表。 Worker 每个 Worker 处理一个压缩任务。 压缩是一个 MapReduce 作业其名称采用以下形式主机名-compactor-db.table.partition。 每个worker将作业提交到集群通过 hive.compactor.job.queue 如果已定义并等待作业完成。 hive.compactor.worker.threads 确定每个 Metastore 中的 Worker 数量。 Hive仓库中的Worker总数决定了并发compaction的最大数量。 Cleaner 清理不需要的增量文件的模块。 AcidHouseKeeperService 此过程查找在 hive.txn.timeout 时间内未检测到的事务并中止它们 。 系统假设发起事务的客户端停止心跳崩溃并且其锁定的资源应该被释放。 SHOW COMPACTIONS 此命令显示有关当前运行的压缩和最近的压缩历史记录可配置的保留期的信息。 此历史记录显示自 HIVE-12353 起可用。 另请参阅 LanguageManual DDL#ShowCompactions 了解有关此命令输出的更多信息和 NewConfigurationParametersforTransactions/Compaction History 了解影响此命令输出的配置属性。 系统保留每种类型的最后 N 个条目failed、succeeded、attempted 其中 N 可以为每种类型配置。 Transaction/Lock Manager 添加了一个名为“事务管理器”的新逻辑实体它合并了之前的“数据库/表/分区锁管理器”概念hive.lock.manager默认为 org.apache.hadoop.hive.ql.lockmgr.zookeeper.ZooKeeperHiveLockManager 。 事务管理器现在还负责管理事务锁。 默认的 DummyTxnManager 模拟旧 Hive 版本的行为没有事务并使用 hive.lock.manager 属性为表、分区和数据库创建锁管理器。 新添加的 DbTxnManager 使用 DbLockManager 管理 Hive 元存储中的所有锁/事务事务和锁在服务器故障时是持久的。 这意味着启用事务后ZooKeeper 中以前的锁定行为将不再存在。 为了避免客户端死亡并导致事务或锁悬空锁持有者和事务发起者会定期向元存储发送心跳。 如果在配置的时间内未收到心跳锁定或事务将被中止。 从 Hive 1.3.0 开始DbLockManger 继续尝试获取锁的时间长度可以通过 hive.locknumretires和hive.lock.sleep.Between.retries控制 .。 当DbLockManager无法获取锁时由于存在竞争锁它将后退并在一段时间后重试。 为了支持短时间运行的查询并且同时不会压垮元存储DbLockManager 将在每次重试后将等待时间加倍。 初始回退时间为 100 毫秒并受 hive.lock.sleep. Between.retries 限制。 hive.lock.numretries 是重试给定锁定请求的总次数。 因此获取锁的调用将阻塞的总时间给定 100 次重试和 60 秒睡眠时间的值为 (100ms 200ms 400ms … 51200ms 60s 60s … 60s) 91m 42秒300毫秒。 有关此锁管理器使用的锁的更多详细信息。 请注意DbTxnManager 使用的锁管理器将获取所有表上的锁甚至是那些没有“transactionaltrue”属性的表。 默认情况下对非事务表的插入操作将获取排他锁从而阻止其他插入和读取。 虽然技术上是正确的但这与 Hive 传统的工作方式即没有锁管理器不同。 为了向后兼容提供了 [hive.txn.strict.locking.mode](http://configuration properties/#hive.txn.strict.locking.mode) 见下表这将使该锁管理器获取共享锁 非事务表上的插入操作。 这会恢复以前的语义同时仍然提供锁管理器的好处例如防止表在读取时被删除。 请注意对于事务表insert 始终会获取共享锁因为这些表在存储层实现了 MVCC 架构即使存在并发修改操作也能够提供强读一致性快照隔离。 Configuration 必须正确设置这些配置参数才能在 Hive 中打开事务支持 Client Side hive.support.concurrency – truehive.enforce.bucketing – true (Not required as of Hive 2.0)hive.exec.dynamic.partition.mode – nonstricthive.txn.manager – org.apache.hadoop.hive.ql.lockmgr.DbTxnManager Server Side (Metastore) hive.compactor.initiator.on – true (See table below for more details)hive.compactor.cleaner.on – true (See table below for more details)hive.compactor.worker.threads – a positive number on at least one instance of the Thrift metastore service 以下部分列出了影响 Hive 事务和压缩的所有配置参数。 另请参阅上面的限制 和表属性如下。 New Configuration Parameters for Transactions 系统中添加了许多新的配置参数以支持事务。 Configuration keyValuesLocationNoteshive.txn.managerDefault: org.apache.hadoop.hive.ql.lockmgr.DummyTxnManagerValue required for transactions: org.apache.hadoop.hive.ql.lockmgr.DbTxnManagerClient/ HiveServer2DummyTxnManager replicates pre Hive-0.13 behavior and provides no transactions.DummyTxnManager 复制 Hive-0.13 之前的行为并且不提供事务。hive.txn.strict.locking.modeDefault: trueClient/ HiveServer2In strict mode non-ACID resources use standard R/W lock semantics, e.g. INSERT will acquire exclusive lock. In non-strict mode, for non-ACID resources, INSERT will only acquire shared lock, which allows two concurrent writes to the same partition but still lets lock manager prevent DROP TABLE etc. when the table is being written to (as of Hive 2.2.0).在严格模式下非 ACID 资源使用标准 R/W 锁语义例如 INSERT 将获取独占锁。 在非严格模式下对于非 ACID 资源INSERT 将仅获取共享锁这允许对同一分区进行两个并发写入但仍然允许锁管理器在写入表时阻止 DROP TABLE 等操作从 Hive 2.2.0)。hive.txn.timeoutDefault: 300Client/ HiveServer2/Metastore如果客户端未发送心跳则声明事务中止的时间以秒为单位。 至关重要的是该属性对于所有组件/服务都具有相同的值。 5 ^5 5hive.txn.heartbeat.threadpool.sizeDefault: 5Client/HiveServer2The number of threads to use for heartbeating (as of Hive 1.3.0 and 2.0.0).用于检测信号的线程数从 Hive 1.3.0 和 2.0.0 开始。hive.timedout.txn.reaper.startDefault: 100sMetastoreTime delay of first reaper (the process which aborts timed-out transactions) run after the metastore starts (as of Hive 1.3.0). Controls AcidHouseKeeperServcie above.第一个收割机中止超时事务的进程的时间延迟在 Metastore 启动后运行从 Hive 1.3.0 开始。 控制上面的 AcidHouseKeeperServcie。hive.timedout.txn.reaper.intervalDefault: 180sMetastoreTime interval describing how often the reaper (the process which aborts timed-out transactions) runs (as of Hive 1.3.0). Controls AcidHouseKeeperServcie above.描述收割机中止超时事务的进程运行频率的时间间隔从 Hive 1.3.0 开始。 控制上面的 AcidHouseKeeperServcie。hive.txn.max.open.batchDefault: 1000ClientMaximum number of transactions that can be fetched in one call to open_txns().1一次调用 open_txns(). 1 ^1 1可以获取的最大交易数量hive.max.open.txnsDefault: 100000HiveServer2/ MetastoreMaximum number of open transactions. If current open transactions reach this limit, future open transaction requests will be rejected, until the number goes below the limit. (As of Hive 1.3.0 and 2.1.0.)未结交易的最大数量。 如果当前未结交易达到此限制则未来的未结交易请求将被拒绝直到数量低于该限制。 从 Hive 1.3.0 和 2.1.0 开始。hive.count.open.txns.intervalDefault: 1sHiveServer2/ MetastoreTime in seconds between checks to count open transactions (as of Hive 1.3.0 and 2.1.0).对打开的事务进行计数的检查之间的时间以秒为单位从 Hive 1.3.0 和 2.1.0 开始。hive.txn.retryable.sqlex.regexDefault: “” (empty string)HiveServer2/ MetastoreComma separated list of regular expression patterns for SQL state, error code, and error message of retryable SQLExceptions, that’s suitable for the Hive metastore database (as of Hive 1.3.0 and 2.1.0).For an example, see Configuration Properties.用于 SQL 状态、错误代码和可重试 SQLException 的错误消息的逗号分隔正则表达式模式列表适用于 Hive 元存储数据库。hive.compactor.initiator.onDefault: falseValue required for transactions: true (for exactly one instance of the Thrift metastore service)MetastoreWhether to run the initiator thread on this metastore instance. Prior to Hive 1.3.0 it’s critical that this is enabled on exactly one standalone metastore service instance (not enforced yet).As of Hive 1.3.0 this property may be enabled on any number of standalone metastore instances.是否在此元存储实例上运行启动器线程。 在 Hive 1.3.0 之前必须在一个独立元存储服务实例上启用此功能尚未强制执行。从 Hive 1.3.0 可以在任意数量的独立元存储实例上启用此属性。hive.compactor.cleaner.onDefault: falseValue required for transactions: true (for exactly one instance of the Thrift metastore service)MetastoreWhether to run the cleaner thread on this metastore instance.Before Hive 4.0.0 Cleaner thread can be started/stopped with config hive.compactor.initiator.on. This config helps to enable/disable initiator/cleaner threads independently是否在此 Metastore 实例上运行 Cleaner 线程。在 Hive 4.0.0 之前可以使用配置 hive.compactor.initiator.on 启动/停止 Cleaner 线程。 此配置有助于独立启用/禁用启动器/清理器线程hive.compactor.worker.threadsDefault: 0Value required for transactions: 0 on at least one instance of the Thrift metastore serviceMetastoreHow many compactor worker threads to run on this metastore instance.2在此元存储实例上运行多少个压缩器工作线程。 2 ^2 2hive.compactor.worker.timeoutDefault: 86400MetastoreTime in seconds after which a compaction job will be declared failed and the compaction re-queued.以秒为单位的时间之后压缩作业将被声明失败并重新排队。hive.compactor.cleaner.run.intervalDefault: 5000MetastoreTime in milliseconds between runs of the cleaner thread. (Hive 0.14.0 and later.)清洁器线程运行之间的时间以毫秒为单位。 Hive 0.14.0 及更高版本。hive.compactor.check.intervalDefault: 300MetastoreTime in seconds between checks to see if any tables or partitions need to be compacted.3检查是否需要压缩任何表或分区的时间间隔以秒为单位。 3 ^3 3hive.compactor.delta.num.thresholdDefault: 10MetastoreNumber of delta directories in a table or partition that will trigger a minor compaction.表或分区中将触发次要压缩的增量目录数。hive.compactor.delta.pct.thresholdDefault: 0.1MetastorePercentage (fractional) size of the delta files relative to the base that will trigger a major compaction. 1 100%, so the default 0.1 10%.增量文件相对于将触发主要压缩的基础的百分比分数大小。 1 100%因此默认 0.1 10%。hive.compactor.abortedtxn.thresholdDefault: 1000MetastoreNumber of aborted transactions involving a given table or partition that will trigger a major compaction.涉及将触发主要压缩的给定表或分区的中止事务数。hive.compactor.aborted.txn.time.thresholdDefault: 12hMetastoreAge of table/partition’s oldest aborted transaction when compaction will be triggered. Default time unit is: hours. Set to a negative number to disable.触发压缩时表/分区最旧的中止事务的年龄。 默认时间单位是小时。 设置为负数即可禁用hive.compactor.max.num.deltaDefault: 500MetastoreMaximum number of delta files that the compactor will attempt to handle in a single job (as of Hive 1.3.0).4压缩器在单个作业中尝试处理的增量文件的最大数量从 Hive 1.3.0 开始。 4 ^4 4hive.compactor.job.queueDefault: “” (empty string)MetastoreUsed to specify name of Hadoop queue to which Compaction jobs will be submitted. Set to empty string to let Hadoop choose the queue (as of Hive 1.3.0).用于指定将向其提交压缩作业的 Hadoop 队列的名称。 设置为空字符串以让 Hadoop 选择队列从 Hive 1.3.0 开始。Compaction Historyhive.compactor.history.retention.succeededDefault: 3MetastoreNumber of successful compaction entries to retain in history (per partition).要保留在历史记录中的成功压缩条目数每个分区。hive.compactor.history.retention.failedDefault: 3MetastoreNumber of failed compaction entries to retain in history (per partition).要保留在历史记录中的失败压缩条目数每个分区。hive.compactor.history.retention.attemptedDefault: 2MetastoreNumber of attempted compaction entries to retain in history (per partition).要保留在历史记录中的尝试压缩条目数每个分区。hive.compactor.initiator.failed.compacts.thresholdDefault: 2MetastoreNumber of of consecutive failed compactions for a given partition after which the Initiator will stop attempting to schedule compactions automatically. It is still possible to use ALTER TABLE to initiate compaction. Once a manually initiated compaction succeeds auto initiated compactions will resume. Note that this must be less than hive.compactor.history.retention.failed.给定分区连续失败的压缩次数之后启动器将停止尝试自动安排压缩。 仍然可以使用ALTER TABLE来启动压缩。 一旦手动启动的压缩成功自动启动的压缩将恢复。 请注意该值必须小于 hive.compactor.history.retention.failed。hive.compactor.history.reaper.intervalDefault: 2mMetastoreControls how often the process to purge historical record of compactions runs.控制清除压缩历史记录的进程运行的频率。 1 ^1 1 hive.txn.max.open.batch 控制同时打开 Flume 或 Storm 等流代理的事务数量。 然后流代理将该数量的条目写入单个文件每个 Flume 代理或 Storm Bolt。 因此增加此值会减少流代理创建的增量文件的数量。 但它也会增加 Hive 在任何给定时间必须跟踪的打开事务的数量这可能会对读取性能产生负面影响。 2 ^2 2工作线程生成 MapReduce 作业来执行压缩。 他们自己不进行压实。 一旦确定需要压缩增加工作线程的数量将减少表或分区的压缩时间。 随着更多 MapReduce 作业在后台运行它还会增加 Hadoop 集群的后台负载。 每次压缩一次可以处理一个分区如果未分区则可以处理整个表。 3 ^3 3减小该值将减少需要压缩的表或分区开始压缩所需的时间。 然而检查是否需要压缩需要对自上次主要压缩以来已在其上完成事务的每个表或分区多次调用 NameNode。 所以减小这个值会增加NameNode的负载。 4 ^4 4如果压缩器检测到非常多的增量文件它将首先运行几个部分次要压缩当前是顺序的然后执行实际请求的压缩。 5 ^5 5如果该值不同则活动事务可能会被确定为“超时”并因此被中止。 这将导致诸如“没有这样的事务…”、“没有这样的锁…”之类的错误 Configuration Values to Set for INSERT, UPDATE, DELETE 除了上面列出的新参数之外还需要设置一些现有参数以支持 INSERT … VALUES、UPDATE、 和 DELETE。 Configuration keyMust be set tohive.support.concurrencytrue (default is false)hive.enforce.bucketingtrue (default is false) (Not required as of Hive 2.0)hive.exec.dynamic.partition.modenonstrict (default is strict) Configuration Values to Set for Compaction 如果系统中的数据不属于 Hive 用户即 Hive 元存储运行的用户则 Hive 将需要以拥有数据的用户身份运行才能执行压缩。 如果您已经设置 HiveServer2 来模拟用户那么唯一需要做的额外工作就是确保 Hive 有权从运行 Hive 元存储的主机模拟用户。 这是通过将主机名添加到 Hadoop 的core-site.xml文件中的hadoop.proxyuser.hive.hosts来完成的。 如果您尚未执行此操作则需要将 Hive 配置为充当代理用户。 这需要您为运行 Hive 元存储的用户设置密钥表并将hadoop.proxyuser.hive.hosts和hadoop.proxyuser.hive.groups添加到 Hadoop 的core-site.xml文件中。 请参阅有关您的 Hadoop 版本的安全模式的 Hadoop 文档例如对于 Hadoop 2.5.1它位于 Hadoop in Secure Mode)。 Compaction pooling 有关压缩池的更多信息可以在这里找到压缩池 Table Properties 如果要在 ACID 写入插入、更新、删除中使用表则必须在该表上设置表属性“transactionaltrue”从 Hive 0.14.0。 请注意一旦通过 TBLPROPERTIES (“transactional”“true”) 将表定义为 ACID 表它就无法转换回非 ACID 表即更改 TBLPROPERTIES (“transactional”“false”) 是 不允许。 另外hive.txn.manager必须设置为org.apache.hadoop.hive.ql.lockmgr.DbTxnManager 在 hive-site.xml 中或在运行任何查询之前的会话开始时。 如果没有这些插入将以旧样式完成 HIVE-11716 之前将禁止更新和删除。 由于 HIVE-11716不允许在没有 DbTxnManager 的情况下对 ACID 表进行操作。 但是这不适用于 Hive 0.13.0。 如果表所有者不希望系统自动确定何时压缩则可以设置表属性“NO_AUTO_COMPACTION”。 这将阻止所有自动压缩。 手动压缩仍然可以使用 Alter Table/Partition Compact 语句来完成。 创建或更改表时使用 TBLPROPERTIES 子句设置表属性如创建表中所述并且 Hive 数据定义语言的更改表属性 部分。 “transactional”和“NO_AUTO_COMPACTION”表属性在 Hive 版本 0.x 和 1.0 中区分大小写但从版本 1.1.0 开始不区分大小写 (HIVE-8308)。 从 Hive 1.3.0 和 2.1.0 开始可以通过 TBLPROPERTIES 设置更多与压缩相关的选项。 它们可以通过 CREATE TABLE 在表级别设置并通过请求级别设置 更改表/分区紧凑。 这些用于覆盖仓库/表范围的设置。 例如要覆盖 MR 属性以影响压缩作业可以在 CREATE TABLE 语句中或通过 ALTER TABLE 显式启动压缩时添加compactor.mr property namevalue。 mr 属性名称值将在压缩 MR 作业的 JobConf 上设置。 类似地“tblprops.”可用于设置/覆盖由集群上运行的代码解释的任何表属性。 最后compactorthreshold.prop namevalue可用于覆盖上面以.threshold结尾的“事务的新配置参数”表中的属性并控制系统何时触发压缩。 例子 示例在表级别的 TBLPROPERTIES 中设置压缩选项 CREATE TABLE table_name (id int,name string ) CLUSTERED BY (id) INTO 2 BUCKETS STORED AS ORC TBLPROPERTIES (transactionaltrue,compactor.mapreduce.map.memory.mb2048, -- specify compaction map job propertiescompactorthreshold.hive.compactor.delta.num.threshold4, -- trigger minor compaction if there are more than 4 delta directoriescompactorthreshold.hive.compactor.delta.pct.threshold0.5 -- trigger major compaction if the ratio of size of delta files to-- size of base files is greater than 50% );示例在请求级别设置 TBLPROPERTIES 中的压缩选项 ALTER TABLE table_name COMPACT minor WITH OVERWRITE TBLPROPERTIES (compactor.mapreduce.map.memory.mb3072); -- specify compaction map job properties ALTER TABLE table_name COMPACT majorWITH OVERWRITE TBLPROPERTIES (tblprops.orc.compress.size8192); -- change any other Hive table properties需要关注的 重新平衡压缩 锁相关。
http://www.pierceye.com/news/720727/

相关文章:

  • 网站建设技术课程设计儿童教育网站怎么做有趣
  • 建设银行网站网址网站推广在线
  • 服务器上网站建设用什么搭建个人网站
  • 网站设计排版怎么做wordpress添加媒体
  • 网站服务器镜像外协加工网最新订单
  • 做网站要准备的资料广州响应式网站
  • 徐州网站建设方案维护wordpress主页访客记录
  • 西安网站优化招聘网多个网站 备案吗
  • 宣威网站wordpress 园林模板
  • 宁夏政务大厅城乡建设厅口网站怎么用抓爬工具做网站
  • 电影网站怎么建设深圳企业营销型网站
  • 天津工程建设网官方网站wordpress 静态化插件
  • 洛阳公司青峰做的企业网站设计本app
  • 宁波网站建设设计高效的设计公司
  • c2c网站架构免费推广网站工具
  • 网站建设案例基本流程图咨询公司名字大全
  • 成功的电子商务网站设计律师推广网站排名
  • 东莞桥头网站建设合肥商城网站建设
  • 做网站的准备什么合肥制作网页设计
  • 医院门户网站建设规划柳州建设厅官方网站
  • 公司建网站怎么建做网站的公司都很小吗
  • 手机cms建站系统重庆怎么站seo
  • 益阳建设局网站网站 设计 趋势
  • 奉贤网站建设网站制作金融企业如何做好网络推广
  • 范湖网站建设团队建设银行激活网站
  • 旅游网站开发网站设计报告书邢台旅游景点大全排名 免费
  • 如何创建div做网站推荐佛山伦教网站设计
  • 建设电子商务网站前的市场分析网站后台ftp
  • 华丽的网站模板律所网站建设
  • 网站 管理系统搜索关键词的方法