数据操作篇
加载数据(会生成partition,如果不存在的话;local字段表示为是本机目录,如果不加,则表示为hdfs上的目录;overwrite关键字表示删除目标目录,当没有则保留,但会覆盖同名旧目录)一些限制条件:使用partition,则table必须是partition的;hive不会去验证你的data是服务schema的,但是hive会验证文件是否符合表定义,如sequencefile的table,file也必须是sequence files
load data local inpath '/home/hadoop/hive/data'
overwrite into table employees
partition(country='china',state='beijing');
静态插入数据:
插入数据(select * from employee 这样选择一个分区表,会将其partition的column也返回)
insert overwrite table employees
partition (country='US',state='dallas')
select name,salary,subordinate,deductions,address from employees se
where se.country='china' and se.state='beijing'
插入多条数据
FROM staged_employees se
INSERT OVERWRITE TABLE employees
PARTITION (country = 'US', state = 'OR')
SELECT * WHERE se.cnty = 'US' AND se.st = 'OR'
INSERT OVERWRITE TABLE employees
PARTITION (country = 'US', state = 'CA')
SELECT * WHERE se.cnty = 'US' AND se.st = 'CA'
INSERT OVERWRITE TABLE employees
PARTITION (country = 'US', state = 'IL')
SELECT * WHERE se.cnty = 'US' AND se.st = 'IL';
动态插入并创建partition:
INSERT OVERWRITE TABLE employees
PARTITION (country, state)
SELECT ..., se.cnty, se.st
FROM staged_employees se;
动态静态创建partition
INSERT OVERWRITE TABLE employees
PARTITION (country = 'US', state)
SELECT ..., se.cnty, se.st
FROM staged_employees se
WHERE se.cnty = 'US';
有一些参数控制,动态创建partition
hive.exec.dynamic.partition
false
Set to true to enable dynamic partitioning.
hive.exec.dynamic.partition.mode
strict
Set to nonstrict to enable all partitions to be determined
dynamically.
hive.exec.max.dynamic.partitions.pernode
100
The maximum number of dynamic partitions that can be created
by each mapper or reducer. Raises a fatal error if one
mapper or reducer attempts to create more than the threshold.
hive.exec.max.dynamic.partitions
+1000
The total number of dynamic partitions that can be created by
one statement with dynamic partitioning. Raises a fatal error
if the limit is exceeded.
hive.exec.max.created.files
100000
The maximum total number of files that can be created globally.
A Hadoop counter is used to track the number of files created.
Raises a fatal error if the limit is exceeded.
创建表,并加载数据
CREATE TABLE ca_employees
AS SELECT name, salary, address
FROM employees
WHERE se.state = 'CA';
导出数据
INSERT OVERWRITE LOCAL DIRECTORY '/tmp/ca_employees'
SELECT name, salary, address
FROM employees
WHERE se.state = 'CA';
批量导出数据
FROM staged_employees se
INSERT OVERWRITE DIRECTORY '/tmp/or_employees'
SELECT * WHERE se.cty = 'US' and se.st = 'OR'
INSERT OVERWRITE DIRECTORY '/tmp/ca_employees'
SELECT * WHERE se.cty = 'US' and se.st = 'CA'
INSERT OVERWRITE DIRECTORY '/tmp/il_employees'
SELECT * WHERE se.cty = 'US' and se.st = 'IL';
相关推荐
5. **Hive数据操作**:这部分涵盖数据的插入、更新和删除操作,以及数据加载与导出。学生需要掌握如何高效地管理Hive中的数据。 6. **HQL查询**:介绍Hive查询语言,包括SELECT、WHERE、GROUP BY、JOIN等基本操作,...
第4章 HiveQL:数据定义 第5章 HiveQL:数据操作 第6章 HiveQL:查询 第7章 HiveQL:视图 第8章 HiveQL:索引 第9章 模式设计 第10章 调优 第11章 其他文件格式和压缩方法 第12章 开发 第13章 函数 第14章 ...
总的来说,本章介绍了数据仓库的基本概念、应用场景及其重要特性,并引入了Apache Hive作为数据仓库的实用工具,帮助我们理解如何在大数据环境中实现高效的数据分析。通过对这些知识的理解,读者将能够更好地理解...
本资源摘要信息主要介绍了Hadoop基于Hive的数据仓库作业,涵盖了Hive的基本概念、数据仓库的概念、Hive的数据模型、Hive的查询语言、Hive的数据处理、Hive的优化技术等。 1.Hive的基本概念 Hive是一个基于Hadoop的...
Hive是一种基于Hadoop的大数据仓库工具,可以将结构化的数据文件映射为一个表,并提供类SQL查询功能。Hive的优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计。延迟较高,使得Hive适合用于离线的...
在大数据处理领域,Hive作为一个基于Hadoop的数据仓库工具,常用于大规模数据处理和分析。本章节主要探讨如何优化Hive的性能,以及Hive3引入的新特性。 1. **分区表与分桶表优化** - **分区表**:为了解决普通表...
在清华大学的这门课程中,第四章重点讲解了Hive,可能涵盖了以下内容: 1. Hive的架构和工作原理 2. 安装和配置Hive环境 3. HQL基本语法和操作,如创建表、加载数据、查询数据等 4. 分区和桶的概念,以及如何利用...
- **Hive 表操作**:Hive 表操作包括创建表、加载数据、查询数据、修改表结构等。实验任务二可能涉及创建表,指定列名、数据类型,如 `CREATE TABLE table_name (col1 type, col2 type, ...);`。加载数据可以使用 `...
4. **创建 Metastore 数据库**:Hive 使用 Metastore 服务存储元数据,可以选择 MySQL、Derby 或其他兼容的数据库。根据配置文件中的信息创建对应的数据库和用户。 5. **启动 Hive**:启动 Hive 服务,可以使用命令...
4. 数据存储:Hive的数据实际存储在HDFS上,大多数的计算任务由MapReduce处理。 尽管Hive具备诸多优点,如良好的容错性和可热扩容性,但它也有一些不足。例如,HQL的表达能力相对较弱,更适合基础分析,而非复杂的...
总结,Hive作为Hadoop生态的重要组成部分,主要为大数据分析提供SQL查询能力,通过SQL与Hadoop集群交互,适用于处理和分析大规模分布式数据。尽管执行效率不如专门的实时查询引擎,但其易于使用和强大的SQL支持使其...
在本课程中,"清华大学精品大数据实战课程"深入探讨了大数据技术的核心概念,特别是围绕Hadoop、Hbase、Hive和Spark这四个关键组件。这一章的主题是“大数据概述”,让我们一起揭开大数据的神秘面纱。 大数据,...
#### 第一章 Hive基本概念 ##### 1.1 Hive简介 **Hive** 是一个基于 **Hadoop** 的数据仓库工具,它能够将结构化的数据文件映射成一张表,并提供类似于SQL的查询功能,即 **Hive Query Language (HQL)**。通过这种...
4. **统一平台**:Spark提供了DataFrame和Spark SQL,使得用户可以直接使用SQL语句进行数据处理,与Hive的SQL兼容性良好,方便数据科学家和工程师的工作。 5. **容错机制**:Spark通过检查点和容错设计,能够有效地...
### 高级软件人才培训专家-Hadoop课程资料-4-第四章 - 分布式SQL计算 Hive 入门 #### Apache Hive 概述 Apache Hive 是一款面向大数据处理的分布式 SQL 计算工具,旨在简化 Hadoop 生态系统中的数据查询与分析流程...
5. **启动Hive**:启动Hive服务,如`hive`命令行工具,即可开始使用Hive进行数据操作。 了解和熟练掌握Hive的安装配置、基本知识和架构,对于大数据分析师和数据工程师来说至关重要,它能够有效地提升大数据分析的...
它主要用于交互式或批处理模式的Hive查询执行,并且能够访问Hive元数据存储服务,而不是hiveserver2服务。以下是一些重要参数: - `-e <quoted-query-string>`:执行命令行后面指定的SQL语句,执行完毕后退出。 - ...
第4章涉及数据的选择和范围,主要讲解了SELECT语句和INNER JOIN语句的用法,特殊类型的JOIN——MAPJOIN的介绍,以及集合操作——UNION ALL的介绍。 第5章讨论数据操作,包括数据交换的 LOAD 和 INSERT 操作,ORDER ...
《大数据技术原理与操作应用》第7章的习题涉及到Hive的基本概念、数据类型、操作以及数据仓库的相关知识。以下是这些知识点的详细解释: 1. Hive 的数据类型: - `decimal(x,y)` 与 `FLOAT` 和 `DOUBLE` 的区别...