Hive高频使用

Hive 高频面试题终极版 把大目录按某个字段分成小文件夹,查询只扫对应文件夹,速度极快。例如:按天分区对数据哈希取模,分成固定个数文件,方便抽样、Join 优化。某些 key 数据特别多,单个 Reduce 处理过慢,拖慢整个任务。一个人干 90% 活,其他人闲着,整体极慢。Hive 自带函数不够用,自己写 Java/Python 函数。 阅读详情
1.强制删除带有表的hive库:
drop  database  库名    cascade;
 
2.设置显示当前使用的hive库:
hive> set hive.cli.print.current.db=true;
       
   查询当前使用的hive库:select current_database();
 
3. hive客户端设置运行队列:
hive>set tez.queue.name=mr ;
 
4.hive中删除分区操作:
 alter table fastdo_lte.tdlte_mro_locate_hour drop  if  exists  partition(city="HUZHOU",sdate=2019012609);
  外部表删除数据的时候不能使用truncate,外部表的数据有hadoop管理。
  批量删除时间分区:
  alter table cdr.cdr_mdt_h drop  if  exists partition(day>="20190509",day<="20190511");
 
    4-1.hive中修改现有分区
    alter table wxwzzx_hive_db.DIM_CFG_GSM_DIST_STATA partition(type_n='newest',slicetime=20200424000000) RENAME TO PARTITION (type_n='old',slicetime=20200424000000)
 
5.向Hive分区中加载数据:
本地:
load data local inpath  '/home/daxin/jdata/cfg_grid10.csv' into table cfg_grid10 partition(ds="20180821",ct="HANGZHOU");
集群:
load data  inpath  '/user/hadoop/cfg_grid10.csv' into table cfg_grid10 partition(ds="20180821",ct="HANGZHOU");
6.查看Hive中的表结构:
desc tdlte_mro_locate_hour;
desc formatted tdlte_mro_locate_hour;(格式化后的完整信息)
 
7.查看hive中的函数以及用法:
show functions ;(查看函数)
desc function extended upper ;(查看用法)
 
8.hive中自定义udf函数(一对一):
  8.1,继承UDF类,并实现evaluate函数
 
    public class FindSpecifiedWords extends UDF{
        
        public int evaluate(String targetWords,String rawWords)
        {
            int found = 0;
            if (rawWords.contains(targetWords)) {
                found = 1;
            }
            return found;
        }
8.2,打成jar包,上传到hive的lib或者其它目录;
8.3,添加jar add jar:
   add jar /var/lib/hadoop-hdfs/sqoop_b/udf_jar/udf_stringfilter.jar;
 
    创建临时函数:
    create temporary function stringfilterEmoji as 'com.hy.StringFilterEmoji';
 
    创建永久函数:
    create function stringfilterEmoji as'com.hy.StringFilterEmoji' using jar 'hdfs:///user/hive/warehouse/ods.db/udf_jar/udf_stringfilter.jar';
 
9.Hive中几种常见的交互命令:
hive -help(查看命令用法)
 
10.Hive客户端中查看集群:
  !hdfs dfs -ls /
 如:!hdfs dfs -ls /apps/hive/warehouse/fastdo_lte.db;
 
11.Hive中不同创建表的方式:
  根据原始表提取字段,可以加快数据处理的效率
  create table if not exists wang_mro_locate_hour as select * from fastdo_lte.tdlte_mro_locate_hour limit 10000;
 
  创建一个相同表结构的表,但是此时只是表结构相同,没有数据
  create table if not exists wang_mro_locate_hour like fastdo_lte.tdlte_mro_locate_hour;
 
12.Hive内部表通过put导入数据后,通过sql查询不到对应的信息解决方式:
  第一种方式    在mysql元数据中没有分区的元数据  通过sql语句查询不出对应的信息
      dfs -mkdir -p /user/hive/warehouse/dept_part/day=20150913 ;
      dfs -put /opt/datas/dept.txt /user/hive/warehouse/dept_part/day=20150913 ;
       进行分区的修复  就是将分区信息添加到元数据中   修复后一切正常
       hive (default)> msck repair table dept_part ;
       MSCK REPAIR TABLE batch wise to avoid OOME ( Out of Memory Error). By giving the configured batch size for the property hive.msck.repair.batch.size 
       it can run in the batches internally. The default value of the property is zero
 
  第二种方式      在mysql元数据中没有分区的元数据  通过sql语句查询不出对应的信息
       dfs -mkdir -p /user/hive/warehouse/dept_part/day=20150914 ;
       dfs -put /opt/datas/dept.txt /user/hive/warehouse/dept_part/day=20150914 ;
       进行分区的修复  就是将分区信息添加到元数据中    修复后一切正常
        alter table dept_part add if not exists  partition(day='20150914');
 
13.Hive中group by和having的使用:
  group by /having      查询结果的字段要么是group by 后的字段    要么是聚会函数的字段分组
     * where 是针对单条记录进行筛选
     * having 是针对分组结果进行筛选  经常与group by连用
 select city, sdate,count(1) from tdlte_mro_locate_hour group by city,sdate;
 
14.Hive客户端查询显示不带表名的字段名:
   set hive.resultset.use.unique.column.names=false;
    set hive.cli.print.header=true;
 
15.Hive外部表多级分区数据迁移后,数据恢复:
  alter table tdlte_mro_locate_hour_old add if not exists partition(city='JINHUA',sdate='2018100108') location         '/apps/hive/warehouse/fastdo_lte.db/tdlte_mro_locate_hour_old/JINHUA/2018100108';
  
  16.Hive外部表数据源移动后,表和数据重新建立联系:
  alter table tdlte_mro_locate_hour_old  set location '/apps/hive/warehouse/fastdo_lte.db/tdlte_mro_locate_hour_old';
 
17.shell脚本中执行sql脚本设置:
#!/bin/bash
    hive<<EOF
    TRUNCATE TABLE data.fact_teacher_info_stunum;
    EOF
18.Hive引擎设置:
    1、配置mapreduce计算引擎
        set hive.execution.engine=mr;
    2、配置spark计算引擎
        set hive.execution.engine=spark;
    3、配置tez 计算引擎
        set hive.execution.engine=tez;
19.Hive查询调优:
1)设置reduce task 任务个数:
        set mapred.reduce.tasks =1000;#根据数据量修改
         set hive.exec.reducers.bytes.per.reducer=500000000;(500m)#设置每个reduce处理的数据量
-- 修改reduce任务从map完成80%后开始执行 set mapreduce.job.reduce.slowstart.completedmaps = 0.8
2)减少map个数:
        Hadoop会将单个文件拆分(对应)为多个文件,并且并行处理产生的文件。对应程序的数目取决于分割的数目,通过设置分割组大小上下线来调整map个数
        set tez.grouping.min-size=1073741824;  #默认 52428800
        set tez.grouping.max-size=2147483648;#默认 1073741824
 
3)调整map个数
  mapred.max.split.size:一个split的最大值,即每个map处理文件的最大值
 
20.Hive中按照指定分隔符导出数据:
  set mapred.reduce.tasks=n;
   控制最后输出文件个数
   sql 最后写  distribute by rand()   保证每个结果文件大小相同 
1)将数据导出到本地:
    > insert overwrite local directory " hdfs://ns2/jc_wxwzzx/aa_data_dir//HUIYONG_DATA"
    > row format delimited
    > fields terminated by ','    #按照 , 分割
    > select * from tdlte_mro_locate_hour;
2)将数据导出到集群:
    > insert overwrite directory " hdfs://ns2/jc_wxwzzx/aa_data_dir//HUIYONG_DATA"
    > row format delimited
    > fields terminated by ','    #按照 , 分割
    > select * from tdlte_mro_locate_hour;
   
   把指定目录下的所有文件合并到一起:
  hdfs dfs -getmerge /user/hadoop/output local_file
 
21.Hive 中修改字段类型或者增加字段:
    1)修改字段类型
       Alter table 表名  change column 原字段名称  现字段名称  数据类型
     2)新增字段表
       alter table 表名 add columns(字段名 数据类型)  cascade  在表结尾添加
       添加字段 ( 待验证 )
      alter table test.table_add_column_test add columns (added_column string comment '新添加的列') cascade;
      再对列进行排序(注意:必须添加cascade关键字,不然不会刷新旧分区数据,关键字cascade能修改元数据)
      alter table test.table_add_column_test change column added_column added_column string after original_column1 cascade;            
 
     3) REPLACE 按照任意位置新增字段
       ALTER TABLE test_change REPLACE COLUMNS (a int, b int); 
 
      4) 修改hive表结构中分隔符
       alter table test01 set serdeproperties('field.delim'='\t');
 
       alter table test_wang set tblproperties( 'field.delim'='@#');
 
22.Hive中创建库指定路径:
    create database fastdo_lte location '/data/fastdo_lte';
 
23.Hive 分区修复报错:
    msck repair table biaoming 修复分区时报错解决:
    set hive.msck.path.validation=ignore;
        MSCK REPAIR TABLE batch wise to avoid OOME ( Out of Memory Error). By giving the configured batch size for the property hive.msck.repair.batch.size 
    it can run in the batches internally. The default value of the property is zero
 
24.Hive中创建parquet格式的表:
   create table 表名(....)
    stored as parquet
    location
   ' hdfs://wbdspark02cluster/data/result/mr'
 
    解决parquet表查询结果是NULl的方法:
    create table 表名(....)
   ROW FORMAT SERDE
    'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe'
    with serdeproperties(
    'parquet.column.index.access'='true')
    stored as parquet
    location
    ' hdfs://wbdspark02cluster/data/result/mr/mro'
 
25.Hive表中查询数据,快速定位到底层数据文件或者文件位置:
  在hive中可以指定三个静态列:
    1.   INPUT__FILE__NAME        map任务读入File的全路径
    2.   BLOCK__OFFSET__INSIDE__FILE       如果是RCFile或者是SequenceFile块压缩格式文件则显示Block file Offset,也就是当前快在文件的第一个字偏移量,如果是TextFile,显示当     前行的第一个字节在文件中的偏移量
    3.   ROW__OFFSET__INSIDE__BLOCK        RCFile和SequenceFile显示row number, textfile显示为0
    注:若要显示ROW__OFFSET__INSIDE__BLOCK ,必须设置set hive.exec.rowoffset=true;
 
26.Hive中查询除某些字段之外的所有字段:
    set hive.support.quoted.identifiers=None;
#查询除day,hour,city之外的字段值
    select `(day|hour|city)?+.+` from tdlte_mro_locate_hour limit 1;
 
27.使用beeline连接hive库
      HiveServer2 主机: 192.168.124.9
      HiveServer2 Port:10000
      beeline -u  "jdbc:hive2://192.168.124.9:10000/"
 
28.hive建表跳过文件第一行
    该设置针对每次入的数据
    
     tblproperties(
    "skip.header.line.count"="n",  --跳过文件行首n行
    "skip.footer.line.count"="n"   --跳过文件行尾n行
    )
  
29,Hive中修改表文件存储格式
 
    ALTER TABLE tablename SET FILEFORMAT textFile(新的文件格式);
 
30,Hive 中模糊查询表名
     show tables like 'test*';
     来模糊匹配表名,此处like可以省略。
 
31,Map端join 实现方式:
Hive0.7之前,需要使用hint提示 /*+ mapjoin(table) */才会执行MapJoin,否则执行Common Join,
但在0.7版本之后,默认自动会转换Map Join,由参数hive.auto.convert.join来控制,默认为true.    
 
 1,sql方式,在sql语句中添加mapjoin标记【mapjoin hint】
        语法:select /*+MAPJOIN(smallTable) */ smallTable.key,bigTable.value from smallTable JOIN btTable ON smallTable.key = bigTable.key;
   2,开启自动mapjoin,通过设置一下配置启动自动的mapjoin
 set hive.auto.convert.join = true;【该参数为ture时,Hive自动对左边的表统计量,如果是小表就加入内存,即对小表用mapjoin】相关参数配置:
 >hive.mapjoin.smalltable.filesize;【大小表判断阈值,表的大小小于该值则为小表,加载到内存中】
 >hive.ignore.mapjoin.hint;【默认值为true,是否忽略mapjoin hint即mapjoin标记】
 >hive.auto.convert.join.noconditionaltask;【默认值为true,将普通的join转化为普通的mapjoin时,是否将多个mapjoin转化为一个mapjoin】
 >hive.auto.convert.join.noconditionaltask.size;【将多个mapjoin转化为一个mapjoin时,列表的最大值】
 
32,hive 参数优化
 // 让可以不走mapreduce任务的,就不走mapreduce任务
hive> set hive.fetch.task.conversion=more;
 
// 开启任务并行执行
set hive.exec.parallel=true;
// 解释:当一个sql中有多个job时候,且这多个job之间没有依赖,则可以让顺序执行变为并行执行(一般为用到union all的时候)
 
// 同一个sql允许并行任务的最大线程数
set hive.exec.parallel.thread.number=8;
 
// 设置jvm重用
// JVM重用对hive的性能具有非常大的 影响,特别是对于很难避免小文件的场景或者task特别多的场景,这类场景大多数执行时间都很短。jvm的启动过程可能会造成相当大的开销,尤其是执行的job包含有成千上万个task任务的情况。
set mapred.job.reuse.jvm.num.tasks=10;
 
// 合理设置reduce的数目
// 方法1:调整每个reduce所接受的数据量大小
set hive.exec.reducers.bytes.per.reducer=500000000; (500M)
// 方法2:直接设置reduce数量
set mapred.reduce.tasks = 20
 
// map端聚合,降低传给reduce的数据量
set hive.map.aggr=true  
 
// 开启hive内置的数倾优化机制
set hive.groupby.skewindata=true
 
33,小文件合并
小文件的产生有三个地方,map输入,map输出,reduce输出,小文件过多也会影响hive的分析效率:
 
设置map输入的小文件合并
set mapred.max.split.size=256000000;  
//一个节点上split的至少的大小(这个值决定了多个DataNode上的文件是否需要合并)
set mapred.min.split.size.per.node=100000000;
//一个交换机下split的至少的大小(这个值决定了多个交换机上的文件是否需要合并)  
set mapred.min.split.size.per.rack=100000000;
//执行Map前进行小文件合并
 
设置map输出和reduce输出进行合并的相关参数:
//设置map端输出进行合并,默认为true
set hive.merge.mapfiles = true
//设置reduce端输出进行合并,默认为false
set hive.merge.mapredfiles = true
//设置合并文件的大小
set hive.merge.size.per.task = 256*1000*1000
//当输出文件的平均大小小于该值时,启动一个独立的MapReduce任务进行文件merge。
set hive.merge.smallfiles.avgsize=16000000
Hive性能优化高频面试题及答案 ORC(Optimized Row Columnar)是一种列式存储格式,支持高效的压缩和优化的读取模式。与行式存储相比,列式存储更适合读取少数列的查询场景。ORC支持:只读取查询需要的列,减少IO。支持多种压缩算法,如Snappy、Zlib等。在读取数据时,提前过滤不相关的数据块。这些特性都有助于提高Hive的查询性能。 阅读详情

相关推荐

Hive高频面试题

1)写一个类继承(org.apache.hadoop.hive.ql.)UDF类;2)覆盖方法evaluate();3)打JAR包;4)通过hive命令将JAR添加到Hive的类路径:5)注册函数:6)使用函数;7)[可选] drop临时函数;

悦分享 190

LTE测量文件MRO,MRE.MRS的区别解释

MRO(MR Original,对应GSM的MRR)代表测量报告样本数据文件,不包括事件触发的样本数据; MRS(MR Statistics,对应GSM的NCS)代表测量报告统计数据文件,含邻区测量信息,数据很大。 MRE(MR Event,对应GSM的CTR)代表事件触发的测量报告样本数据; ...

aillymo的专栏 7128

实战对比:VINS和ORBSLAM3在无人机避障中的表现(含实测数据)

本文通过实战测试,深度对比了VINS和ORBSLAM3两种主流视觉SLAM算法在无人机避障中的表现。测试聚焦于光照变化、动态遮挡和快速运动三大挑战,提供了详细的实测数据与性能分析。结果表明,VINS在计算效率和实时性上占优,而ORBSLAM3在定位精度和地图管理方面更稳健,为不同应用场景下的工程选型提供了清晰依据。

醉三国 627

Hive总结

一、启动 hive --service metastore  端口检查:ss -nal      9083端口       hiveserver2               端口检查               10000 hive  数据: 11,zhangsan12,daqiu-kanshu-kandingyi,beijing:tiananmeng-shanghai:pudong-shen...

MrGrant.blog 580

PCIe ATS介绍

主机侧使用IOMMU完成设备地址到物理memory地址的转换,以及设备访问权限的检查。但如果所有PCIe设备都在进行DMA操作,则TA(Translation Agent)和ATPT(Address Translation and Protection Table)则会成为瓶颈,从而影响系统的latency。

maxwell2ic的博客 6020

当AI学会自我验证:Chain-of-Verification如何杜绝错误决策?

2025年,大模型"幻觉"问题已成为企业落地AI的最大障碍之一——金融风控中1.2%的误判率可能导致千万级损失,医疗诊断中3%的错误可能危及生命,法律文书中5%的事实偏差可能引发合规风险。MetaAI与Google联合提出的**Chain-of-Verification(CoVe,验证链)**技术,让AI具备"自我审视"能力,通过结构化验证流程将幻觉率降低68%+,在复杂决策场景准确率提升至95%+。本文系统拆解CoVe的技术原理、实施路径与行业实战,为企业提供AI决策可靠性保障的完整方案。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1080

HIVE MapJoin异常问题处理总结

HIVE MapJoin异常问题处理总结 转转: https://yq.aliyun.com/articles/64306 问题描述 在跑hive作业的时候,偶尔会遇到下面的异常 FAILED: Execution Error, return code 3 from org.apache.hadoop.hive.ql.exec.mr.MapredLocalTask 。

Make progress step by step everyday..... 4088

【Unity实战】HybridCLR热更快速集成

本文假设你已经通过UPM导入了HybridCLR、Addressables、il2cpp支持并具有一定的C#基础和Unity编辑器操作能力。

u012587406的博客 4994

hive 报错return code 40000 from org.apache.hadoop.hive.ql.exec.MoveTask解决思路

但是这个错是hive的错,我们开发过程 中会遇到很多hive问题,都怎么解决呢?我建议看源码,但先不要看报错源码,直接看errorCode源码,别人hive的开发者也是人,也知道这里会报错,可能会好心告诉我们怎么解决。看到这里获取配置项,就舒服了,毕竟就算我们发现假设hive源码有问题,我也没法修改cdp的源码。那么直接看hive的源码,毕竟cdp也是抄的hive官方的代码。1.设置线程数为1,线程数越少,产生bug的几率就越小。3.改为分区表,此时不在一个目录了,就不会有这个问题了。

cclovezbf的博客 4527

华为OD最新机试真题-池化资源共享

摘要:该问题要求管理n台设备的资源池,处理资源申请和释放操作。申请操作需返回满足条件且剩余资源最少的设备ID,释放操作需将指定申请的资源归还。采用线段树数据结构维护各设备当前最大可用资源值,支持快速查询和更新。线段树实现了单点修改、区间最大值查询以及查找最左满足条件的节点功能。算法时间复杂度为O((n+m)logn),空间复杂度O(n),适用于大规模操作。提供了C++、Java和Python三种实现方案。

面试高手的博客 324

告别调参难!YOLO超参数优化指南(网格搜索+贝叶斯优化实战)

YOLO超参数优化的本质,不是“试遍所有参数”,而是“用工具化方法,在场景约束内找到最优平衡”——网格搜索稳、贝叶斯优化快,两者结合(先粗搜再精调)是工业场景的最优解。先定范围:基于工业场景(小目标/边缘设备/多类别)缩小参数搜索范围,避免无效探索。先调核心:优先优化数据增强、学习率、输入尺寸,这些参数对精度影响最大。工具赋能:用网格搜索+贝叶斯优化替代人工试错,再用TensorBoard监控,让调参“有据可依”。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 698

spark-sql小错

在本地跑各种顺畅:到集群上就不行了,各种报错:解决:将中的provided去掉,然后编译打包在集群上再次跑。又报错:将配上,编译打包在集群上再次跑接着报错:真是完蛋了!然后想起来我们测试集群有两个版本的spark(有hive和没hive的)查看环境变量配置的是没hive的:使用有hive的spark再次提交,发现还是哪些错(啊啊)突然看到:意味着我就是用有hive的spark版本他还是会用你的环境...

qq_22195987的博客 449

UNet改进(19):基于残差注意力模块Residual Attention的高效分割网络设计

本文提出一种结合注意力机制的改进UNet网络,通过引入残差注意力模块(ResidualAttentionBlock)增强医学图像分割性能。该网络在传统UNet的U型结构基础上,创新性地将轻量级注意力机制与残差连接相结合,在编码器-解码器各层级实现特征重标定。改进后的网络具有三方面优势:通过注意力机制自适应聚焦关键特征区域,利用残差连接缓解梯度消失问题,采用模块化设计灵活配置注意力位置。

2501_91516851的博客 780

Hive中高频常用的函数和语法

如果没有前面的行(例如,当前行是第一行),则返回指定的默认值。在这些示例中,LAG()函数被用于获取结果集中的前一行的值,以进行相关的计算或分析。功能介绍: IFNULL(expression, default_value)函数用于处理NULL值,当表达式的值为NULL时,返回指定的默认值,以确保结果集中不包含NULL值。这样做的目的是将两个表的数据union all合并,并根据源标识的值进行排序和分区,以便在后续的ROW_NUMBER()函数中根据指定的规则选择每个分区中具有最高优先级的行。

weixin_43977307的博客 3810

4.Simulink基础建模操作——加减乘除运算

加减乘除运算

FPGA/MATLAB学习教程/源码/项目合作开发 9549

STM32F407中文手册

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

看完了108份面试题,我为你总结出了这 10 个【Hive】高频考点(建议收藏)

从108份面试题里提炼出来的"精华",值得阅读收藏!

大数据梦想家 5328

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Hive高频SQL及典型应用场景总结

高频操作‌:窗口函数、行列转换、条件聚合典型场景‌:日志分析、用户分层、报表生成优化重点‌:分区/分桶设计、避免全表扫描、合理使用存储格式(ORC/Parquet)

我的博客 706

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

高频面试之6Hive

Hive大数据处理框架核心解析 Hive作为Hadoop生态系统中的数据仓库工具,其架构基于HDFS存储和MapReduce计算框架。HQL查询语言通过解析器、语义分析器等组件转换为MR任务执行流程。与数据库相比,Hive更适合大规模数据处理,但延迟较高。 关键特性包括: 表类型:内部表删除元数据和数据,外部表只删元数据 丰富函数库:数值、字符串、日期、流程控制等系统函数 窗口函数:支持分组TopN、行转列等复杂分析场景 自定义函数:UDF用于简单计算,UDTF处理一行多行转换 优化手段主要有: 分组

数字人生 1282

hive-sql高频命令总结

COUNT count(*):所有行进行统计,包括NULL行 count(1):所有行进行统计,包括NULL行 count(column):对column中非Null进行统计 ROW_NUMBER() 语法形式:ROW_NUMBER() OVER(PARTITION BY COL1 ORDER BY COL2) 解释:根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的) 常用的使用场景:例如取每个学科的前3名 汇总不去重 常应用于统计PV

weixin_41109972的博客 1221

70道Hive高频题整理(附答案背诵版)

Hive是基于Hadoop的数据仓库工具,可将结构化数据映射为表并提供SQL查询功能。主要特点包括:支持HiveQL查询语言、将SQL转为MapReduce任务、元数据存储等。Hive的数据类型包含基本类型、集合类型和复杂类型。其架构由元数据存储、查询语言、编译器、执行程序和驱动程序组成。Hive与关系数据库在数据存储、处理、扩展性等方面存在差异。表类型分为管理表(删除时删除数据)和外部表(仅删除元数据)。数据导入方式包括Load、Insert、建表时加载等。常用窗口函数有row_number、rank和d

IT6666_it的博客 1145

Hive 高频面试题 30 题

来源:大数据技术与架构 本文约6000字,建议阅读10分钟 本文收集了Hive面试中的高频考题。如果你是数据开发、数据研发、或数据分析师,那么这篇文章将对你非常有用。记得转发收藏哦。一、Hive面试题1、hive内部表和外部表的区别未被external修饰的是内部表,被external修饰的为外部表。区别:内部表数据由Hive自身管理,外部表数据由HDFS管理; 内部表数...

数据派THU 1万+

【面试精选】70道Hive高频题整理(附答案背诵版)

Hive是一个基于Hadoop的数据仓库工具,它可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行。Hive定义了简单的SQL查询语言称为HiveQL,该语言允许熟悉SQL的用户查询数据。同时,Hive提供了一个元数据存储,存储了所有表的元数据信息。

tyler的博客 1174

Hive精选高频面试题

精选hive面试题21道,帮助应对各种面试问题

qq_45831157的博客 1089

Hive 高频考点讲解

因为申请较晚,本公众号没留言,想交流的欢迎添加私人微信,一起相互吹捧,共同进步。1 HiveHive 是 FaceBook 开源的一款基于 Hadoop 数据仓库工具,它可以将结构化的数据...

sowhat 806

Hive常见高频面试题(上篇)

面试 大数据 Hive 调优

weixin_44868723的博客 5175
上一篇: OpenSession和GetCurrentSession的区别
下一篇: Mariadb/Mysql升级至10.4.10操作实战
HDP_CDH
博客等级 码龄9年 3粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值