hive修复数据

这篇具有很好参考价值的文章主要介绍了hive修复数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

项目场景:

提示:hive中一不小心将表drop掉了,通过select发现表示没有数据的:

hive中一不小心将表drop掉了,通过select发现表示没有数据的,不想重新在导入数据,因为发现hive的目录下是存在数据的

问题描述

提示:这里描述项目中遇到的问题:
由于这里的字段我是用关键字date作为字段名,后面发现在shell脚本中是无法执行成功的,会报错,在datagrip中只要加date是可以执行成功的

但是我这边是需要写shell脚本,让其实现自动化的过程,因此我需要重新创建一张表,将date字段名改为cur_date非关键字

由于不小心将hive表drop掉了,但是发现hdfs路径下表数据还是存在的,因为当时建表的时候就是建的外部表
建表语句如下:

drop table if exists hr_cn.ods_cn_attendance_day_print_full;
create external table IF NOT EXISTS hr_cn.ods_cn_attendance_day_print_full
(
    id               string comment '',
    staff_id         string comment '员工id。不要用来关联员工数据,不准确',
    print_number     string comment '打卡号。关联员工数据,与cn_staff表finger_print_number字段关联',
    date string comment '打卡时间',
    type             int
    status           int
    comment          string
    work_time_type   int
) comment '设置的打卡时间'
    partitioned by (dt string)
    row format delimited fields terminated by '\001'
        NULL DEFINED AS ''
    LOCATION '/warehouse/hr_cn/ods/ods_cn_attendance_day_print_full';

执行了drop操作

解决方案:

不用再重新采集数据,直接使用hive修复数据即可

1.修改字段名(date修改为cur_date)

drop table if exists hr_cn.ods_cn_attendance_day_print_full;
create external table IF NOT EXISTS hr_cn.ods_cn_attendance_day_print_full
(
    id               string comment '',
    staff_id         string comment '员工id。不要用来关联员工数据,不准确',
    print_number     string comment '打卡号。关联员工数据,与cn_staff表finger_print_number字段关联',
    cur_date string comment '打卡时间',
    type             int
    status           int
    comment          string
    work_time_type   int
) comment '设置的打卡时间'
    partitioned by (dt string)
    row format delimited fields terminated by '\001'
        NULL DEFINED AS ''
    LOCATION '/warehouse/hr_cn/ods/ods_cn_attendance_day_print_full';

2.使用hive修改命令即可文章来源地址https://www.toymoban.com/news/detail-535000.html

msck repair table ods_cn_attendance_day_print_full;

到了这里,关于hive修复数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Hive数据仓库简介

    Hive起源于Facebook,Facebook公司有着大量的日志数据,而Hadoop是实现了MapReduce模式开源的分布式并行计算的框架,可轻松处理大规模数据。然而MapReduce程序对熟悉Java语言的工程师来说容易开发,但对于其他语言使用者则难度较大。因此Facebook开发团队想设计一种使用SQL语言对日

    2024年02月15日
    浏览(57)
  • hive数据仓库课后答案

    一、 填空题 1.数据仓库的目的是构建面向     分析         的集成化数据环境。 2.Hive是基于     Hadoop         的一个数据仓库工具。 3.数据仓库分为3层,即      源数据层        、     数据应用层        和数据仓库层。 4.数据仓库层可以细分为      明细层

    2023年04月08日
    浏览(47)
  • 数据仓库 & Apache Hive

    目录 一、数据分析 1、数据仓库 1.1、数仓专注分析 1.2、数仓主要特征 1.3、数据仓库主流开发语言--SQL 2、Apache Hive 2.1、为什么使用Hive? 2.2、Hive和Hadoop关系 2.3、Hive架构图、各组件功能 2.4、Hive安装部署 2.4.1、Hive概念介绍 2.4.2、安装前准备     数据仓库 (英语:Data Warehous

    2024年01月22日
    浏览(49)
  • Hive 数据仓库介绍

    目录 ​编辑 一、Hive 概述 1.1 Hive产生的原因 1.2 Hive是什么? 1.3 Hive 特点 1.4 Hive生态链关系 二、Hive架构 2.1 架构图 2.2 架构组件说明 2.2.1 Interface 2.2.1.1 CLI 2.2.1.2 JDBC/ODBC 2.2.1.3 WebUI 2.2.2 MetaData 2.2.3 MetaStore 2.2.4 Hiveserver2 2.2.5 Driver 2.2.5.1 解释器 2.2.5.2 编译器 2.2.5.3 优化器 2.2.5.4 执行

    2024年02月07日
    浏览(42)
  • Hive数据仓库

    数据仓库(英语:Data Warehouse,简称数仓、DW),是一个用于存储、分析、报告的数据系统。 数据仓库的目的是构建面相分析的集成化数据环境,分析结果为企业提供决策支持(Decision Support)。 数据仓库本身并不“产生”任何数据,其数据来源不同外部系统; 同时数据仓库

    2024年02月15日
    浏览(40)
  • hive数据仓库工具

    1、hive是一套操作数据仓库的应用工具,通过这个工具可实现mapreduce的功能 2、hive的语言是hql[hive query language] 3、官网hive.apache.org 下载hive软件包地址  Welcome! - The Apache Software Foundation https://archive.apache.org/ 4、hive在管理数据时分为元数据和真数据,其中元数据要保存在数据库中

    2024年02月04日
    浏览(35)
  • 安装hive数据仓库

    需要安装部署完成的Hadoop的环境如果不会搭建的可以参考: 卸载Centos7自带的mariadb mariadb-libs-5.5.64-1.el7.x86_64是使用 rpm -qa|grep mariadb 查询出来的名称 安装mysql 安装mysql时可能会出现的问题 1、依赖检测失败 问题很明显了就是依赖的问题,下载他说的依赖就好了 安装hive 上传并且

    2024年02月14日
    浏览(52)
  • 【Hive】——数据仓库

    数据仓库(data warehouse):是一个用于存储,分析,报告的数据系统 目的:是构建面向分析的集成化数据环境,分析结果为企业提供决策支持 特点: 数据仓库本身不产生任何数据,其数据来源于不同外部系统 数据仓库也不需要消费任何的书,其结果开放给各个外部应用使用

    2024年02月04日
    浏览(43)
  • 数据仓库hive的安装说明

    1.按照下面语句顺序依次输入,安装mysql         $sudo apt-get install mysql-server         $sudo apt-get install mysql-client         $sudo apt-get install libmysqlclient-dev 2.连接MySQL数据库 (1)进入mysql         $sudo mysql -u root –p (2)使用mysql         use mysql; (3)修改mysql用户密

    2024年03月10日
    浏览(44)
  • Hive数据仓库行转列

    查了很多资料发现网上很多文章都是转发和抄袭,有些问题。这里分享一个自己项目中使用的行转列例子,供大家参考。代码如下: 如果是在SparkSQL或Presto平台,或者阿里云的MaxCompute平台,还可使用如下方式:

    2024年02月21日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包