carbondata入库数据查询异常排查

1,背景:carbondata的入库segments对应的状态都是success,但是查询的时候报错,在这里插入图片描述
2,排查内容
1,segments的状态 success
2,任务执行记录日志 正常
3,找到对应查询的天,指定对应的segments,进行查询,有能查到数据的

SET carbon.input.segments.default.table_name = segments_id;
select * from table_name limit 1;
有结果
3,排查原因
1,表结构没问题,之前查询都是正常的
4,可能原因
1,数据入库时候数据异常的问题
5,验证4的想法
用脚本实现,逐个排查有问题的那一天的segments
发现有些segments没有,最后排查,有些segment是有问题的,虽然状态是succes,删掉对应的segments,查询正常
6,根据处理步骤,整理出来自动删除脚本如下

 ############mkdir -pv  logs mkdir -pv  result##################第一个脚本,获取segmentid以及比对异常segementidget_segment_id.sh 
#!/bin/bashsource /etc/profile
date_s=`date -d "1 day ago" +"%Y-%m-%d 00:00:01"`
date_e=`date -d "1 day ago" +"%Y-%m-%d 23:59:59"`rm -f ./result/*
rm -f *.txt/home/eversec/jdbc/bin/everdata-jdbc.sh -i "jdbc:hive2://10.192.21.1:10000" -q " SHOW SEGMENTS ON default.table_name as select * from table_name_segments where loadstarttime>='$date_s' and loadstarttime<='$date_e' order by loadStartTime asc limit 1;" -o  start_id.txt
/home/eversec/jdbc/bin/everdata-jdbc.sh -i "jdbc:hive2://10.192.21.1:10000" -q " SHOW SEGMENTS ON default.table_name as select * from table_name_segments where loadstarttime>='$date_s' and loadstarttime<='$date_e' order by loadStartTime desc limit 1;" -o  end_id.txtif [ -f start_id.txt ] && [ -f end_id.txt ]; thensid=`cat start_id.txt|awk -F',' '{print $1}'`eid=`cat end_id.txt|awk -F',' '{print $1}'`for ((i=$sid; i<=$eid; i++))do/home/eversec/jdbc/bin/everdata-jdbc.sh -i "jdbc:hive2://10.192.21.1:10000"  -q "SET carbon.input.segments.default.table_name =  $i; select * from table_name where order by hour limit 1;" -o ./result/$iecho $i >>auto_id.txtdonefi##################第二个脚本,删除使用
cat dele_bad_segment.sh 
#!/bin/bashdele_id=""
ls ./result/* |awk -F'/' '{print $3}'> ./segment_id.txt
num_autoid=`cat auto_id.txt |wc -l`if [ $num_autoid -gt 0 ];thenwhile read linedonum=`cat segment_id.txt |grep "$line"|wc -l`if [ $num -eq 0 ];thenecho $line >> bad_segmentid.txtfidone <auto_id.txt
finum_de=`cat  bad_segmentid.txt |wc -l`
if [ $num_de -gt 0 ];thenend_id=`tail -1 bad_segmentid.txt` start_id=`head -1 bad_segmentid.txt`while read linedoif [ $line -eq $start_id ] ;thendele_id="${line}"elif [ $line -ne $start_id ];thendele_id="${dele_id},${line}"fidone <bad_segmentid.txtecho $dele_id/home/eversec/jdbc/bin/everdata-jdbc.sh -i "jdbc:hive2://10.192.21.1:10000" -q "DELETE FROM TABLE table_name  WHERE SEGMENT.ID IN ($dele_id);"
fi

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/23758.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

8255A-LED

DATA SEGMENTPORTA EQU 280H ;A端口地址PORTB EQU 281H ;B端口地址PORTD EQU 283H ;命令口地址 DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA START:MOV AX, DATAMOV DS, AXMOV DX, PORTDMOV AL, 10010000BOUT DX,ALMOV DX, 281H MOV AL, 00HOUT DX, ALWAIT1:MOV DX, POR…

【JavaEE精炼宝库】多线程(4)深度理解死锁、内存可见性、volatile关键字、wait、notify

目录 一、死锁 1.1 出现死锁的常见场景&#xff1a; 1.2 产生死锁的后果&#xff1a; 1.3 如何避免死锁&#xff1a; 二、内存可见性 2.1 由内存可见性产生的经典案例&#xff1a; 2.2 volatile 关键字&#xff1a; 2.2.1 volatile 用法&#xff1a; 2.2.2 volatile 不…

C/C++ 检测文件是否存在的方法

在C和C中&#xff0c;检测文件是否存在的方法通常涉及到平台特定的API或者使用标准库的功能&#xff08;在C17及以后版本中&#xff09;。以下是几种常见的方法&#xff1a; C 在C中&#xff0c;通常使用POSIX标准&#xff08;在Unix-like系统上&#xff09;或Windows API&am…

PostgreSQL的视图pg_stat_user_tables

PostgreSQL的视图pg_stat_user_tables pg_stat_user_tables 是 PostgreSQL 中的一个系统视图&#xff0c;用于显示用户定义的表的统计信息。这些统计信息包括表的访问情况、修改情况以及很多其他的性能指标。这个视图为数据库管理员提供了丰富的数据&#xff0c;可以帮助他们进…

使用 Scapy 库编写 ICMP 时间戳攻击脚本

一、介绍 ICMP时间戳攻击&#xff08;ICMP Timestamp Attack&#xff09;是一种利用ICMP协议中的Timestamp请求和响应消息来实施的攻击。攻击者发送大量的ICMP Timestamp请求消息到目标主机&#xff0c;以触发目标主机对每个请求进行响应&#xff0c;从而消耗目标系统的网络资…

Codeforces Round 950 (Div. 3)

好久没写题解了&#xff0c;今天来写个题解。 A - 问题 Generator #include "bits/stdc.h" using namespace std;#define int long long #define endl \n #define IOS ios::sync_with_stdio(0),cin.tie(0); #define all(x) x.begin(),x.end() #define pi pair<in…

【Linux】(一)——Linux基础和Linux命令基础语法

目录 Linux基础Linux发行版本Linux终端Linux命令 Linux基础 Linux&#xff0c;通常指的是GNU/Linux操作系统&#xff0c;这是一个开源且免费使用的类UNIX操作系统。它的核心组件——Linux内核&#xff0c;由林纳斯托瓦兹&#xff08;Linus Torvalds&#xff09;在1991年10月5日…

Arthas使用教程——JVM常用命令

JVM相关命令 dashboard——当前系统的实时数据面板 显示当前 tomcat 的实时信息。 使用方式&#xff1a;dashboard 数据说明 ID: Java 级别的线程 ID&#xff0c;注意这个 ID 不能跟 jstack 中的 nativeID 一一对应。 NAME: 线程名 GROUP: 线程组名 PRIORITY: 线程优先级…

Rocky Linux安装与基础配置

目录 背景与起源 主要特点 目标用户 发展前景 下载 安装 常用配置命令&#xff1a; 更换镜像源 Rocky Linux 是一个开源的、由社区驱动的操作系统&#xff0c;旨在使用 Red Hat Enterprise Linux&#xff08;RHEL&#xff09;源码构建的下游二进制兼容发行版。以下是关于…

优思学院|一文看懂新版FMEA与FMEA的七大步骤

FMEA的起源 FMEA最早起源于20世纪40年代的美国军工行业。当时&#xff0c;美国军方为了提高武器系统的可靠性和安全性&#xff0c;开始使用FMEA来识别和评估潜在的故障模式及其影响。1949年&#xff0c;美国军方发布了《军用程序手册》&#xff08;Military Procedures Handbo…

【Android面试八股文】在Java中重载和重写是什么意思,区别是什么?

文章目录 在Java中重载和重写是什么意思,区别是什么?这道题想考察什么 ?考察的知识点考生应该如何回答重载(Overloading)重写(Overriding)重载和重写的区别在Java中重载和重写是什么意思,区别是什么? 这道题想考察什么 ? Java基础 考察的知识点 面向对象多态的基…

五种网络IO模型

目录 前言 文件描述符 为什么要多种io模型 同步IO 1.阻塞IO 2.非阻塞IO 3.多路复用IO&#xff08;事件驱动IO&#xff09; select: poll&#xff1a; epoll&#xff1a; 4.信号驱动IO 异步IO 区别 前言 文件描述符 首先我们了解一下文件描述符是什么&#xff1a;…

【Python报错】已解决AttributeError: ‘method‘ object has no attribute ‘xxx‘

解决Python报错&#xff1a;AttributeError: ‘method’ object has no attribute ‘xxx’ 在Python中&#xff0c;AttributeError通常表明你试图访问的对象没有你请求的属性或方法。如果你遇到了AttributeError: method object has no attribute xxx的错误&#xff0c;这通常意…

批量处理脚本,用于删除指定目录下3天前的备份文件和日志。

echo off echo 删除3天前的备份文件和日志 set SrcDirD:\home set DaysAgo3 echo 准备删除3天前的备份文件和日志 forfiles /p %SrcDir% /d -%DaysAgo% /c "cmd /c del /f /q /a path && rd /s /q path" echo 正在执行删除&#xff0c;请稍等…… set SrcDi…

奇迹MU最强法师介绍

1、黑龙波 释放出深渊中的黑龙之魂&#xff0c;对一定范围内的目标造成中等程度伤害。 奥义&#xff1a; 怒哮——法师释放出深渊龙魂的怨怒之力&#xff0c;在电闪雷鸣中中咆哮的龙魂将对敌人额外造成少量伤害。 魂阵——法师利用法阵控制黑龙之魂进行更大范围的攻击&…

如何使用SeaFile文件共享服务器结合内网穿透将家中电脑变成个人云盘

文章目录 1. 前言2. SeaFile云盘设置2.1 Owncould的安装环境设置2.2 SeaFile下载安装2.3 SeaFile的配置 3. cpolar内网穿透3.1 Cpolar下载安装3.2 Cpolar的注册3.3 Cpolar云端设置3.4 Cpolar本地设置 4.公网访问测试5.结语 1. 前言 本文主要为大家介绍&#xff0c;如何使用两个…

opt 优化

【整理】深入理解拉格朗日乘子法&#xff08;Lagrange Multiplier) 和KKT条件 【amos注】&#xff1a;通俗易懂&#xff0c;让人易于理解。

【Oracle篇】rman全库异机恢复:从RAC环境到单机测试环境的转移(第四篇,总共八篇)

&#x1f4ab;《博主介绍》&#xff1a;✨又是一天没白过&#xff0c;我是奈斯&#xff0c;DBA一名✨ &#x1f4ab;《擅长领域》&#xff1a;✌️擅长Oracle、MySQL、SQLserver、阿里云AnalyticDB for MySQL(分布式数据仓库)、Linux&#xff0c;也在扩展大数据方向的知识面✌️…

【TensorFlow深度学习】深度学习中的损失函数种类与适用场景

深度学习中的损失函数种类与适用场景 深度学习中的损失函数种类与适用场景&#xff1a;精确度量模型误差的艺术一、均方误差&#xff08;Mean Squared Error, MSE&#xff09;二、交叉熵损失&#xff08;Cross-Entropy&#xff09;三、Hinge损失&#xff08;Margin Loss&#x…

ROS RViz观测传感器数据

ROS RViz观测传感器数据 The Robot Visualization Tool 可视化工具 机器人传感器采集到的数据都可以图形化的显示在这个软件里&#xff0c;机器人运算处理的中间结果&#xff0c;和即将要执行的目标指示&#xff0c;比如机器人对空间中某个物体进行识别后&#xff0c;我们可以…