测试hive操作insert into和insert overwrite对elasticsearch中数据的影响

hive写入Elasticsearch实战与性能 一、写入ES的映射 add jar hdfs://****/user/hive/jar/elasticsearch-hadoop-6.6.1.jar; --注意jar包版本,不同elastic集群指定相应的版本jar包 --关闭Hive推测执行 SET hive.mapred.reduce.tasks.speculative.execution = false; SET mapreduce.m... 阅读详情

大家好:我是雪地车

我们今天来测试一下,hive对elasticsearch表进行操作的时候,会怎样影响elasticsearch中的数据呢

主要是测试insert into和insert overwrite操作


测试重要结论:
1.elasticsearch字段较多时,可以建立多个hive映射表分别进行写入

2.hive无法删除elasticsearch中的记录,只能插入和更新

3.hive的insert into和insert overwrite操作elasticsearch时结果是一样的


结果过程:
首先,建立elasticsearch的表
PUT /litl_test
{
  "settings": {
    "number_of_shards": 3,
    "number_of_replicas": 1
  },
  "mappings": {
    "doc":{
      "properties": {
 "number":{
          "type": "integer"
},
"name":{
          "type": "keyword",
          "index": false
        },
"age":{
          "type": "integer"
        },
        "height":{
          "type": "double"
        }
}
}
}
}
其次,建立hive的外部映射表
CREATE EXTERNAL TABLE tmp.tmp_es_litl_test (
id int,
number int,
name string,
age int,
height double
)
STORED BY 'org.elasticsearch.hadoop.hive.EsStorageHandler'   
TBLPROPERTIES('es.resource' = 'litl_test/doc','es.mapping.id' = 'id','es.index.auto.create' = 'false','es.write.operation'='upsert','es.nodes'='${es.nodes}', 'es.port'='${es.port}', 'es.nodes.wan.only'='true');


然后,用hql对elasticsearch进行各种操作
1.测试insert overwrite or insert into是否会覆盖表中已有数据
insert into table tmp.tmp_es_litl_test
select 1,1,'张三',15,170.1
from dual;
insert into table tmp.tmp_es_litl_test
select 2,2,'李四',16,180.1

from dual;


可以看到2条记录都被插进去了

结论:insert into不会覆盖表中已有数据
insert overwrite table tmp.tmp_es_litl_test
select 3,3,'王五',17,190.2

from dual;


可以看到王五也被插进去了,之前的数据也在

结论:insert overwrite不会覆盖表中已有数据

2.测试insert overwrite or insert into是否会覆盖已有id的数据

修改张三的number为2

insert into table tmp.tmp_es_litl_test
select 1,2,'张三',15,170.1

from dual;


可以看到number被修改为2了
结论:insert into重复写入已有id数据,会进行更新
insert overwrite table tmp.tmp_es_litl_test
select 1,3,'张三',16,170.1

from dual;


可以看到number被修改为3了
结论:insert overwrite重复写入已有id数据,会进行更新
3.测试一条指定id的记录,字段从非null修改为null,看是否能修改
insert into table tmp.tmp_es_litl_test
select 1,1,'张三',null,170.1

from dual;


可以看到,年龄被修改成了空的。
结论:insert into可以把字段从非null修改为null
insert overwrite table tmp.tmp_es_litl_test
select 1,1,'张三',15,null

from dual;


可以看到,体重被修改成了空的。
结论:insert overwrite可以把字段从非null修改为null
4.测试,hive只映射一部分字段,看更新时是否会影响到其他未更新的字段
CREATE EXTERNAL TABLE tmp.tmp_es_litl_test2 (
id int,
number int,
name string
)
STORED BY 'org.elasticsearch.hadoop.hive.EsStorageHandler'   
TBLPROPERTIES('es.resource' = 'litl_test/doc','es.mapping.id' = 'id','es.index.auto.create' = 'false','es.write.operation'='upsert','es.nodes'='${es.nodes}', 'es.port'='${es.port}', 'es.nodes.wan.only'='true');
1)重新插入一条新的记录
insert overwrite table tmp.tmp_es_litl_test2
select 4,4,'赵六'

from dual;


可以看到,新插入的记录是没有年龄和体重字段的
结论:hive只会插入当前hive表映射的elasticsearch字段
2)修改已经包含年龄和体重字段的记录
insert overwrite table tmp.tmp_es_litl_test2
select 1,1,'张三新'

from dual;


可以看到,年龄和体重字段未被修改
结论:hive表操作elasticsearch时,只会修改映射中指定的字段,其他字段不会影响


重要结论:
1.elasticsearch字段较多时,可以建立多个hive映射表分别进行写入

2.hive无法删除elasticsearch中的记录,只能插入和更新

3.hive的insert into和insert overwrite操作elasticsearch时结果是一样的

Hive分区表字段顺序调整全攻略:从新增列到历史数据重刷的完整工作流 本文详细解析了Hive分区表字段顺序调整的全流程,从新增列到历史数据重刷的完整工作流。重点介绍了使用CASCADE关键字进行元数据变更、历史数据迁移策略以及不同文件格式的特殊处理,帮助开发者高效完成表结构调整并确保查询兼容性。 阅读详情

相关推荐

Hive实战:用户搜索日志分析全流程与性能优化指南

在数据仓库与大数据处理领域,离线数仓是处理海量历史数据、支撑业务决策的核心基础设施。其核心原理是通过分层建模(如ODS、DWD、DWS、ADS)对原始数据进行清洗、转换与聚合,将非结构化的日志转化为结构化的分析模型。这项技术的价值在于能够以较低的成本,从海量用户行为数据中提炼出业务洞察,驱动产品优化与增长。典型的应用场景包括用户行为分析、业务报表生成和体验评估。本文聚焦于一个经典的应用场景——用户搜索日志分析,详细阐述了如何利用Hive SQL-on-Hadoop工具,构建从原始日志到可视化报表的完整数据流

weixin_33827731的博客 450

Hive表导入Elasticsearch

1,添加elasticsearch-hadoop-hive-2.1.2.jar到Hive。Hive添加第三方包,查看:http://blog.youkuaiyun.com/qianshangding0708/article/details/50381966 2,在hive中建立Elasticsearch外表:[java] view plain copy@Test  public void testESTabl...

千淘万漉 1435

Hadoop生态分层能力模型与生产级协同实践

Hadoop生态本质上是一套分层协作的分布式数据操作系统,其核心价值不在于工具堆砌,而在于按需补足存储增强、计算加速、查询交互和数据治理四层能力缺口。理解YARN资源调度、HDFS数据访问模式与ZooKeeper协调机制这三大物理连接点,是实现Hive、Spark、HBase等组件稳定协同的基础。尤其在实时分析、交互式查询与高并发在线服务等典型场景中,脱离分层逻辑的盲目选型极易导致资源浪费与SLA失控。本文聚焦真实生产环境中的能力断层识别、跨组件配置咬合及典型协同坑点,为构建可演进的大数据平台提供工程化路线

Coding 522

Elasticsearch集群搭建、hive集成以及head插件安装(亲测)

1.Elasticsearch基本概念 (1)Cluster:代表一个集群,集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的。es的一个概念就是去中心化,字面上理解就是无中心节点,这是对于集群外部来说的,因为从外部来看es集群,在逻辑上是个整体,你与任何一个节点的通信和与整个es集群通信是等价的。 (2)shards:代表索引分片,es可以把一...

西柚大数据 794

Hadoop生态全景解析:从HDFS/YARN到Spark/Flink的工程本质

分布式数据处理是现代大数据平台的核心能力,其底层依赖于可靠的分布式存储与智能资源调度。HDFS通过多副本与心跳机制实现统计级高可用,YARN解耦计算与存储资源,为Spark、Flink等引擎提供统一调度基础。MapReduce定义了‘移动计算而非数据’的范式,Spark以内存计算优化迭代任务,Flink则通过事件时间与状态管理实现真正流批一体。HBase弥补HDFS随机读写短板,Kafka承担高吞吐数据管道角色,Hive作为SQL翻译层降低使用门槛。这些组件并非孤立工具,而是围绕数据生命周期协同演进的有机系

weixin_33912453的博客 388

生产环境数据质量守护体系:检测-诊断-纠正闭环实践

数据质量不是静态指标,而是生产系统持续健康运行的核心保障。其本质在于对数据异常的实时感知、根因可解释性诊断与安全可控的修正能力。基于Flink实时采样、Neo4j血缘图谱与Elasticsearch日志聚类等技术,构建覆盖流批一体的数据脉搏监测;通过上下文感知的质量规则(如COD订单pay_time为空合法)和分布漂移检测(KS检验),让机器真正‘读懂’业务语义;再以沙盒化SQL执行、行数熔断、影子表验证与原子化回滚四重安全网,实现百万级数据的外科手术式修复。该体系已在金融级平台落地,支撑订单、风控、财务等

weixin_30520015的博客 394

Hive之insert into 和insert overwrite

总结: insert into只是简单的插入操作,而insert overwrite 会覆盖之前的数据insert into 和overwrite的用法:INSERT INTO TABLE tablename1 [PARTITION \ (partcol1=val1, partcol2=val2 ...)] \ select_statement1 FROM from_statement;INSER...

erinapple的博客 4064

数据工程工具选型实战指南:故障率、协作成本与学习曲线三维评估

数据工程工具选型本质是技术可行性与组织现实性的平衡问题。从基础概念看,ETL/ELT、实时计算、元数据管理、数据质量等能力模块构成数据平台骨架;其底层原理依赖于任务调度、SQL抽象、状态管理、连接器生态等工程机制;技术价值体现在降低协作摩擦、压缩故障恢复时间、减少跨系统协调成本;典型应用场景包括BI自助分析、实时风控、跨源联邦查询、模型血缘治理等;而本文聚焦真实生产环境中的Top 20工具分级实践,基于故障率、协作成本、学习曲线陡峭度、凌晨三点可维护性四大硬指标,结合dbt建模范式、Airflow调度可靠性

weixin_30660027的博客 411

HIVE数据同步Elasticsearch

前言 在大数据领域,因数据量级大,使用传统RDMS查询效率在很多场景下远远不能满足需求,虽然HBASE等分布式存储具有高性能、实时读写的能力,但却并没有解决数据的高效检索问题,例如根据特定的几个字段进行组合检索的场景,像HBase这种采用rowkey作为一级索引的方式,就无法满足高效的多条件查询需求。而ES作为分布式全文检索引擎,用以存储HBase索引,就能很好的解决大数据量、多条件复杂、高效查询的问题。 演示环境 Elasticsearch7.6.2 Hive 2.1.1+cdh6.3.2 操作步骤 下

丰耳的博客 3515

工业级推荐系统端到端闭环架构与落地实践

推荐系统作为典型机器学习工程化场景,其核心挑战远不止于模型精度,而在于数据流、特征流、模型流与反馈流的深度协同。理解端到端闭环的本质,需从特征生命周期管理出发——它决定了模型能否获取实时、一致、可追溯的输入;再深入在线服务稳定性机制,如多模型路由、动态批处理与特征合并查询,保障高并发下的低延迟响应;进而延伸至AB实验设计、线上指标对齐与归因分析等关键环节,实现从离线AUC到真实GMV贡献的可信验证。本文聚焦可落地的工业级实践,覆盖特征版本强绑定、Flink实时特征治理、Transformer序列建模、Ite

wangqiaowqo的专栏 409

ML Enabled Application:从模型部署到生产级AI应用的工程化落地

机器学习应用(ML Application)不是模型加API的简单组合,而是融合数据流、状态管理、业务闭环与可观测性的完整软件系统。其核心原理在于将不确定性模型封装为具备语义契约、失败兜底和资源自适应能力的业务组件。技术价值体现在提升AI服务的SLA稳定性、降低运维熵值、加速业务价值验证周期。典型应用场景覆盖电商推荐、金融反欺诈与工业预测性维护等强业务耦合领域。本文聚焦ML Enabled Application这一关键范式,深入解析输入契约标准化、特征双轨同步、呼吸式资源管理等七道生产就绪关卡,直击算法落

frank1998819 585

【hive】- 使用insert into insert overwrite插入数据到静态分区、动态分区、动静态分区_hive insert into

Hive中支持的分区类型有两种,静态分区(static partition)与动态分区(dynamic partition),本文主要讲针对不同分区情况,如何正确地使用insert into/insert overwrite 将数据插入表里对应的分区。

2401_84170337的博客 1731

Keil调试技巧:3种方法查看Cortex-M4的SCB寄存器(含CPUID内存映射解析)

本文详细介绍了在Keil MDK中查看Cortex-M4内核SCB寄存器的三种实战方法:使用Watch窗口进行符号化观察、通过Memory窗口直接查看物理内存映射,以及利用SFR寄存器浏览器解析位域信息。文章重点解析了CPUID寄存器的内存映射地址(0xE000ED00)及其位域含义,帮助开发者深入理解处理器身份识别与底层调试技巧,提升嵌入式系统调试效率。

h6i7j8的博客 569

overwrite在hive内部表及外部表特性

 overwrite在hive内部表及外部表特性。overwrite即为重写的意思, 指定了OVERWRITE,会有以下效果: •目标表(或者分区)中的内容(如果有)会被删除,然后再将 filepath 指向的文件/目录中的内容添加到表/分区中。   •如果目标表(分区)已经有一个文件,并且文件名和 filepath 中的文件名冲突,那么现有的文件会被新文件所替代。

724

LTO编译器优化介绍以及开启方法

LTO优化的详细介绍

性感的小君君 4922

Protobuf NDK以及QNX交叉编译

Protobuf 用处很广,尤其是通讯数据序列化,反序列化。TODO。

静虚待令,有物混成 1559

hive建立内部表映射hbase_一个简单的测试:HBase-Hive 映射表

首先建立一张HBase测试表,如下:hbase(main):031:0> create 'test:table1',{NAME => 'f',COMPRESSION => 'SNAPPY',DATA_BLOCK_ENCODING => 'FAST_DIFF',VERSIONS=> 1}然后从命令行写入一行数据,如下:hbase(main):032:0> put ...

weixin_39734646的博客 436

解决usbisp不识别无法烧录Atmega328P,Arduino不识别问题

如果使用Arduino IDE里面的烧录,可能会遇到一个问题,就是不识别国产这种廉价的USBISP 点击烧录引导程序,会遭遇到找不到USB设备的问题,选哪个都会提示找不到,比如选择USBasp could not find USB device with vid=0x16c0 pid=0x5dc vendor='www.fischl.de' product='USBasp' 因此,我们需要使用到progisp这一个软件的1.72版本 选择好芯片的型号后,调用编译好的HEX文...

arenascat的博客 7436

ES 总结

es

KANGBboy的博客 1091

手把手教你搭建硬件在回路(HIL)仿真系统:从Simulink建模到实时测试

本文详细介绍了如何从零开始搭建硬件在回路(HIL)仿真系统,涵盖Simulink建模、实时仿真、代码生成及调试等关键步骤。通过具体配置示例和优化技巧,帮助开发者解决复杂控制系统验证中的技术难题,提升半实物仿真的效率和可靠性。

weixin_30952535的博客 445

Android车载蓝牙开发全攻略:从基础到高级优化

本文系统介绍了Android车载蓝牙开发的核心技术与实践指南。文章首先阐述了蓝牙在智能汽车中的关键作用,包括免提通话、音频流媒体等应用场景。随后详细解析了蓝牙协议基础,重点介绍了HFP、A2DP等车载常用协议。开发实战部分提供了设备发现、连接、数据传输的完整代码示例,并融入多线程和内存优化技巧。通过真实车载案例,展示了启动时间、流畅度和资源使用的优化策略。最后针对面试需求,提供了专业的技术问答,涵盖蓝牙开发全流程。全文紧密结合Android车载开发职位要求,为开发者提供了一套完整的蓝牙技术解决方案。

郑伟强dev的专栏 117

Spark如何正确的写hive分区表

经常听到有人讲:spark写hive 分区表时,原本想覆盖一个分区的数据,但因为错误的编码导致整个表的分区被覆盖。本文针对此问题进行测试。 1. 测试结论 需要指定如下参数:"spark.sql.sources.partitionOverwriteMode", "dynamic" "hive.exec.dynamic.partition.mode", "nonstrict" saveAsTable方法会导致全表覆盖写,需要用insert into,详情下面的源代码 insert.

penriver的博客 1万+

【unity游戏开发入门到精通——UGUI】UI控件 —— Image图像控件

【unity游戏开发入门到精通——UGUI】UI控件 —— Image图像控件

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 2355

构建轻量级数据编织原型:实现异构数据存储的自动化治理

数据治理是企业数据平台建设的核心环节,旨在确保数据的可发现、可理解、可信任与可管控。其核心原理在于通过系统化的方法对数据进行全生命周期管理,以提升数据资产的价值与合规性。在技术实现上,自动化与智能化是关键趋势,能够有效应对传统手工治理模式流程冗长、难以跟上数据产生速度的挑战。数据编织(Data Fabric)作为一种新兴的架构理念,其技术价值在于通过整合现有工具,为分布在各类异构存储(如MySQL、Hive、Kafka)中的数据建立一个统一的逻辑层,实现“数据不动,治理先行”。这尤其适用于需要快速响应业务需

weixin_30387799的博客 490

YOLOV26详解 从原理到部署

计算机视觉领域最具影响力的目标检测框架迎来重大里程碑。2026年1月,Ultralytics 正式发布 YOLOv26——这不是一次简单的版本迭代,而是一场面向边缘计算时代的架构重构。本专栏基于 Ultralytics 官方技术白皮书、YOLO Vision 2025 大会首发内容及国际前沿研究成果,系统拆解 YOLOv26 从算法原理到工程落地的全栈技术体系。与常规教程不同,我们聚焦与,帮助你在端侧 AI 部署的实战中掌握核心竞争力。

u012133341的博客 2015

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

数据工程师实战指南:Hadoop、Spark、Flink等五大框架生产调优与避坑

大数据(Big Data)指在分布式环境下对海量、高速、多样数据进行采集、存储、计算与服务的系统性工程能力。其核心原理在于通过分而治之(Shuffle/Partition)、容错重试(Speculative Execution/Checkpointing)和统一资源调度(YARN/K8s)保障SLA。技术价值体现在降低TCO、提升分析时效性与支撑实时决策闭环。典型应用场景包括电商用户行为分析、金融风控实时拦截、IoT设备时序处理等。本文聚焦Hadoop、Spark、Flink、Hive、Storm五大高频框

weixin_30772105的博客 777

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

上一篇: Hive on Spark系列一:CDH5.5配置支持hive on spark
雪地车
博客等级 码龄15年 3粉丝 68原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值