hive怎么把外部表的数据删了(面试官hive表有数据)
hive怎么把外部表的数据删了(面试官hive表有数据)
2024-11-25 11:23:47  作者:念个人  网址:https://m.xinb2b.cn/know/wkb372840.html

张工是一名程序员,做java开发的,有两年多开发经验,有次到一家软件公司应聘大数据开发岗位,面试官问了他这样一个问题。

hive表有数据,但为什么impala查询不到数据?

你能说说这是什么情况导致的,有什么办法解决方案吗?

对于这个问题,我们不妨来回顾下,什么情况下hive表有数据,但impala没有数据的情况。

1. 问题描述

用insert overwrite方式往hive写入的数据,数据写入成功了,在hive查询是可以查到数据的,但在impala刷新元数据后,查询却没有查到,刚开始以为是元数据刷新不成功,再用命令

invalidate metadatatable_namerefresh table_name

刷新成功后还是没有数据,返回结果为空。


2.问题追溯

往hive表写入数据sql里使用了union ,导致hdfs目录结构多了一层,本来数据是在分区第一层的,使用了union 后,数据存储到分区底下的文件夹了。

导致impala无法访问到具体数据。impala版本2.12,查看impala版本命令(impala-shell -v)

3.解决方案

在写入数据sql 后面加上 distribute by 表中字段 就可以了。

这是为什么呢,为什么加上distribute by 表中字段 就可以了。

我们知道,distribute 是分配、分布的意思,顾名思义,hive中(distribute by “表中字段”)关键字就是控制map输出结果的分发,相同字段的map输出会发到一个reduce节点去处理。

总结

hive表有数据,impala表没有数据,检查是否刷新元数据,操作命令:

invalidate metadata

refresh table_name。已经成功刷新元数据了,impala依然没有数据, 检查写入hive sql 是否使用union方式,如果是,在sql 后面加上(distribute by 表中字段 )。

拓展:

distribute by、sort by、cluster by

由于笔者知识及水平有限,文中错漏之处在所难免,欢迎交流。

  • 感慨万千什么意思(感慨万千的意思是什么)
  • 2024-11-25感慨万千的意思是什么感慨万千,汉语成语,拼音是gǎnkǎiwànqiān,意思是指变化很大而引起许多感想、感触出自《平凡的世界》路遥《平凡的世界》第二卷第30章:“孙玉厚坐在这里,心里忍不住感慨万千”。
  • 钓鱼小药怎么用(如何用小药来钓鱼)
  • 2024-11-25如何用小药来钓鱼根据季节使用小药在不同季节也有不同的使用方法在春季的时候,由于刚刚进入春季,所以水里的温度还是比较冷的,这时候由于鱼儿的嗅觉和食欲会受到影响,因此会使用香精味的小药将饵料的味道加重;夏季的时候通常会选。
  • 情怀满满的网店名字(情怀满满的网店名字有什么)
  • 2024-11-25情怀满满的网店名字有什么解忧杂货铺该名是参考日本作家东野圭吾的小说《解忧杂货店》而起的名字,该小说讲述了人们将自己的烦恼和困惑写成信投进杂货店,就会发生奇妙的事情网店起名“解忧杂货铺”是意指该店能为大家解决烦恼,增添生活的乐。
  • 哈弗h6热卖解析(哈弗H6平价销售中)
  • 2024-11-25哈弗H6平价销售中购第三代哈弗H6,专享“6大神车礼遇”  第三代哈弗H6,长城•柠檬平台打造的首款战略车型,搭载整车FOTA升级、自主循迹倒车、全场景AEB紧急制动、超感未来智慧座舱等智能功能,为您带来便捷安全的出行。
  • 今天是观音菩萨成道日(恭迎观音菩萨成道日)
  • 2024-11-25恭迎观音菩萨成道日10:00大悲咒·敬善媛来自济群法师南无大悲观世音菩萨南无大悲观世音菩萨南无大悲观世音菩萨✤农历六月十九(7月22日),恭迎观世音菩萨成道日除了香花供养,虔诚礼敬,我们要以观音菩萨为榜样,长养自己的慈。
  • 大蛇能吃小蛇吗(村民做饭时发现大蛇)
  • 2024-11-25村民做饭时发现大蛇4月29日云南普洱市的一位农户在自家厨房做饭时突然发现一条如胳膊粗的眼镜王蛇,他无奈之下只得向消防部门求救厨房惊现眼镜王蛇事情发生在云南省普洱市景东县龙街乡的一个农户家里,当天中午12点左右,他正在厨。
  • 0.25mm是多少磅(具体计算方法教程)
  • 2024-11-25具体计算方法教程磅与厘米的换算关系,1磅约等于0.03527厘米,1厘米约等于28.35磅,所以0.25mm是0.070875磅磅的英文简写为:LB(lb),是pound的中文翻译,它是英国和美国的重量单位过去的一英。
  • 孩子多大适合做家务(女孩子就要多做家务)
  • 2024-11-25女孩子就要多做家务男孩应该喜欢蓝色,女孩应该喜欢粉色;男生应该是短头发、穿裤子;女生应该是长头发、穿裙子;男孩就应该刚强在外打拼;女孩就应该温柔贤惠做家务;.......从小我们就被这样教育,然后认识了男女性别的差异化。