自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(225)
  • 收藏
  • 关注

原创 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.改为分区表,此时不在一个目录了,就不会有这个问题了。

2023-11-23 17:32:42 2412

原创 hive 之select 中文乱码

concat_ws("",arrary("境内")) 有用,此时也不知道如何下手,只有掏出大杀器 explain.其实还有别的办法,但是和concat_ws(array(""))一样比较丑陋,我就不说了。经过多方面测试 concat("境内") concat_ws("","境内")没用,有时候我们需要自定义一列,有时是汉字有时是字母,结果遇到这种情况了。此处的中文乱码和mysql的库表 编码 latin utf 无关。此时怀疑就是if 函数起了作用,但是一时间不知道是为啥。即可解决中文乱码问题!

2023-10-12 16:16:44 1359

原创 HiveServer2 Service Crashes(hiveServer2 服务崩溃)

Troubleshooting Hive | 5.9.x | Cloudera Documentation1.hive分区表太多(这里没有说具体数量。)2.并发连接太多,我记的以前默认是200个连接 3.复杂的hive查询访问表的的分区4.hs2实例数太少如果存在这些情况中的任何一种,Hive可能运行缓慢,或者可能崩溃,因为整个HS2堆内存已满。1.hs2服务直接挂掉,或者你开启新会话失败。2.hs2服务看起来是好的,但是你连接被拒绝3.查询提交重复失败4.查询一直在提交,查询时间长这里太长了,我直接用我自

2023-10-07 15:38:47 1502

原创 logback日志框架学习(3)configuration配置文件

除了这三个常见元素之外,<appender>元素可以包含与appender类的JavaBean属性相对应的任意数量的元素。顺便说一句,现有的log4j用户可以使用我们的PropertiesTranslator web应用程序将他们的log4j.properties文件转换为logback.xml。打包数据由jar文件的名称和版本组成,jar文件是堆栈跟踪行的类的来源。在上面的示例中,假设nodeId属性是在上下文范围中定义的,那么它将在每个日志记录事件中可用,即使是那些通过序列化发送到远程主机的事件。

2023-09-26 19:57:54 806

原创 logback日志框架学习(2)logback的构造

x.y.z.appender.add=a-xyz1 additivty.flag=true x.y.z继承x最后appender=A1,a-x1,a-x2,a-xyz1。设置root=debug,x=info ,x.y=NONE ,x.y.z=NONE,最后x.y和x.y.z的日志级别都继承了x=INFO。设置root=error,x=info ,x.y=NONE ,x.y.z=warn,最后x.y的日志级别是继承了x=INFO。例如 com.chenchi就是com.chenchi.age的父级关系。

2023-09-26 16:41:40 226

原创 impala常用时间函数,date->string->timestamp互转

impala 和hive不一样,hive是弱类型,比如int和string在大部分条件下可以比较比如hive select 1='1' --结果true或false但是impala select 1='1' 报错 operands of type TINYINT and STRING are not comparable: 1 = '1'这样带来的好处是 类型一致结果更准确,缺点是增加开发人员的精力。。话不多说直接来案例。

2023-09-22 16:39:23 2191

原创 mysql convert函数 解决读取double为科学计数法问题

为什么需要这个函数?mysql是弱类型的 where stringcol=1 and intcol='1' 都行 会自动转化,那我为什么还要呢?转化为char targetId=506 batchid=9.061340835102065e17 还是错的。很简单 java读取double时会科学计数法,那么我不读取double 读取varchar就好了。mysql有个类型是double ,基本没人用,但是就是有人用。看似解决了,其实没解决,过了几天发现另外一个问题。看到没,出现了科学计数法, 这怎么可以呢?

2023-09-14 19:07:23 440

原创 konisGraph学习。复杂查询优化记录

g.V().has('company','company_name', P.within("公司1")).repeat(outE('invest').otherV().simplePath()).times(7).g.V().has('company','company_name', P.within("公司1")).repeat(outE('invest').otherV().simplePath()).times(7).前者会先获取 1-7跳的所有数据然后再过滤最后节点为公司7的数据。

2023-09-11 18:42:48 204

原创 flink学习之state

同时判断clickcntState次数是否>=10如果大于就将该userid 输出到sink。有valueState listState mapstate。1.如果一个用户1s翻1页,或者速度更快,连续10次,那么就认为用户是机器人。别人只能通过截屏,提取文字的方式盗版小说。clickcntState 保留用户1s1页连续点击次数。lastClickState 保留用户上一次的点击时间。如果间隔<1s clickcntState就+1。如果>1s clickcntState就置于0。

2023-09-07 18:41:33 345

原创 flink学习之广播流与合流操作demo

比如lol,每天不断有人再投诉举报,客服根本忙不过来,腾讯内部做了一个判断,只有vip3以上的客户的投诉才会有人工一对一回复,过了一段时间大家都发现vip3才有人工,都开始充钱到vip3,此时人还是很多,于是只有vip4上的客户才能人工回复。demo思想:以上述vip做例子,获取用户不断投诉的id和vip等级, 数据库保存可以享受人工服务的vip等级,该等级可以自行调整(我是随着时间变化主键增大)。但是task10 task9都还是vip=0 ,说明流没有广播,除非此处并行度设置为1。

2023-09-06 15:30:03 606

原创 elastic数据迁移或者修改mapping

4.重新创建 i_dw_cc_test索引 设置好自己想要的mapping 比如我这里都想要text。get i_dw_cc_test_bak/_mapping 查询备份数据的mapping啥样。get i_dw_cc_test/_mapping 查询备份数据的mapping啥样。get i_dw_cc_test_bak/_count 查询数据是否ok。get i_dw_cc_test/_count 查询数据是否ok。例如我现在有个index i_dw_cc_test。如何修改mapping呢?

2023-09-06 11:37:29 117

原创 gremlin安装使用 详细步骤

gremlin是一个图数据库查询工具,注意他只是一个工具类似于dbeaver,navicat,sqlyog,是专门来分析图数据库的一个工具。

2023-08-21 18:55:17 347

原创 maven报错error while loading <root>, Error accessing

如果是老道的程序员已经发现这里的不对了。就是如果jar下载成功了不该有lastupdated文件的。删掉这里的全部文件,换个重新配置settings.xml的仓库 重新下。看没有lastupdated文件 ,jar也能正常打开。这个就是你下的jar不对 我们打开目录。

2023-08-14 17:59:47 698

原创 hive on tez资源控制

sql 注意这里文件数有17个 共计321M 最后是划分为了21个task为什么会有21个task?不是128M 64M 或者说我这里小于128 每个文件一个map吗?再仔细看每个task的日志 map0 data_source=CSIG/HIVE_UNION_SUBDIR_1/000008_0:0+16903572map1 data_source=CSIG/HIVE_UNION_SUBDIR_1/000000_0:0+16960450map2 data_source=CSIG/HIVE_UNION

2023-08-10 16:33:52 1046

原创 logback日志框架学习(1)介绍logback

首先说下对日志框架的感受,很多人slf4j-api slf4j-simplelogback-core logbak-classic log4j logj42很多的日志框架,控制台各种输出的时候日志框架warn error,有时候还不能输出日志。究其原因,大家都觉得日志框架不太重要,反正能输出就行了,感觉和sout也差不多,我也是这样的想法…出了问题百度下,复制两个log4j.properties ,log4j.xml就好了,下次有问题继续cv。不想这样了,我要好好学习下日志框架,希望大家也能好好学习。

2023-08-09 14:33:16 393

原创 设计原则学习之里氏替换原则

2、简单的示例1。

2023-07-31 17:00:35 333 1

原创 设计模式学习之开闭原则

开闭原则的英文全称是 Open Closed Principle,简写为 OCP。它的英文描述是:software entities (modules, classes, functions, etc.) should be open for extension , but closed for modification。我们把它翻译成中文就是:软件实体(模块、类、方法等)应该“对扩展开放、对修改关闭”。说人话就是,当我们需要添加一个新的功能时,应该在已有代码基础上扩展代码(新增模块、类、方法等),

2023-07-31 09:58:25 435

原创 Error attaching to process: sun.jvm.hotspot.runtime.VMVersionMismatchException: Supported versions a

加了-F 成功 /usr/java/jdk1.8.0_232-cloudera/bin/jstack -F 21439 >jstack.txt。所以再执行/usr/java/jdk1.8.0_232-cloudera/bin/jstack 21439 >jstack.txt 失败。找bin/下的java文件通过试java -version 来看当前运行的程序是执行的哪个 java。找到java目录 /usr/java/jdk1.8.0_232-cloudera/bin/java。

2023-07-28 19:26:11 422

原创 hive通过外表整合es,超详细过程。

简单的理解,我们最开始写的地址没有错,但是es这个家伙会发现其他节点的ip,然后用其他ip去连,你这个为true了就只能用我写的那个了。这个不就是kibana的get请求么,我在es试了确实没权限,要组长帮忙开通这个权限后,这个错就解决了。官网的介绍很简单,我看了很多博客,写的也很简单,但是我搞了半天才勉强成功,分享下,免得各位多走弯路。这里提到了essential 和required看来都是必须的,还有写defalut的就不说了。我遇到了一个最大的问题。但是tm的就是不能直接select *!

2023-07-28 17:15:58 1130

原创 CountDownLatch和CyclicBarrier学习

CountDownLatch是4个线程都执行完countDown后,程序继续向下运行,后面的事和4个线程无关,和CountDownLatch.await()此方法等待你们4个干完活有关。这里类似 你自己diy电脑,买了主机,cpu,电源 ,主板,等等,必须等所有快递到了之后你才能安装电脑。CyclicBarrier是在cyclicBarrier.await()执行后 也是4-1 等到4减到0后,也可以继续执行程序,否则一直会等待。CyclicBarrier是你们4个干完活了,等都干完活了,你们接着继续干。

2023-07-26 18:30:25 324

原创 flink1.16使用消费/生产kafka之DataStream

flink高级版本后,消费kafka数据一种是Datastream 一种之tableApi。上官网。

2023-07-25 14:13:52 2126

原创 flink写入到kafka 大坑解析。

加了重试机制 env.setRestartStrategy(RestartStrategies.failureRateRestart(3,Time.of(5000, TimeUnit.SECONDS),Time.of(5000,TimeUnit.SECONDS)));失败的任务只会重试几次。这里就报了java的最常见错误 空指针,原因就是flink要把kafka的消息getbytes。还有此时kafka的offset由flink在管理, 消费的offset 一直没有被commit,所以一直重复消费。

2023-07-25 11:03:07 1366

原创 flink1.16读取hive数据存到es 本地和服务器上遇到的问题和解决思路

- hadoop 版本不需要引入,服务器的hadoop_home有 但是flink启动的时候缺少了hadoop-mapreduce-client-core-3.1.1.7.1.7.1046-1.jar这个jar-->我当时觉得就是缺少了hive的jar 还想ln-s 把CDH/hive/conf里的jar 引入到flink_home/lib里 发现真是错了。--需要引入3.1.2的jar 用的服务器3.1.3的版本会报错-->路径是没有问题的, kinit -kt 成功的。

2023-07-18 18:33:49 749

原创 ElasticSearch学习(1) 基础操作

查询数据 类似 select * from t where name like '%zbf2%' 这里会分词 不同于mysql模糊查询。#精确查询 这里是terms select * from t where name in (zbf2,cc)我们的操作无非是增删改查, 增对的就是库表(index),字段名和属性(mapping),每一行的值(doc。ES首先是index 对应的是数据库,7以前有type的概念,7没有type的概念,也就是说现在ES7。一个库(index)只有一个表(type)。

2023-07-17 19:50:49 808

原创 flink-cdc之读取mysql变化数据

由于打印的日志太多 我们可以用fastjson稍微封装下 然后传给sink去处理,根据update delete insert实时更新下游数据。修改一条数据 age=1 ->age=2。

2023-07-13 19:15:05 1338

原创 flink启动报错Failed to construct kafka producer

目前是b的工程,那么会不会是jar冲突了,是自己工程冲突了 还是打的jar和flink_home/jar里的jar冲突了?本地起了一个sink2kafka的demo 也没问题,但是在服务器启动的时候就报错了,试了多次无果,开始分析报错原因。a喜欢打非依赖的jar的包,也就是flink的jar都不打进去,全放到服务器的flink_home/jar里。当时我最开始就考虑是jar包冲突,再看下是否冲突,突然想到一个问题,项目中的有两个人。b喜欢打全依赖的jar包,也就是所有flink的jar都打进去,然后执行。

2023-07-13 10:14:09 1789 1

原创 linux 读取文件,并输出含空格的每一行

我们需要分清楚在for循环的时候 $res /"$res" / echo "$res"/ echo $res 这几个区别。这个时候思考下 echo $res和 echo "$res"有啥区别。需求 输出三行 分别是 aaaa bbbb cccc。结果好像不对 好像把空格当作分割符了。OLDIFS="$IFS" #备份旧的IFS变量。IFS="$OLDIFS" #还原IFS变量。IFS=$'\n' #修改分隔符为换行符。咋一看很简单,实则里面有很多小问题。快速的写出for循环 结果。

2023-07-12 18:13:25 727

原创 java如何解析命令行参数

比如 class 是类名, deploy-mode 是部署方式 -conf 是配置文件,为什么别人的这么优雅,我们的这么丑陋!比如 java -jar xxx.jar args1 args2 ,这样没什么问题,但是很多时候这些参数只有我们自己知道。但是我们看好点的项目 例如datax flink,spark 等等 被人的熟知的项目 都是见名知意。可以将参数直接转化为list类型,或者map或者直接转化为一个pojo。很多时候我们的程序都是通过main方法启动,同时传入参数。说这么多还不如直接看官网。

2023-07-06 17:03:05 600

原创 oracle中的iw和ww学习

ww认为01月01日式今年的时间了,认为这个就是2023年的第一周,不管他是周天还是周六,它都属于2023年,

2023-06-13 18:47:06 783 1

原创 hive创建udf函数流程

- 这个属于额外的jar包 自己按需引用 比如你想搞得函数 里面要连接mysql 这里肯定需要引入mysql的驱动包 我这个包是为了计算字符串的表达式的。开始继承hive的udf接口,有很多小伙伴这个时候就喜欢看别人是怎么写的,这个时候就是体现个人差距的时候了,如何不看别人文档自己写呢?抄别人的 为啥不直接抄hive的呢?-- 这个只需provided即可,因为服务器有hive环境-->就是因为没加数据库的名字,反正建议各位加下。注意啊 这里加上数据库的名字,否则退出会话就没了。有精度误差,无伤大雅。

2023-06-09 16:03:18 932

原创 mysql之uniquekey学习。

个人猜想 因为null值代表一个未知的值 它和0 '' 空表示的意义不一样,0这种都是固定的值,而null代表一个不固定的值。uniquekey就真的是唯一键了吗?可以允许多个重复null值的存在,版本5.73。我插入了重复的数据 null 1 两条结果是成功。思考下null为什么允许重复插入呢?注意唯一键是score+name。插入'' ,1 两条失败。

2023-06-08 17:04:34 640

原创 hive中如何计算字符串中表达式

(4-3) 差分为 4-3结果为 4 + -3 因为括号前面是负号 改为 negtive(4) +negtive(-3)。'1+(2-3)+(-4.1-3.1)+13-(4-3)-(-3.3+4.3)-11' 如何拆分为下面的数组。结果 ["1","+(2-3)","+(-4.1-3.1)","-(4-3)","-(-3.3+4.3)"]前提式 只有+和-的运算,而且只有嵌套一次 -(4-3)没有 -(-4+(3-(3+1)))嵌套多次。结果 ["1","+(2-3)","+(-4.1-3.1)

2023-06-05 17:53:32 704

原创 linux学习之top命令详解

参考文章 https://blog.csdn.net/langzi6/article/details/124805024top​。

2023-06-05 14:31:25 675

原创 mysql版本升级导致的时区问题

在美国从东向西分别为东部时间(EST)(西五区时间)、中部时间(CST)(西六区时间)、山地时间(MST)(西七区时间)、太平洋时间(西部时间)(PST)(西八区时间)、阿拉斯加时间(AKST)(西九区时间)和夏威夷时间(HST)(西十区时间)从东向西分别为东部时间(EST)(西五区时间)、中部时间(CST)(西六区时间)、山地时间(MST)(西七区时间)、太平洋时间(西部时间)(PST)(西八区时间)。会有两个 2020-11-01 01:00:00~2020-11-01 02:00:00区间的时间。

2023-06-01 18:26:18 2881

原创 hive如何实现oracle的connect by prior函数

hive里添加py add file hdfs://s2cluster/tmp/hive/cc/cc.py;1.修改hive源码 注释如下,然后打包重新运行即可。大佬写的很详细,有兴趣自己看,但是存在一个问题。2.为什么会这里抛异常呢?我是用的使cdp的hive。复制好大佬的py文件 放到hdfs。使用transform函数。这个时候有两种解决办法。

2023-05-31 16:24:41 1023

原创 线程池各参数学习

线程池学习_alutimo的博客-CSDN博客尚硅谷java并发包JUC线程池部分学习总结老生常谈线程池的参数ThreadPoolExecutor.java 的构造器/***/: 核心池的大小,一直再线程池里,即使没活干。在创建线程池后,默认情况下线程池中没有一个线程,而是等待任务来后,才会创建线程去执行任务。除非调用了 prestartCoreThread()/prestartAllCoreThreads()

2023-05-26 17:52:38 806

原创 hive如何实现oracle中复杂的update sql

还有注意首年是没有上一年的比如2019年的上一年是2018年我们没有数据,所以lag需要有个默认值就是我们的自己本身 (当年+当年)/2=当年。这里update的具体含义是计算平均分,是当年的语文和数学的平均分 与 当年的语文和去年数学的平均分 这两个平均分的平均分。((YUWEN+SHUXUE)/2+((YUWEN+pre_shuxue)/2))/2 上面两个平均分的平均分。再看当前的shuxue和yuwen平均分与 当前的yuwen和去年shuxue的平均分。oracle的update。

2023-05-24 17:05:48 1129

原创 shell计算天数差和月份差和算季度

计算月份差echo $diffdate1=$1date2=$2计算天数差dayDiff.shday1=$1day2=$2echo $days。

2023-05-23 14:41:51 689

原创 oracle 学习之 unpivot/pivot函数及hive实现该功能

Oracle中pivot函数详解_实泽有之,无泽虚之的博客-CSDN博客pivot函数格式:pivot(聚合函数 for 需要转为列的字段名 in(需要转为列的字段值));pivot函数说明:实现将指定字段的值转换为列的效果。oracle 总转横函数,详解Oracle行列转换函数-pivot函数和unpivot函数-多智时代_吴寿鹤的博客-CSDN博客今天主要介绍一下Oracle行转列及列转行常见函数,下面一起来看看吧!

2023-05-15 17:10:33 4861

原创 flink内存参数配置学习

直接上官网配置 JobManager 内存 | Apache Flink配置 JobManager 内存 # JobManager 是 Flink 集群的控制单元。它由三种不同的组件组成:ResourceManager、Dispatcher 和每个正在运行作业的 JobMaster。本篇文档将介绍 JobManager 内存在整体上以及细粒度上的配置方法。本文接下来介绍的内存配置方法适用于 1.11 及以上版本。

2023-05-05 15:58:21 1937

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除