hive学习之数据插入操作
1、插入于法 insert into 和insert overwrite
INSERT INTO TABLE tablename1
[PARTITION (partcol1=val1, partcol2=val2 ...)]
select_statement1 FROM from_statement;
INSERT OVERWRITE TABLE tablename1
[PARTITION (partcol1=val1, partcol2=val2 ...)
[IF NOT EXISTS]]
select_statement1 FROM from_statement;
INSERT INTO
用于附加数据到配置单元表和分区表和,INSERT OVERWRITE
用来从表中删除现有的数据并插入新的数据。
2、静态插入
2.1 无分区插入
出入新增值
INSERT INTO employee VALUES
(13,'Mari',51,'M'),
(14,'Pat',34,'F');
从查询语句中插入
INSERT INTO employee_tmp SELECT * FROM employee;
2.2 带分区表
2.2.1插入特定分区
INSERT INTO zipcodes PARTITION(state='FL') VALUES
(891,'US','TAMPA',33605);
3、动态分区插入
在插入前,需要开启hive的动态插入功能,
set hive.exec.dynamic.partition=true;
set hive.exec.dynamic.partition.mode=nonstrict;
在这里,必须将partition列保留为最后一列。
动态分区插入主要是由于如果分区太多,手动写入分区很麻烦,因此可以基于查询参数推测除需要创建的分区。
insert overwrite table sport2 partition(year) select split(n1,'\t')[0],split(n1,'\t')[2],split(n1,'\t')[3],split(n1,'\t')[4],split(n1,'\t')[5],split(n1,'\t')[6],split(n1,'\t')[7],split(n1,'\t')[1] from sport;
在上面的语句中,partition(year)
和在查询中和分区匹配的split(n1,'\t')[1]
名称是不一样的,这也说明了在查询插入过程中,是基于位置插入,而不是名称插入。
4、静动混合
如果同时使用静态和动态,这个必须静态在前,动态在后。
INSERT OVERWRITE TABLE order_partition
partition (year='2019',month)SELECT order_id, order_date, order_status,
substr(order_date,1,4) ye, substr(order_date,5,2) mon
FROM orders
WHERE substr(order_date,1,4) ="2019";
单个查询语句中创建表并加载数据
create table 2012_sport as select n1,n2,n3 from sport2 where year=2012;
describe formatted 2012_sport;
OK
2021-05-18 21:05:02,303 INFO [9b64abd8-c822-4803-ab03-dd4a27670202 main] mapred.FileInputFormat: Total input files to process : 1
# col_name data_type comment n1 string
n2 string
n3 string # Detailed Table Information
Database: default
Owner: root
CreateTime: Tue May 18 21:03:22 CST 2021
LastAccessTime: UNKNOWN
Retention: 0
Location: hdfs://hacluster/user/hive/warehouse/2012_sport
Table Type: MANAGED_TABLE
Table Parameters: COLUMN_STATS_ACCURATE {\"BASIC_STATS\":\"true\"}numFiles 1 numRows 74 rawDataSize 1768 totalSize 1842 transient_lastDdlTime 1621343003 # Storage Information
SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
InputFormat: org.apache.hadoop.mapred.TextInputFormat
OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
Compressed: No
Num Buckets: -1
Bucket Columns: []
Sort Columns: []
Storage Desc Params: serialization.format 1
Time taken: 0.385 seconds, Fetched: 32 row(s)
这个功能适合从一个宽表中导出一个小表
导出数据
insert overwrite local directory '/tmp/ca_eemm'
select name from sport2
hive学习之数据插入操作相关推荐
- SQL查询的艺术学习笔记--数据插入操作
use seldata --insert 使用 --insert 基本语法 /* insert into table_anem [column1,colunm2,...columnN] values ...
- python数据导入hive_Python操作HIve,将数据插入到Mysql
Python操作HIve,将数据插入到Mysql import sys from hive_service import ThriftHive from hive_service.ttypes imp ...
- Docker学习之数据卷操作:Day4
数据卷基本操作 数据卷定义 数据卷(volume)是一个虚拟目录,指向宿主机文件系统中的某个目录文件. 图解 操作命令语法 docker volume [COMMAND] docker volume命 ...
- hive学习笔记-数据操作
hive数据操作 hive命令行操作 hive -d --define <key=value> 定义一个key-value可以在命令行中使用 hive -d database <da ...
- SQL语言之DML语言学习(一) 数据插入与修改操作语言
数据操作语言: 插入: insert 修改: update 删除:delete -.插入语句 方式一 语法: insert into表名(列名,-) values(值1,- ) ; INSERT IN ...
- MyBatis之数据插入操作
在goods.xml中添加insert标签 <insert id="insert" parameterType="com.mybatis.entity.Goods& ...
- 〖Python 数据库开发实战 - MySQL篇㉔〗- 数据插入操作 - INSERT语句
万叶集
- 【MySQL系统学习专栏】- 数据表操作 - 表定义选项 - 索引
文章目录 前言 一.索引概述 (一)什么是索引 (二)索引优点 (三)索引缺点 二.索引类型及对应操作 (一)主键索引 (二)普通索引 (三)唯一索引 (四)全文索引 (五)多列索引(组合.复合.联合 ...
- mysql随机生成数据并插入_python生成随机数据插入mysql
import random as r import pymysql first=('张','王','李','赵','金','艾','单','龚','钱','周','吴','郑','孔','曺','严' ...
最新文章
- winform chart 添加数据报错_C# win Form开发 构造指定格式数据表字段值
- POWERPCB常用技巧
- Operations on Numbers Strings
- php is resource,PHP有没有is_type()函数?该如何解决 - is_resource
- windows 2012 如何设置取消禁拼ping
- win8.1出现 called runscript when not marked in progress
- 阿里巴巴叔同谈云原生和云计算
- C# EntityFramework连接Sqlite (Database First)
- awk命令和grep命令的使用
- “云计算和大数据”重点专项2017年度项目安排公示
- 解决jsp无法用el表达式的问题
- 数据分析统计工具有哪些?
- linux怎么查看hwaddr_Linux查看MAC地址方法
- 验证整数和小数的正则表达式
- 团队开发过程中的一点感想
- 智能优化及其应用——课程实验(粒子群算法)
- kylin如何支持flink_Flink 在快手实时多维分析场景的应用
- 120G+训练好的word2vec模型(中文词向量)
- 小程序 | 优惠券样式
- 2021-CVPR-图像修复论文导读《TransFill: Reference-guided Image Inpainting by Merging Multiple Color and ~~~》
热门文章
- vsync与hsync
- JAVA-ApplicationContext的使用
- 【JMS】JMS支持的模式讲解
- nuxt 设置路由的meta属性,nuxt 怎么设置路由的meta,nuxt 怎么设置router的meta
- 物联网LoRa系列-13:无线电磁波概述以及核心概念的澄清(速度、频率、周期、波长、幅度、功率、相位、干涉)
- 安装SQL server出现“服务没有及时响应启动或控制请求”
- R6034问题的解决
- 详解AUTOSAR:Green Hills Software(GHS)编译下载瑞萨RH850程序(环境配置篇—2)
- 如何设计好的RESTful API 之好的RESTful API 特征
- 一文读懂SIMD指令集 目前最全SSE/AVX介绍