IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 第五章 HiveQL数据操作 -> 正文阅读

[大数据]第五章 HiveQL数据操作

Hive中没有行级别的插入,更新和删除操作。唯一向Hive中进行插入数据的方法是数据装载操作,或者通过其他方式将数据写入到正确的目录当中。

5.1向管理表中装载数据

	load data  [local] inpath 'path'
	[overwrite] into table `tbl_name`
	[partition(...)]
	
	local: 表示为本地文件系统,将本地文件拷贝到分布式文件系统中
	没有使用local则将数据移动到对应的文件夹下。
	overwrite: 如果目标文件夹中有其他数据,那么会将其覆盖。
	不使用该关键字的话,仅仅会把文件新增入目标文件夹。如果有同名文件的话,hive会将旧同名文件进行重新命名。以防止数据丢失。

5.2 通过查询语句向表中插入数据

	insert [overwrite | into] table `tbl_name`
	partition(...)
	select_statement;


	from `tbl_data_from` t
	insert [into | overwrite] table `tbl_name`
	partition(...)
	select_statement
	
	insert [into | overwrite] table `tbl_name`
	partition(...)
	select_statement

	insert [into | overwrite] table `tbl_name`
	partition(...)
	select_statement
	....
	;

5.3 动态分区插入

Hive可以基于查询参数动态的推断出所需要创建的分区名称。
并且支持动态插入和静态插入进行混用,但是静态分区必须在动态分区字段之前。

	insert overwirte table `tbl_name` 
	partition(k,..)
	select_statement;

动态分区是默认关闭的,需要手动的打开。并且打开之后是默认在严格模式下启动的,该模式下,进行分区插入时至少有一个是静态分区,这是为了防止一次创建大量的分区(在用户误操作的情况下,比如用户可能以时间戳作为动态分区,那么久惨了)。

属性default描述
hive.exec.dynamic.partitionfalse是够开启动态分区
hive.exec.dynamic.partition.modestrictnonstrict 表示是否允许所有分区都划分为动态
hive.exec.max.dynamic.partition.pernode100每个mapper和reducer可以创建的最分区的个数
hive.exec.max.dynamic.partitions1000每个动态分区语句可以创建的最大分区个数
hive.exec.max.created.files100000全局可以创建的最大分区个数

5.4 创建表并加载数据(不能用于外部表)

	create table `tbl_name`
	as
	select_statement

5.5 导出数据

1.从文件系统中直接导出

hadoop fs -cp source_path target_path

2.使用insert…directory语句

	insert overwrite local directory `local_path`
	select_statement
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-08-06 09:53:50  更:2021-08-06 09:55:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/17 18:46:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码