Hive 一些操作记录

英特尔SVS:十亿级向量搜索的硬件优化与LVQ压缩实战 向量搜索作为处理高维嵌入数据的核心技术,其核心原理是通过近似最近邻(ANN)算法在海量数据中快速找到相似项,以解决传统暴力搜索在规模上的瓶颈。这项技术的核心价值在于为推荐系统、图像检索、自然语言处理等AI应用提供高效的相似性匹配能力,尤其在RAG架构中成为连接非结构化数据与大语言模型的关键基础设施。面对十亿级数据带来的内存与算力挑战,局部自适应向量量化(LVQ)等压缩技术通过减少存储开销并保持精度,而硬件层面的深度优化则利用AVX-512等指令集大幅提升计算效率。本文聚焦于英特尔开源的Scalable Ve 阅读详情

1.创建

//创建数据库
create database database_name

//创建表 列按‘,’分割
create table table_name(id int,name string) row format delimited fields terminated by ','

//创建分区表 列按‘,’分割 按bt和country分区
//create external table if not exists 判断表是否存在
create external table if not exists table_name(id int,name string)
partitioned by (dt String,country string)
row format delimited fields terminated by ','

//添加分区
alter table table_name add if not exists partition (dt='xxx',country 
='xxx')

2.查看

//查询所有数据库
show databases

//查询所有表
show tables

//查看表结构
desc formatted table_name

hbase映射表

3.加载数据

//local关键字 没有local关键字,则加载hdfs上的文件 有local关键字,则加载本地文件 
//overwrite关键字 覆盖数据(清空原数据)
//分区表,则加上partition分区
load data [local] inpath 'filepath' [overwrite] into table table_name [partition(part=val,part2=val2)]

//加载hdfs数据
load data inpath '/hdfsPath' into table table_name

//加载本地数据
load data load inpath '/path' into table table_name

4.查询

select * from table_name

//查询分区表 where 后面加分区条件,这样做是不会扫描全表 只会查询该分区
select * from table_name where dt='xxx'

5.删除,清空

//删除数据库
DROP DATABASE if EXISTS table_name

//删除表 
DROP TABLE if EXISTS table_name

//清空分区表 表结构还在,只清空数据
ALTER TABLE table_name DROP IF EXISTS PARTITION (dt='2018-08',country='CH')

6.重命名

//重命名表名
ALTER TABLE table_name_old RENAME TO table_name_new

//重命名列名
ALTER TABLE table_name CHANGE col_old_name col_new_name STRING;

7.导出文件

//导出文件到hdfs上 按照‘,’分割 
//overwrite关键字 会覆盖目录下的原数据
INSERT OVERWRITE directory '/hdfsPath' row format delimited fields terminated by ','  SELECT * from table_name

8.无效ID在关联时的数据倾斜问题

  • 解决方法:函数过滤 null

把空值的id变成一个字符串加上随机数,就能把倾斜的数据分到不同的Reduce上,从而解决数据倾斜问题。因为空值不参与关联,即使分到不同 的 Reduce 上,也不会影响最终的结果。

SELECT * FROM tableName1 a LEFT OUTER 
JOIN tableName2 b ON 
CASE WHEN a.id IS NULL THEN CONCAT('hive_temp_id',RAND()) ELSE a.id END =b.user_id;

9.Hive不允许直接访问非group by字段

  • 对于非group by字段,可以使用collect_set函数收集这些字段,返回一个数组;
SELECT a,b FROM tableName GROUP BY a	//Expression not in GROUP BY key 'b'

SELECT a,collect_set(b) FROM tableName GROUP BY a	//正确的使用方式
  • collect_set函数的其他用法:

使用数字下标,可以直接访问数组中的元素

10.控制map和reduce数量

  • 控制map
set mapred.max.split.size=256000000;   //每个Map处理的最大输入文件大小(256MB)
set mapred.min.split.size.per.node=1;  //节点上split文件的最小值
set mapred.min.split.size.per.rack=1;  //机架上split文件的最小值
  • 控制reduce
//方法一
set mapred.reduce.tasks=10;  //设置reduce的数量
//方法二
set hive.exec.reducers.bytes.per.reducer=1073741824 //每个reduce处理的数据量,默认1GB

10.hive join 优化的方式

  • map join
set hive.auto.convert.join=true //自动MAPJOIN转换操作(common join转换为map join

12.合并小文件

 hive.merge.mapfiles = true	//和并 Map 输出文件,默认为 True
 hive.merge.mapredfiles = false //合并 Reduce 输出文件,默认为 False
 hive.merge.size.per.task = 256*1000*1000 //合并文件的大小。

13.并行执行优化

set hive.exec.parallel=true; //开启任务并行执行
set hive.exec.parallel.thread.number=8; //同一个sql允许并行任务的最大线程数
set hive.groupby.skewindata=true; //设置数据负载均衡,防止数据倾斜
set hive.ignore.mapjoin.hint=false;	//不忽略MAPJOIN标记
set mapred.reduce.tasks=15;	//设置reduce的数量
set hive.exec.reducers.max=200;	//reduce最大数量(默认999)
set hive.auto.convert.join=false;	//自动MAPJOIN转换操作(common join转换为map join)
set hive.exec.compress.intermediate=true; //hive的压缩设置,中间结果压缩  
set hive.map.aggr = true;	//map中做部分聚集操作(默认true)
set hive.execution.engine=tez;	//更改hive底层执行的计算框架                        

填坑中

【Ubuntu】RK3576 Linux 6.10 Ubuntu 22.04 系统中 HUSB311 Type-C 转 DP 显示输出与 Device/OTG 模式切换配置详解 本文详细介绍了在Rockchip RK3576开发板(Linux Kernel 6.10+Ubuntu 22.04)上配置HUSB311 Type-C控制器的设备树实现方案。主要内容包括:1)硬件连接与模块组成;2)设备树完整配置,涵盖Type-C供电、USB OTG/Host模式、DP显示输出等关键功能;3)软件配置步骤与常见问题排查方法。该方案实现了Type-C接口的DisplayPort AltMode显示输出、USB Device/Host模式自动切换等功能,为嵌入式系统Type-C接口开发提供参考 阅读详情

相关推荐

全网首发!Yolov8_obb旋转框训练、测试、推理手把手教学(DOTA1.0数据集map50已达80%)

其中,images/train和images/val放置原始图片文件,labels/train_original和labels/val_original分别放置原始的标签文件,labels/train和labels/val为空,然后运行步骤(3)的代码,运行结束转换后的标签会保存在labels/train和labels/val中,格式如下。(4)新建yolov8-obb.yaml,修改nc和scales,我使用的是yolov8n.(2)构建数据集,安装下面目录格式,其他test可为空,一定要对应。

小嘤熊的博客 2万+

HIVE SQL日常使用记录

使用记录 行专列 数据、建表如下: 孙悟空 白羊座 A 大海 射手座 A 宋宋 白羊座 B 猪八戒 白羊座 A 凤姐 射手座 A 小明 白羊座 B 需求如下: 把星座和血型一样的人归类到一起 射手座,A 大海|凤姐 白羊座,A 孙悟空|猪八戒 白羊座,B 宋宋|小明 分析: 先用concat_ws函数将将星座和血型用“,”连接 在根据连接好的星座和血型group by 用collect_set函数对name聚合, 用concat_ws函数对聚合后的name用“|”分割 实现如下: SE

xieedeni的博客 3269

用Quartus II和LPM_ROM手把手复现西电计组课设:从微指令到五条指令的完整流程

本文详细介绍了使用Quartus II和LPM_ROM复现西电计组课设的完整流程,从微指令编写到五条指令的实现。通过环境搭建、LPM_ROM配置、微程序设计及调试技巧,帮助读者高效完成课程设计,避开常见问题。适合计组课程设计的学习者和实践者参考。

weixin_29288313的博客 457

hive常用命令记录

取yyyy-MM-dd HH:mm:ss格式日期串的yyyy-MM-dd部分,使用字符串SUBSTR函数;不支持delete column操作,可以使用replace columns实现字段删除操作;假设现在有如下数据(表 score )可以使用case when来实现。我们希望以如下方式展示。删除column_C。

ttyy1112的专栏 962

JavaScript性能优化:全链路性能优化策略

JavaScript性能优化是提升Web应用质量的核心要素,直接影响用户体验与业务成果。研究表明,页面加载延迟1秒可能导致转化率下降7%。高效的JavaScript执行能减少主线程阻塞,避免动画卡顿或操作延迟,尤其在移动端低性能设备上更为关键。优化内存管理与减少冗余计算可降低浏览器资源消耗,防止因内存泄漏导致的崩溃,提升应用稳定性。在竞争激烈的互联网环境中,性能优势已成为产品差异化的关键因素,直接影响用户留存与商业价值。因此,性能优化应作为开发全周期的核心实践,而非事后补救措施。

weixin_49707375的博客 1272

SAP 生产订单归档简介

通常在使用了几年的SAP后,系统中会产生非常多的数据在系统中,特别是制造业的生产订单,常年的累积会存在很多的订单在系统中,这个时候就可以使用归档的功能,对生产订单进行处理。标记DLFL的前提是需要完成生产订单的差异结算,DLFL标记可以清除掉生产订单的相关需求和预留。6、在执行CO78选择删除,前面的操作相当于我们把需要归档的数据写入了数据库中,现在正式进行数据的归档删除。然后我们co03在去看生产订单,可以看到生产订单中多了删除的状态和标记的状态。我这里直接执行的程序PPARCHP1,效果其实是一样的。

我小时候很黑的博客 2285

Hive的基础与基本操作

Hive的基本操作 命令:hive 或者 beeline 进入hive操作命令行 命令:quit 或者 exit 退出hive窗口,在3.0版本后没有区别; 命令:dfs -ls /; 在hive窗口如何查看hdfs文件系统 命令:进入Linux中的/root或者/home/用户名目录下,输入下列语句 cat .hivehistory 查看在hive中输入的历史命令 cat .beeline/history 查看在beeline中输入的历史命令 Hive的数据类型 基本数据类型 HIV

weixin_45137887的博客 396

【Altium designer】BOM导出 Bill of Materials 如何自定义格式

【Altium designer】如何自定义BOM导出格式 我们用Excel做一个xx.xlt的2003的模版文件,取文件名为:AltiumDesiger PCB BOM Template.xlt 将AltiumDesiger PCB BOM Template.xlt文件存放在:AltiumDesiger 安装目录的Template文件夹内

夜半少年的博客 2717

如何查看Hive中执行的所有历史命令

1. 进入到 “/root” 目录下或者"/home/user(你的用户名)"目录下 2. 执行 “cat .hivehistory” 命令

qq_43437122的博客 5800

STM32入门教程:智能储物柜控制

在这个例子中,我们将使用一个4x4的储物柜,共有16个储物格。我们了解了硬件准备、储物柜电路设计、STM32的基本配置、储物柜控制代码的编写以及测试和调试等方面的知识。根据我们的电路设计,我们需要将一些引脚配置为输出,并将其他引脚配置为输入。在本教程中,我们将使用STM32微控制器来实现一个基本的智能储物柜控制系统。在主函数中,我们将不断循环读取传感器数据,并根据数据的变化来控制储物柜的开关和显示相关信息。这个函数将读取人体感应传感器、温湿度传感器和光照传感器的数据,并将数据存储到相应的变量中。

m0_75244442的博客 662

Fiori Elements 的 Adapting the UI: Analytical List Page 全解析与实战

摘要:本文详细介绍了如何通过SAP Fiori elements的UI Adaptation功能对Analytical List Page(ALP)进行细粒度适配。重点讲解了页头过滤区、图表区域、表格区域等关键组件的可配置属性,包括过滤区折叠/固定、图表类型限制、表格滚动阈值等实用功能。文章强调这些适配均可通过可视化工具完成,无需修改业务代码,并提供了典型场景的实践清单。适用于SAP Fiori elements for OData V2项目,建议配合SAP Fiori tools的Adaptation E

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 436

大数据技术之Hive------操作记录笔记

尚硅谷Hive学习

阿里里的博客 1732

【24届数字IC秋招总结】正式批面试经验汇总6——禾赛

15、ahb写或者读的数据存储起来了嘛,ahb读的话,apb这边是怎样的。19、覆盖率收集的时候有没有哪些是很难收集到的,然后写了定向测试。2、C++有学过嘛 还记得C++的什么内容 C++成绩多少。12、config_db机制用过嘛 四个参数的含义。8、脚本语言有学过嘛 简单学过 简单是指代码数少嘛。13、run_phase和mian_phase的区别。10、覆盖机制的创建方法 ,是不是覆盖用的很少。6、call_back机制记得哪些细节的东西。9、uvm实战学了哪些章节 印象深刻的章节。

qq_42135020的博客 1083

hive-命令操作记录

Hive 的官方文档请参考:http://wiki.apache.org/hadoop/Hive/LanguageManual 。 Create Table CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name data_type [COMMENT col_comment], ...)] [COMMEN...

313

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

CDP集群中通过Hive外部表迁移HBase数据的操作记录

本文验证了在CDP集群中通过Hive外部表映射HBase表实现数据查询与迁移的可行性。测试流程包括:创建HBase测试表并插入数据,建立Hive外部表进行映射,验证数据一致性,以及通过Hive SQL将数据迁移至HDFS。结果表明该方法能实现实时数据同步和准确迁移,同时提出了权限配置、列映射规则、性能优化等注意事项。整个过程证明了Hive与HBase集成的有效性,为大数据环境下跨组件数据操作提供了可行方案。

M_red的博客 1235

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

hive操作记录

hive是依赖于hdfs和yarn的一个数据仓库 数据库和数据仓库的区别: 数据库在存储数据的同时,允许实时的增删改查等操作 数据仓库在存储数据的同时还执行着计算和分析数据的工作,但是并不能实时的进行增删改等操作,如果 需要对数据进行更新则需要将数据下载下来更新之后再放入数据仓库中,是一次写入多次读取的过程 所以hive并不能取代mysql,mssql等数据库(不像hbase一样...

weixin_30547797的博客 94

hive的SQL操作记录

  partition: 1、删除表、创建外部表和分区、根据分区导入数据 dfs -rmr /tmp/ext/tab_name1; --删除hadoop文件系统中的目录及文件 dfs -mkdir /tmp/ext/tab_name1;--重新创建目录。建表前需要先创建与表名称对应的目录才行 drop table if exists tab_name1; create exte...

conkeyn的专栏 1325

关于hive的一些操作记录

1、collect_set函数        需求:求用户消费的 TOP 100,需要的数据格式是:ID    消费金额    nickname        分析:消费 TOP 比较简单 group by uuid order by allCnt 可以解决,但是用户的nickname(昵称)是有多个的,随机取一个就行,但是 hive 取的数据字段中必须在 group by 中出现,取nickna...

z_xiaozhuT的博客 800

记录hive union操作拆过的坑

我们经常用union操作是来连接两个或者多个查询结果。但在hive中使用需要注意避免几个坑: 1、union和union all的选择。 Hive在1.2.0之前的版本只支持union all,在1.2.0之后的版本才支持union。在老版本中使用union连接,会报错,并且会提醒你加上all。 union all和union的区别在于:连接后,union all会保留重复的记录而union不会。...

IKnowNothinglee的博客 1197

hive 分区操作记录

创建分区: altertable table_name addpartition(dt='20150423')location'/data/text/20150423'; 转载于:https://www.cnblogs.com/yako/p/4454096.html

diaokaijing6889的博客 71

sqoop、spark操作hive问题记录

安装hadoop、hive、spark、sqoop等,可以参照相关教程。安装完成后,需要配置相关的环境变量: 其中,比较重要的是需要添加: export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HIVE_HOME/conf:$HIVE_HOME/lib这样,sqoop 通过import方式导入数据到hive表才能在hive命令行上看到。可以参考:Hive metastore三种配置方式_reesun的博客-优快云博客_hive.metastore.uris配置为了

无一技之长 349

hive 基础操作记录(非教程)

-- 进入查询环境 hive; -- 进入数据库 use foxdpi01; hive> use foxdpi01; OK Time taken: 2.128 seconds -- 查看表结构 describe origin_sample_base ; -- 常看详细信息; describe formatted origin_sample_base; -- 查看数据 select *...

ml_1019的博客 397

Hive记录-Hive常用命令操作

1.hive支持四种数据模型 • external table ---外部表:Hive中的外部表和表很类似,但是其数据不是放在自己表所属的目录中,而是存放到别处,这样的好处是如果你要删除这个外部表,该外部表所指向的数据是不会被删除的,它只会删除外部表对应的元数据;而如果你要删除表,该表对应的所有数据包括元数据都会被删除。 • table ---表,存储在HDFS的一个目录中。 • partit...

weixin_30756499的博客 116

Hive小白学习记录 ——(一)基本操作

基本命令 Hive 数据类型 类型 大小 TINYINT 1 byte SMALLINT 2 bytes INT 4 bytes BIGINT 8 bytes FLOAT 8 bytes DOUBLE 38 digits DECIMAL BINARY BOOLEAN STRING CHAR VARCHAR DATE TIMESTAMP 常用命令 在 Hive 中可以使用hdfs命令、即dfs命令 增 (创建+

qq_33275912的博客 294

sparkshell 操作hive表_Spark记录-Spark-Shell客户端操作读取Hive数据(示例代码)

1.拷贝hive-site.xml到spark/conf下,拷贝mysql-connector-java-xxx-bin.jar到hive/lib下2.开启hive元数据服务:hive --service metastore3.开启hadoop服务:sh $HADOOP_HOME/sbin/start-all.sh4.开启spark服务:sh $SPARK_HOME/sbin/start-al...

weixin_39633781的博客 1271

[hive学习]《hive编程指南》第二章 基础操作 学习记录

目录:   第一章 基础知识    2.1 安装预先配置好的虚拟机    2.2 安装详细步骤        2.2.1 装 Java        2.2.2 安装 Hadoop        2.2.3 本地模式、伪分布式模式和分布式模式        2.2.4 测试 Hadoop        2.2.5 安装 Hive    2.3 Hive 内部是什么    2.4 启动 Hive  ...

蜗牛的博客 283
上一篇: 《剑指offer》 二维数组中的查找
下一篇: 《剑指offer》从尾到头打印链表
amyacker
博客等级 码龄9年 2粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值