自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

mo

  • 博客(139)
  • 收藏
  • 关注

原创 详解Flink中yarn部署模式以及测试

在Flink中一共有三种部署模式,分别为local,standalone和yarn模式,由于前两者主要是用于开发和测试,本文将不再赘述,企业中用的更多的是yarn模式,关于yarn模式下为什么比standalon模式要好主要有一下几个方面1.资源按需使用,不会因为各自内置的调度争抢资源,在者类似于像spark,flink等框架他们的主要强大之处在于是计算,调度的话还是yarn是强项,从而可以提高集群的利用率。2.对于yarn来说,任务有优先级,根据优先级运行作业。3.基于Yarn调度系统可以自动化的处

2021-08-26 23:53:16 5484 2

原创 Xshell连接不上虚拟机的解决办法汇总

一:首先解决的关于ping的问题1.在虚拟机中ping百度看能不能先ping通,如果虚拟机连接不上网络的话Xshell肯定是连接不上的,如果有上述情况的请点击二:检查你虚拟机中防火墙是否关闭CentOs6中查看防火墙状态:service iptables status关闭防火墙:service iptables stop禁用防火墙:chkconfig iptables offCentOs7中查看防火墙状态:systemctl status firewalld.service关闭防火墙:

2020-12-06 09:47:14 99411 61

转载 解决myql Error Code : 1060 Duplicate column name ‘xxx‘ 问题

今天遇到了一个异常:mysql Error Code : 1060 Duplicate column name 'INNER_BUDGET_ID'  上网搜了搜:  这个错误是说有重复的字段ID了,当时以为是表的有重复字段或是数据中有重复ID数据了,其实不是,错误是在sql语句中,  select * from  (select a.INNER_BUDGET_ID,a...

2022-03-26 20:51:39 3876

原创 FileNotFoundError: [Errno 2] No such file or directory: ‘2017年01月.txt‘

看似是一个很简单的为题,其实还是自己太粗心了,特此记录一下。问题描述:在遍历文件夹下所有的json文件进行提取数据并写入到一个新文件时老是报如上错误,我就感觉很奇怪明明文件名都能读出来怎么处理就报错。刚开始时试着读取一下文件夹下的所有文件名没得问题:开始对json数据提取后就弹出来文件找不到:后来想了一会突然想到了原来是忘记了加绝对路径,因为每次读取的2017年01月.txt 2017年02月.txt … … 等文件,处理的时候python哪知道这些文件在哪里,所以要把最初的文件夹路径加上

2022-03-22 15:34:56 1462

原创 python遍历文件夹下所有文件对json数据进行处理

最近遇到了一个需求是解析文件夹下所有的json文件,如下所示为数据目录,每个子文件下各存入了17年到21年的空气质量数据。原始数据是这种json格式的以黄山 2020年10月做一个引例:{"title": ["\u65e5\u671f", "\u8d28\u91cf\u7b49\u7ea7", "AQI\u6307\u6570", "\u5f53\u5929AQI\u6392\u540d", "PM2.5", "PM10", "So2", "No2", "Co", "O3"], "data": {"2

2022-03-22 15:18:41 4265

原创 解决xlsx格式文件转换为csv格式文件乱码问题

问题描述如图所示,我是打算将xlsx格式的文件转换为csv格式,打开csv文件时出现了乱码的问题,于是我将xlsx数据用sublime打开可以看到数据的分隔符是清一色的tab键,转成csv的话需要将tab键换为 ,对于下面的Replace的话如果要是想替换为空格可以直接按空格键或者是 . 这里我是换为csv文件所以直接用 , 替换。...

2022-03-10 13:29:11 2683

原创 Flink流处理Window API之窗口函数

接上篇Flink中流处理之Window,上节中我们提到了可以为窗口设置滚动窗口,滑动窗口等,在设置后其实不能就这样结束了,我们还需要在窗口中指定如何计算,从而引入了窗口函数的概念,一旦窗口关闭, window function 去计算处理窗口中的每个元素.window function 定义了要对窗口中收集的数据做的计算操作,主要可以分为两类(注意在使用窗口函数之前一定需要KeyBy分组):增量聚合函数每条数据到来就进行计算,保持一个简单的状态。典型的增量聚合函数有ReduceFunction,

2021-09-06 21:01:04 218

原创 Flink中Transform操作之union和connect

关于Transform中的union操作:对两个或者两个以上的相同类型的DataStream进行union操作,产生一个包含所有DataStream元素的新DataStream例如:将3个通类型的流进行合并DataStreamSource<Integer> stream1 = env.fromElements(1, 2, 3, 4, 5);DataStreamSource<Integer> stream2 = env.fromElements(10, 20, 30, 40,

2021-09-03 22:49:45 581 1

原创 Flink读取Kafka Source中数据做WordCount

添加相应的依赖:<dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-connector-kafka_2.11</artifactId> <version>1.12.0</version></dependency>pom文件<?xml version="1.0" encoding="UTF-8

2021-09-03 20:41:05 244

原创 Error while executing topic command : replication factor: 3 larger than available brokers: 0

刚才创建kafka的Topic时,突然弹出以下出错翻译以下错误信息可以得到集群中可利用的kafka数量为0,但是需要的副本因子为3,既然可利用的kafka的数量为0是不是我没有开启kafka集群,jps查看了一下果然忘记开启kafka了,然后启动集群中所有的kafkabin/kafka-server-start.sh -daemon config/server.properties再次执行上述的创建topic语句可以看到没有任何问题了.但是关于上述的Error while executing

2021-09-03 17:47:27 2758

原创 mysql中日期处理函数TIMESTAMPDIFF与DATEDIFF

先来说下DATEDIFF函数,这个函数主要就是用来返回两个日期之间的天数。mysql> SELECT DATEDIFF('2021-08-12','2021-08-13');+-------------------------------------+| DATEDIFF('2021-08-12','2021-08-13') |+-------------------------------------+| -1 |+---

2021-08-31 15:59:34 522

原创 Flink运行架构之对Flink中的Slot概念的理解

在讲Slot之前建议先看上文https://blog.csdn.net/weixin_44080445/article/details/120008414翻译官网可以得到如下内容1.Flink中每一个worker(TaskManager)都是一个JVM进程,它可能会在独立的线程上执行一个Task。为了控制一个worker能接收多少个task(这里的task可以理解为上文里面经过合并后subtask的数量),worker通过Task Slot来进行控制(一个worker至少有一个Task Slot)。

2021-08-31 10:58:53 1541

原创 Flink运行架构之运行时组件

Flink运行时架构主要包括四个不同的组件,它们会在运行流处理应用程序时协同工作:其中包括作业管理器(JobManager)、资源管理器(ResourceManager)、任务管理器(TaskManager),以及分发器(Dispatcher)。JobManager:控制一个应用程序执行的主进程,也就是说,每个应用程序都会被一个不同的JobManager 所控制执行.接收到要执行的应用程序,这个应用程序会包括:作业图(JobGraph)、逻辑数据流图(logical dataflow gra

2021-08-31 10:10:28 311

原创 详解clickhouse中的物化视图

在讲物化视图前,我们先来回顾一下什么是视图:视图是由若干个字段以及若干条记录构成(也常称为虚标),它与表有很多相似的地方,视图中的数据源来自于原表,视图本身不存储数据,视图它保存的仅仅是一条select语句,并没有保存真正的数据。那什么是ck中的物化视图呢 :物化视图是包括一个查询结果的数据库对象,它是远程数据的的本地副本,或者用来生成基于数据表求和的汇总表。物化视图存储基于远程表的数据,简单的来理解就是它在普通视图的基础上加上了视图中select后所存储的数据.CK中物化视图的基本语法:CRE

2021-08-19 16:36:17 10301 1

原创 clickhouse中数据的TTL

TTL:Time To Live,MergeTree提供了可以管理数据表或者列的生命周期的功能,TTL用于设置值的生命周期,它既可以为整张表设置,也可以为每个列字段单独设置。表级别的 TTL 还会指定数据在磁盘和卷上自动转移的逻辑。要定义TTL,必须要使用时间间隔操作符,如下所示TTL date_time + INTERVAL 5 SECONDSTTL date_time + INTERVAL 15 HOURTTL date_time + INTERVAL 1 MONTH要想在建表时使用TTL,则

2021-08-17 23:58:25 6310

原创 clickhouse之表引擎

clickhouse同mysql一样,有着属于自己的很多引擎。表引擎(即表的类型)决定了:数据的存储方式和位置,写到哪里以及从哪里读取数据支持哪些查询以及如何支持。并发数据访问。索引的使用(如果存在)。是否可以执行多线程请求。数据复制参数。对于ck来说,目前位置包含了以下部分引擎:1.集成外部系统的表引擎,支持方式有kafka,JDBC,ODBC,HDFS等2.合并树家族(最为常用且重要)3.日志家族4.一些特别的表引擎,如字典,视图,集合,合并等。1.TinyLog(很少

2021-08-16 23:26:52 843

原创 clickhouse多维分析之rollup,cube操作

首先先说明一下何为rollup与cuberollup:字面意思为上卷,是GROUP BY子句的一种扩展,生成的结果集显示了所选列中值的某一层次结构的聚合,从右至左去掉维度进行小计。例如group by中有三个维度a,b,c 那么生成的结果则是包含下面的四种情况cube:也是GROUP BY子句的一种扩展,可以返回每一个列组合的小计记录,生成的结果集显示了所选列中值的所有组合的聚合,结果集的总数为2的n次方,其中n为维度的个数。对于cube来说,例如group by中有三个维度a,b,c 那么

2021-08-11 22:31:46 4395

原创 一文搞定clickhouse集群安装部署

clickhouse安装部署教程部署前准备工作1.关闭防火墙2.取消打开文件数和进程数限制3.安装依赖4.关闭selinux部署前准备工作1.关闭防火墙关闭防火墙:systemctl stop firewalld.service查看防火墙:systemctl status firewalld.service2.取消打开文件数和进程数限制先看一下系统默认的文件数和进程数分别为1024和4096,因为Clickhouse是特备耗CPU性能的,在查询的过程中可能会遇到进程数增加等情况,所以我们先把文件

2021-07-31 20:22:33 1011

原创 OLTP, OLAP, 即席查询(ad hoc query)区别与联系

对于目前来讲,对数据的处理主要集中在两个方面,一种是联机事务处理OLTP(on-line transaction processing),另一种是联机分析处理OLAP(On-Line Analytical Processing)。OLTP:是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,典型的是银行ATM存取款,金融证券方面的实时更新等,这些操作都比较简单,主要是对数据库中的数据进行DML操作,操作主体一般是产品的用户,并且OLTP事务性非常高,一般都是高可用的在线系统,如上述的银行金融方面

2021-07-28 16:55:22 3875 1

转载 Superset 访问时出现Internal Server Error

鼓捣了一天多的时间,superset 始终打不开 一开始怀疑是环境的问题,因为虚拟机拷贝到过硬盘一次,重新拷贝到电脑发现vmware authorization service 服务找不到了,重新安装了一下虚拟机,配置了网络。 然后,按照官网,和网上的文档一步一步操作,莫名其妙的各种异常。 [2020-07-08 14:04:17 +0800] [13915] [ERROR] Error handling ...

2021-07-27 09:30:18 622

原创 关于sql中group by语法的一个知识点

group by对数据进行分组并且常常与一些聚合函数进行使用,这里不再赘述,想说的一点就是对于类似于下面的形式假设我table里面有三个字段,分别是cola,colb,colcselect '2020-03-10', cola, count(colb), colcfrom table group by colasql中有个规定就是一般加上group by后,select后面的字段可以是下面是那种情况, 1:常量 2:和group by后面字段名一样的字段,

2021-07-09 10:16:38 139

原创 一文搞定hive2.3集成tez引擎

在集成tez之前,我们先来安装一下Hive1.解压tar包到指定的目录[mo@node102 software]$ tar -zxvf apache-hive-2.3.6-bin.tar.gz -C /opt/module/2.将mysql的jar包拷贝到hive的lib目录下cp /opt/software/mysql-libs/mysql-connector-java-5.1.27/mysql-connector-java-5.1.27-bin.jar /opt/module/hiv

2021-06-19 15:54:44 459

原创 hive中如何实现group_concat函数

上节说到在mysql中我们很容易使用group_concat(具体用法)但是在hive中很遗憾的是没有这个函数那我们如何在不使用UDF函数的情况下使用它呢: 那就是使用hive中自带的collect_list/collect_set加上concat_ws函数关于collect_list/collect_set的区别请参考下此篇文章https://blog.csdn.net/LINBE_blazers/article/details/89198019直接上实例,先看一下我们的表数据和字段结构我们

2021-06-19 15:31:34 5450

原创 详解mysql中concat,concat_ws,concat_group函数

1.concat:英文意思为连接,联系 :作用是连接多个字符串使之拼接成一个字符串函数用法:concat(str1,‘所要连接的字符’,str2)先来看一下stu表的数据使用concat函数连接name,subject和score字段函数特点:concat函数在连接字符串的时候,只要其中一个是NULL,那么将返回NULL.2.concat_ws函数(concat with separator(分隔符))函数用法:concat_ws(separator, str1, str2, str

2021-06-18 20:26:36 2000

原创 一遍就成功的Linux下安装mysql5.x

申明:本人用的Linux是系统是Cent os7系列,mysql的安装包为5.5系列mysql的RMP包安装下载地址https://downloads.mysql.com/archives/community/1.检查本地是否安装过其他版本的mysql此时我们将Linux系统自带的maria删掉2.安装mysql的server端和client端。如果都安装成功的话可以看到mysql的版本信息.3.设置mysql的自启动服务1)首先我们开启mysql的服务service mysql

2021-06-02 10:29:23 227

原创 File “/usr/bin/yum“, line 30,except KeyboardInterrupt

yum安装nc时报错如下:原因:这是因为yum采用python作为命令解释器,原来系统自带的python解释器为python2.7,然后我之前为了方便将python默认的解释器设为了python3.6,导致按python3.6解析2.7的语法出错了。解决办法:1.查看本机自带的python版本,cd /usr/bin/ | find python*2.vi /usr/bin/yum文件,找到第一行/usr/bin/python,在后面添加上你的python2.x的版本,因为我上面的是2.

2021-06-02 10:25:04 97

原创 IDEA中打jar包的两种方式

在讲这两种方式之前,我们先来说明一下什么是java中的jar文件jar (Java Archive File),翻译过来就是java的档案文件,它其实也类似于我们windows下的zip文件,唯一的区别就是在 JAR 文件的内容中,包含了一个 META-INF/MANIFEST.MF 文件,这个文件是在生成 JAR 文件的时候自动创建的,包含了JAR包的描述信息、主类的全类名等信息。一:1.File -->Project Structure -->Artifacts -->

2021-05-20 23:39:36 31665 22

原创 Linux下执行jar包出错:Error: Could not find or load main class解决办法

问题描述: Linux下执行jar包时候报错,找不到或无法加载主类.解决办法:1.将当前目录加入系统变量CLASSPATH,系统才能找到当前目录下的Java类 , vi /etc/profile ,按照将jar包的目录加到PATH中,保存退出后source /etc/profile让文件生效。2.由于本人项目中使用的是maven环境,当时在IDEA中运行代码后就直接进行package了,没有进行compile,确实忘记compile了,怪不得每次都报错,可以删除之前的jar包重新编译.

2021-05-20 20:59:10 22836

原创 linux下/etc/sudoers文件是只读的解决方案

在使用vi命令编辑/etc/sudoers文件时发现他只是一个文件,本来我的目的是在## Allow root to run any commands anywhereroot ALL=(ALL) ALL下添加一个mo用户使得为mo赋予不用输入密码的权利。发现这个文件是只读的 这时候想着要不然改一下脚本的权限,到时毕竟涉及到系统方面的,在改权限之前我又去网上查了一波,发现确实没有自己想的那么简单,因为改完权限后会导致其他问题,所以此办法作废,但是突然我看到了这个文件的第8行有这样

2021-05-20 20:00:52 8812 2

原创 /usr/bin/ssh-copy-id: ERROR: ssh: Could not resolve hostname node103: Name or service not known

搭建hadoop集群时将node102的公钥拷贝到node103时报错,从报错信息来看是不能解析主机名node103.解决办法:在集群上的所有机器上执行vi /etc/hosts在127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6这两行下面添加对应的主机名和I

2021-05-16 10:14:35 5195

转载 Spark-SQL之Hive交互|使用内嵌Hive|外部Hive应用|运行Spark SQL CLI|代码中操作Hive

Hive交互 Apache Hive 是 Hadoop 上的 SQL 引擎,Spark SQL编译时可以包含 Hive 支持,也可以不包含。 包含 Hive 支持的 Spark SQL 可以支持 Hive 表访问、UDF (用户自定义函数)以及 Hive 查询语言(HiveQ...

2021-05-12 20:20:40 282

原创 spark sql处理日志的案例

题目要求数据集部分预览pom文件:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://m

2021-04-21 21:22:54 2492 4

原创 AccessControlException: Permission denied: user=Administrator, access=WRITE, inode=“/user/out1/_temp

报错信息Exception in thread "main" org.apache.hadoop.security.AccessControlException: Permission denied: user=Administrator, access=WRITE, inode="/user/out1/_temporary/0":root:supergroup:drwxr-xr-x at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecke

2021-04-21 19:59:09 1407

转载 非常详细的Redis面试题(2021最新版)

文章目录 概述什么是RedisRedis有哪些优缺点为什么要用 Redis /为什么要用缓存为什么要用 Redis 而不用 map/guava 做缓存?Redis为什么这么快 数据类型Redis有哪些数据类型Redis的应用场景 持久化什么是Redis持久化?Redis 的持久化机制是什么?各自的优缺点...

2021-04-13 16:23:01 297

原创 redis04:详解redis中持久化技术之RDB与AOF

.

2021-03-31 18:24:30 124

原创 redis03: redis3.x版本中redis.conf常用配置详解

1.units,在redis中k与kb,m与mb等并不相同,并且在redis中不区分大小写.2.################################ GENERAL #####################################daemonize yes 是否在后台执行,默认情况下redis 不是作为守护进程运行的,如果你想让它在后台运行,你就把它改成yes。port 6379 redis启动时的监听端口号.tcp-backlog 511 设置tcp的ba

2021-03-30 17:28:43 116

原创 scala中的split函数切分 . 字符问题

刚才对kafka的数据流进行处理时发现一个很奇怪的事情,就是在scala中split函数对于以 . 为切割符时返回的竟然是个空值,我当时就感觉很奇怪,因为在python中明明是可以的,而且不需要进行转义。scala:python:我又测试了scala中其他的分隔符,发现切割不了的应该都需要转义一下,可能在python对split方法进行了一个改写,所以对于很多的字符都是直接分割,不需要进行转义.下面列举了一些在java或是scala中常见的需要转义的特殊字符序号作用

2021-03-10 21:31:15 1948 1

原创 redis02: Redis五种常用数据结构以及命令行操作

对于Redis中的数据,总体上是键值对,不同数据类型指的是键值对中值的类型值的类型关于key命令作用DEL key该命令用于在 key 存在时删除 keyEXISTS key检查给定 key 是否存在MOVE key db将当前数据库的 key 移动到给定的数据库 db 当中TYPE key返回 key 所储存的值的类型SET key value设置一个kv键值对1.String类型:Redis中最基本的类型,它是key对应的一个单一值。二进制

2021-02-26 20:57:07 180

原创 redis01: redis简单入门介绍与安装

一:什么是redis?1.Redis是一个开源的底层使用C语言编写的支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,归属于nosql(Not Only Sql)中的KV键值类型,是当前最热门的NoSql数据库之一,也被人们称为数据结构服务器。2.它支持多种类型的数据结构,如字符串(strings),散列(hashes),列表(list),集合(sets),有序集合(sorted sets). Redis 内置了复制(replication),LUA脚本(Lua scri

2021-02-25 22:02:31 119

原创 flink读取kafka实时数据sink到mysql(scala版)

pom文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/x

2021-01-31 21:43:26 1038 2

空空如也

空空如也

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

TA关注的人

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