- 博客(72)
- 资源 (1)
- 收藏
- 关注
原创 spark案例——wordcount
local本地模式添加pom依赖<properties> <scala.version>2.12.0</scala.version> </properties><dependencies> <dependency> <groupId>org.scala-lang</groupId> <artifactId>scala-library</arti
2021-10-09 10:49:59
601
原创 大数据常用工具类——redisUtil
redis工具类一、所需pom依赖 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.7.0</version> </dependency> <dependency> <groupId>org
2021-10-02 15:29:09
860
原创 spark优化
1 Spark参数优化Executor端的内存主要分为三块:第一块就是让Task执行我们自己编写的代码时使用,默认占用总内存的20%;第二块是让task通过shuffle过程拉取上一个stage的task的输出后,进行聚合等操作时使用,默认也是占用总内存的20%;第三块是让RDD持久化时使用,默认占用总内存的60%。1.1 num-executors参数建议:一般每个Spark作业的运行一般设置50~100个左右的Executor进程比较合适,设置太多和太少都不合适,太少的话,无法有效充分利用集
2021-09-20 16:06:24
825
原创 Spark常见问题整理--面试前必看
一、job、stage、Task之间的关系是什么?一个job可以包含多个stage一个stage包含多个task二、job、stage、Task之间的关系是什么?每提交一个任务,就会创建一个job,即调用action算子的时候会创建job【当调用算子之后返回值不是RDD类型的就可以归为Action算子】根据宽依赖和窄依赖划分stage,如果是宽依赖,就新增一个stageTask数量实际上就是分区的数量三、什么是宽依赖、窄依赖?如果一个父RDD分区被多个子RDD的分区使用,就
2021-09-20 16:00:42
1069
原创 Flink的安装部署及WordCount测试
一、本地模式在本地以多线程的方式模拟Flink中的多个角色。(开发环境不用)下载地址:https://flink.apache.org/downloads.html这里下载的是:flink-1.13.0-bin-scala_2.12.tgz上传到常用的位置,然后解压。启动:切换到flink的bin目录下,执行./start-cluster.sh,然后查看进程。二、Standalone 独立集群模式(如果先做了第一步,记得先停止服务,stop-cluster.sh)上传、解压tar包。
2021-09-19 17:45:30
2818
原创 Flink必知必会的重要基本知识
一、Flink基本知识1.1、Flink介绍Apache Flink 是一个框架和分布式处理引擎,用于在无界和有界数据流上进行有状态计算。Flink 官网:https://flink.apache.org/Flink 的中文官网:https://flink.apache.org/zh/1.2、有界与无界1.2.1、有界数据集有头有尾。处理的数据一定会在某个时间范围内,有可能是一天,也有可能是一分钟,像这样有开始有结束的数据集,叫做有界数据集。对有界数据集的处理叫批处理。1.2.2、无界数据集
2021-09-19 12:15:37
2089
原创 hive储存与压缩
Hive支持的储存格式主要有:textfile(行列存储)、sequencefile(行列存储)、ORC(列式存储)、parquet(列式存储)1.1、行式存储和列式存储 左图为逻辑表,右边第一个为行式存储,第二个为列式存储**行式存储的特点:**查询满足条件的一整行数据的时候,列存储需要每个聚集的字段找到对应的每个列的值,行存储只需要找到其中一个值,其余的值都在相邻的地方,所以此时行存储查询的速度更快。 select * 效率高 。**列存储的特点:**因为每个字段的数据聚集存储,在查
2021-09-14 17:14:37
1254
原创 druid--JDBC工具类案例
什么是Druid? Druid是一个高效的数据查询系统,主要解决的是对于大量的基于时序的数据进行聚合查询。数据可以实时摄入,进入到Druid后立即可查,同时数据是几乎是不可变。通常是基于时序的事实事件,事实发生后进入Druid,外部系统就可以对该事实进行查询。 目前常用的数据源主要有c3p0、dbcp、proxool、druid。Druid特点: 亚秒级查询:druid提供了快速的聚合能力以及亚秒级的OLAP查询能力,多租户的设计,是面向用户分析应用的理想方式实时数据注入:druid支持流数据的
2021-09-13 16:38:38
2275
原创 pip3安装requests库-最全踩坑整理
pip3 install requests的时候,遇到了好多坑,现在总结一下。愿你用不上。一、ssl module in Python is not available这是第一个问题安装opensslyum install opensslyum install openssl-devel重新源码安装./configure --prefix=/usr/local/python3/ --enable-shared --enable-loadable-sqlite-extensions ma
2021-09-05 21:13:59
5120
1
原创 HBase基本知识
定义HBase是一种分布式、可扩展、支持海量数据存数的NoSQL数据库。HBase数据模型HBase的数据模型与关系型数据库类似,数据存储在一张表中,有行有列,但是HBase的底层物理结构是(K-V)。使用HBase的情况当满足以下情况的时候,使用HBase,才能发挥它的作用表单的数据量超千万,且并发挺高数据分析需求较弱,或者不需要那么灵活和实时HBase的优缺点优点列可以动态增加,并且列为空就不存储数据,节省存储空间。Hbase自动切分数据,使得数据存储自动具有水平scalabili
2021-08-31 20:02:52
2127
原创 Kylin JDBC使用案例
一、新建空的maven工程二、在项目中导入依赖<dependencies> <dependency> <groupId>org.apache.kylin</groupId> <artifactId>kylin-jdbc</artifactId> <version>3.0.2</version> </dependency></d
2021-08-19 19:41:04
853
原创 MySQL详细知识点总结[转载]
MySQL详细知识点总结一、windows服务-- 启动MySQL net start mysql-- 创建Windows服务 sc create mysql binPath= mysqld_bin_path(注意:等号与值之间有空格)二、连接与断开服务器mysql -h 地址 -P 端口 -u 用户名 -p 密码SHOW PROCESSLIST -- 显示哪些线程正在运行SHOW VARIABLES -- 显示系统变量信息常用mysql -u 用户名 -p 密码的方式
2021-08-15 16:44:49
790
原创 hive窗口函数及示例
窗口函数 其实只有over()才是真正的窗口函数,只是over常于其他函数组合使用,采用强大的效果。一、over()的语法分析函数 over(partition by 列名 order by 列名 rows between 开始位置 and 结束位置)1.1、窗口控制,既window子句over(partition by col order by 排序字段 rows between 1 preceding and 1 fllowing)二、常用窗口函数sum(col) over()
2021-08-10 19:07:53
1338
原创 MySQL函数汇总
MYSQL函数整理一、数学函数ABS(x)返回x的绝对值select abs(-123); 123BIN(x)返回x的二进制(OCT返回八进制,HEX返回十六进制)select bin(3) ;11 CEILING(x) 、CEIL(x)返回大于x的最小整数值,两个函数作用相同select ceiling(3.14),ceil(3.14);4,4EXP(x)返回值e(自然对数的底)的x次方select exp(2); 7.38905609893065
2021-08-08 13:37:48
1147
原创 hive函数汇总
Hive函数一、关系运算1、等值比较: =语法:A=B操作类型:所有基本类型描述: 如果表达式A与表达式B相等,则为TRUE;否则为FALSEselect 1 =1 as rst;+-------+| rst |+-------+| true |+-------+2、不等值比较:< >语法: A <> B操作类型: 所有基本类型描述: 如果表达式A为NULL,或者表达式B为NULL,返回NULL;如果表达式A与表达式B不相等,则为TRUE;否则
2021-08-07 19:02:36
1359
原创 谈谈MySQL查询优化
1、硬件优化一般来讲,硬件的优化是成本最高效果最差的,服务器性能对数据库的读写能力的影响尤其体现在磁盘I/O上。mysql数据库频繁的CURD操作是十分吃磁盘I/O的,一般可以认为磁盘I/O是硬件方面制约mysql数据库性能的最大因素。解决方法:目前一般使用RAID0-1磁盘阵列来解决。2、储存引擎在 MySQL 中有两个存储引擎 MyISAM 和 InnoDB,每个引擎都有利有弊。MyISAM管理非事务表。它提供高速存储和检索,以及全文搜索能力。 适合于一些需要大量查询的应用,但其对于有大量写操
2021-07-15 08:43:44
1925
原创 scala集合算子大全及分类汇总——倾心整理
++合并集合,返回新的数组val arr1=Array(1,2,3)val arr2=Array(4,5,6)val arr3=arr1++arr2arr3.foreach(println)//结果123456++:合并集合,右边的集合决定返回的类型这个方法,不能在Ideal中运行,只能在虚拟机的scala中执行+:在集合的头部添加元素,一次只能加一个元素,可以叠加使用val arr1=Array(1,2,3)val arr3 = 1 +: arr1arr3.for
2021-07-14 22:13:46
2434
原创 sqoop常用模板案例整理
使用sqoop导入/导出数据首先,导入和导出是相对与hdfs来说的,将数据添加到hdfs中,称之为导入import;反之为导出export。导出(导出到MySQL)需要准备要数据和MySQL表#数据1 sunwukong male2 qiqi female3 beijita male4 buerma female5 kelin male6 bike male--建表create table sqp_people(id int,name varchar(20),gender v
2021-07-06 19:03:35
1334
原创 flume快速入门及常用案例整理
flume快速入门及常用案例整理flume概述1.1flume定义flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,flume基于流式架构,灵活简单Flume最主要的作用就是,实时读取服务器本次磁盘的数据,讲数据写入到HDFS。1.2flume基础架构Agent Agent是一个JVM进程,它是以事件的形式讲数据从源头送至目的。 Agent主要有三个组成部分:Source,Channel,SinkSourceSource是负责接受数
2021-07-06 17:09:39
1266
原创 java操作HBase模板
使用idea建立quickstart模板的Maven工程自动导包后,删除不需要的testps:把工程的三个地方的jdk统一成1.8版本在pom.xml里添加如下依赖: <dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-client</artifactId> <version>2.3.5</version
2021-06-29 19:47:54
1084
原创 Hadoop必知必会——重要部分整理(二)
上一篇的传送门:Hadoop必知必会——重要部分整理(一)一、HDFS在读文件时,如果一个块突然坏了客户端读取完DataNode上的块之后会进行checksum验证,就是把客户端读取到本地的块与HDFS上的原始块进行校验,如果发现校验结果不一致,客户端会通知通知NameNode,然后再从下一个拥有该block副本的DataNode继续读。二、HDFS在上传文件的时候,如果其中一个DataNode突然挂掉了客户端上传文件时与DataNode建立pipeline管道,管道正是向客户端DataNode发送
2021-06-29 16:32:24
1138
原创 Hadoop必知必会——重要部分整理(一)
一、hadoop mapreduce工作原理1、在MapReduce程序读取文件的输入目录上存放相应的文件。2、客户端程序在submit()方法执行前,获取待处理的数据信息,然后根据集群中的参数配置形成一个任务分配规划。3、客户端提交切片信息给Yarn,Yarn中的resourcemanager启动MRAPPmaster。4、MrAPPmaster启动后根据本次job的描述信息,计算出需要maptask实例对象,然后向集群申请机器启动相应数量的maptask进程。5、Maptask利用客户端指定
2021-06-29 16:26:14
1297
1
原创 HDFS读写流程图文详解,及职责详解
1、写数据流程(1) 客户端client通过Distributed FileSystem模块向NameNode请求上传文件,NameNode会检查目标文件是否已经存在,父目录时候存在。(2) NameNode会返回是否可以上传,如果不可以上传则返回异常。(3) 当确定可以上传是,客户端client会请求第一个block上传到哪几个datanode服务器上。(4) NameNode会返回3个DataNode节点,设计为dn1,dn2,dn3(5) 客户端client会通过FSDataOutputS
2021-06-18 10:55:48
2105
原创 MySQL索引知识 一文全了解,面试前必备
索引索引(index)是帮助MySQL高效获取数据结构。索引的本质:索引是数据结构,索引的目的是提高查询效率,可以类比新华字典的拼音部分目录,可以根据目录快速定位到每个字的地址。加入没有目录。就需要把字典从头翻到尾,遍历一遍。索引的优劣索引的优势 提高数据检索的效率,降低数据库IO成本 通过索引对数据进行排序,能够降低排序成本,降低CPU的消耗 在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间索引的劣势 要创建和维护索引都需要消耗时间和物理空间,这些
2021-06-18 10:09:49
1089
原创 VMware15安装CentOS7图解详细安装,以及Linux初始化连接xshell
一、安装虚拟机1、创建新的虚拟机这里虚拟机的名称和位置根据自己喜好和需求来定处理器数量根据自己电脑配置决定,可以分物理机一半的核数给虚拟机,我这里是新建一个测试用虚拟机,因此只写了2。一般每个处理器的内核数量都是2内存大小根据自己物理机情况写,可以给物理机一半的内存条,如果那是16G内存条,可以给8G内存以下几步直接下一步就行这里磁盘大小也根据自己情况而定,例如我把虚拟机放在了物理机F盘,F盘有100G,而且我的F盘不做其他用,就可以选择60-80G这里不用操作,直接下
2021-06-05 14:03:07
1922
4
原创 JAVA集合练习——集合的嵌套
问题一创建一个ArrayList集合, 存储E个元素,每个元素都是HashMap, 每一个HashMap的键和值都是String, 并遍历。//这里建了一个Student类,有姓名和年龄属性,由于较为简单,因此未放代码,下一题也是如此。 ArrayList<HashMap<Student,String>> list = new ArrayList<>(); //为了操作简单,只在list里写了两个HashMap,每个HashMap里也只写了三个。
2021-04-27 20:58:05
843
原创 Java集合练习——用集合模拟斗地主发牌
斗地主需要实现洗牌,发牌,三个玩家看牌需求分析1、需要有一个牌堆,用于存放所有的牌2、三个玩家各有一个集合,用于放自己的牌3、把牌打散后,分别给三个玩家4、三个玩家分别遍历自己的牌(为了便于检查,可以遍历牌堆还剩什么牌)开始敲代码: //存放牌堆 ArrayList<String> list = new ArrayList<>(); //扑克牌除了大小王之外,四种花色 分别从2-A,用两个数组模拟 String[] color
2021-04-24 19:04:49
1091
原创 使用二分查找猜数字
系统生成一个随机数,利用二分法进行查找,并记录次数。代码及分析如下: //生成随机数 Random rand = new Random(); int ans= rand.nextInt(100); int begin=0,end=100,mid,count=0; while (true){ //中间值用于表示猜的数 mid=(begin+end)/2; //记录猜测的次数
2021-04-18 19:30:23
970
原创 根据年、月,生成该月日历 以及根据年份生成年历
求指定日期是星期几,首先已知1900年一月一日 星期一,求上个月最后一天是星期几。即计算指定提起距离1900年1月1日 余7得出是星期几//可以先用固定的日期,以2021年4月为例,也可以增加从控制台输入int year =2021,month = 4,total = 0,weekday; //先计算整数年的天数 for (int i=1900;i<year;i++){ //闰年和平年的天数不同 total+= i%4==
2021-03-30 22:51:36
1270
原创 随机数生成六个不重复的两位数的数组
生成六个不重复的两位数的数组解析:1、长度为6的数组。2、六个数需要不重复,即每个都不同=> 每一次生成的数都要和之前的数字对比,如果重复则重新生成,如果不重复则保留到数组中。 Random rand = new Random(); //数组的长度是确定的 int[] arr = new int[6]; for (int i = 0,j,temp; i <arr.length ; ) { //先随机生成一个数,如果这个数符合
2021-03-30 17:18:50
1733
原创 用Java写水仙花数--一/两次循环
//水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身//输出所有的水仙花数public class shuixianhuashu{ public static void main(String[] args){ int count = 0;//计数器 for(int i = 100;i <1000;i++){ //分别提出这个三位数的每一个数字 int a = i / 100;//百位数字 int b = (i-100*a)/10;//十位数字
2020-12-03 15:12:45
893
flink-sql-connector-mysql-cdc-2.2.0.jar
2022-11-18
mysql2hbase.7z
2021-07-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅