1.hive 配置开启支持事务
A.开启hive 的 ACID Transactions(hortonworks下配置了ACID开关按钮)
B.针对原生态与CDH版的hive配置如下:
<property> <name>hive.support.concurrency</name> <value>true</value> </property> <property> <name>hive.exec.dynamic.partition.mode</name> <value>nonstrict</value> </property> <property> <name>hive.txn.manager</name> <value>org.apache.hadoop.hive.ql.lockmgr.DbTxnManager</value> </property> <property> <name>hive.compactor.initiator.on</name> <value>true</value> </property> <property> <name>hive.compactor.worker.threads</name> <value>1</value> </property>
2.创建事务表
A.创建事务表必须带有into buckets子句和stored as orc TBLPROPERTIES ('transactional'='true')子句,并且不能 带有sorted by子句
create table t1(id int , name string) clustered by (id) into 8 buckets stored as orc tblproperties ('transactional'='true'); 操作语句: insert into t1 values(1,'aaa'); insert into t1 values(2,'bbb'); update t1 set name='ccc' where id=1; delete from t1 where id=2;
B:不能修改bucket 列,否则会报错:
FAILED: SemanticException [Error 10302]: Updating values of bucketing columns is not supported. Column id.
C.对分区表执行insert时, 表名后要跟partition子句。
D.对已有非ORC表的转换, 只能通过新建ORC表再向新表迁移数据的方式, 直接修改原表的文件格式属 性是不行的
3.HIVE事务支持的限制
A.暂不支持BEGIN、 COMMIT和ROLLBACK语句, 所有HiveQL语句都是自动提交的。 Hive计划在未来 版本支持这些语句。
B.现有版本只支持ORC文件格式, 未来可能会支持所有存储格式。 Hive计划给表中的每行记录增加显式 或隐式的row id, 用于行级的update或delete操作。 这项功能很
值得期待, 但目前来看进展不大。
C.默认配置下, 事务功能是关闭的, 必须进行一些配置才能使用事务, 易用性不理想。
D.使用事务的表必须分桶, 而相同系统上不使用事务和ACID特性的表则没有此限制。
外部表的事务特性有可能失效。
E.不允许从一个非ACID的会话读写事务表。 换句话说, 会话中的锁管理器变量必须设置成 org.apache.hadoop.hive.ql.lockmgr.DbTxnManager, 才能与事务表一起工作。
F.当前版本只支持快照级别的事务隔离。 当一个查询开始执行后, Hive提供给它一个查询开始时间点的数 据一致性快照。 传统事务的脏读、 读提交、 可重复读或串行
化隔离级别都不支持。 计划引入的BEGIN语句, 目的就是在事务执行期间支持快照隔离级别, 而不仅 仅是面向单一语句。 Hive官方称会依赖用户需求增加其他隔离级别。
G.ZooKeeper和内存锁管理器与事务不兼容。
4.HIVE 装载表数据
A.load与load overwrite的区别是: load每次执行生成新的数据文件, 文件中是本次装载的数据。 load overwrite如表(或分区) 的数据文件不存在则生成, 存在则重新生成数据文件内容。
B.分区表比非分区表多了一种alter table ... add partition的数据装载方式。
C.对于分区表(无论内部还是外部) , load与load overwrite会自动建立名为分区键值的目录, 而alter table ... add partition, 只要用location指定数据文件所在的目录即可。
D.对于外部表, 除了在删除表时只删除元数据而保留表数据目录外, 其数据装载行为与内部表相同(外 部表的实验没有列出) 。
5.渐变维(SCD) 即是一种在多维数据仓库中实现维度历史的技术。 有三种不同的SCD技术: SCD类 型 1(SCD1) , SCD类型2(SCD2) , SCD类型3(SCD3) 。
SCD1: 通过更新维度记录直接覆盖已存在的值, 它不维护记录的历史。 SCD1一般用于修改错误的数 据。SCD2: 在源数据发生变化时, 给维度记录建立一个新的“版本”记录, 从而维护维度历史。 SCD2不删 除、 修改已存在的数据。
SCD3: 通常用作保持维度记录的几个版本。 它通过给某个数据单元增加多个列来维护历史。 例如, 为 了记录客户地址的变化, customer_dim维度表有一个
customer_address列和一个previous_customer_address列, 分别记录当前和上一个版本的地址。 SCD3 可以有效维护有限的历史, 而不像SCD2那样保存全部历史。 SCD3
很少使用。 它只适用于数据的存储空间不足并且用户接受有限维度历史的情况
相关推荐
- Hive是基于Hadoop的数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供SQL查询功能。 - 实验中选择了Hive 2.1.1版本进行安装,软件包为`apache-hive-2.1.1-bin.tar.gz`。 - Hive需要依赖JDK和...
Hive是一款基于Hadoop的数据仓库工具,能够对大规模数据进行快速的查询和分析。它提供了一个SQL-like的查询语言,称为HQL(Hive Query Language),使得用户可以使用类似SQL的语句来查询和管理数据。在Hive开发中,...
Hive是基于Hadoop的数据仓库工具,它允许通过SQL-like查询语言(HQL)对分布式存储的大数据集进行处理和分析。 1. **创建内部表**: 在Hive中,内部表由Hive自身管理,数据存储在HDFS中。实验中创建了一个名为`...
TPCDS测试是对Hive数据仓库性能的全面评估,涉及多个层面的技术细节。通过这个过程,可以深入理解Hive在大数据环境下的性能瓶颈,为系统优化提供依据。同时,这也是提升大数据处理能力,实现高效决策支持的重要手段...
9. 数据仓库的关键要点:数据仓库的关键要点包括数据资产管理、元数据管理、数据生命周期管理、存储、计算性能优化、权限管理等。 10. 数据仓库的落地关键:数据仓库的落地关键包括制定规范、约束建表流程、数据...
在这个场景中,我们利用Flume来从Nginx服务器收集日志,并将这些日志数据导入到新版的Hive数据仓库中。下面将详细阐述这个过程涉及的技术要点。 首先,Nginx是一款高性能的HTTP和反向代理服务器,它的日志记录了...
Hive是一个构建在Hadoop之上的数据仓库架构,它提供了一系列工具用于数据提取、转换、加载(ETL)。Hive使得用户能够对存储在Hadoop中的大规模数据进行存储、查询和分析。其主要特性包括: - **SQL查询语言**: Hive...
Hive是Apache软件基金会开发的一个数据仓库工具,主要用于处理和管理大数据。它允许用户使用SQL(称为HQL,Hive Query Language)查询分布式存储的数据,为大数据分析提供了一个简便的接口。以下是对Hive基础知识的...
Hive是一种基于Hadoop的数据仓库工具,它能够将结构化的数据文件映射为数据库表,并通过提供类似SQL的查询语言来实现对这些数据的查询操作。这使得不熟悉MapReduce的用户也能方便地进行数据查询。 #### 安装与配置 ...
- **数据仓库**:利用Apache Hive、Presto等工具进行数据的结构化处理,并存储在专门的数据库系统中,如Redshift或BigQuery。 - **数据集成**:使用ETL工具(如Apache Spark)进行数据的清洗、转换和加载过程,确保...
9. 数据仓库特性:数据仓库是设计用来支持决策分析的系统,其特点包括稳定性、面向主题、反映历史变化和数据集成。 10. 数据安全技术:包括防火墙、访问控制和身份认证等,用于保护数据的安全和隐私。 通过这些...
KLOOK客路旅行的数据仓库架构是指使用Hudi作为ODS层,将数据从RDS数据库同步至Hudi表中,然后使用Flink SQL Batch作业将数据批量写入Hudi表中,最后使用Hive/Trino提供OLAP数据查询。 10. 实践要点 KLOOK客路旅行...
* 数据仓库:平台可以用来构建数据仓库,满足企业的数据分析和报表需求。 * 数据集成:平台可以用来集成多种数据源,满足企业的数据集成需求。 * 数据分析:平台可以用来分析和处理大数据,满足企业的数据分析需求。...
如SQL Server 2005相关的书籍和文章,虽然具体信息有部分OCR识别错误,但其内容可能涉及到数据管理平台的数据库技术实现、数据仓库设计等方面的知识,这些也是企业在实施数据资产管理时需要关注的技术要点。...
在数据存储方面,数据仓库是商业智能系统的核心,如Teradata AsterData、Oracle Exadata等一体机数据仓库,能够支持多维分析和数据整合。同时,数据集市如QlikView、Tableau则提供了更灵活的数据访问和展示方式。 ...
- **职责要点**:参与构建高效的大数据平台和数据仓库,以满足数据分析需求。 - **知识点**:大数据技术栈(如Hadoop、Spark)、数据仓库建模技术、ETL(数据提取、转换、加载)过程。 3. **业务深度分析与策略...
利用HBase或Hive作为数据仓库,提供高效的查询和分析服务;可能还结合Spark进行实时计算,提升大数据处理速度。 五、挑战与优化 在实际操作中,Hadoop和OpenStack的整合可能会面临性能优化、安全防护、监控报警等...
12. 数据仓库特性:数据仓库是面向主题的、相对稳定且反映历史变化的集成数据集合。 13. NoSQL数据库特点:NoSQL数据库与云计算紧密结合,具有灵活的扩展性和数据模型,而不是僵化的。 14. 机器学习与数据挖掘算法...