- 博客(65)
- 资源 (6)
- 收藏
- 关注
原创 spark-submit源码流程分析
spark在yarn上的源码分析比较绕,自己做了一个xmind文档,尽量去说清楚其中的执行流程,希望能起到抛砖引玉的作用。
2021-03-15 18:32:21 99
原创 spark源码分析之submit的提交过程(二)
spark源码分析之submit的提交过程(二)此文接上文spark源码分析之submit的提交过程(一)5.接下来执行mainMethod.invoke(null, childArgs.toArray)也就是执行org.apache.spark.deploy.yarn.Clientdef main(argStrings: Array[String]) { if (!sys.props.contains("SPARK_SUBMIT")) { logWarning("WARNI
2021-03-11 20:20:02 255
原创 spark源码分析之submit的提交过程(一)
spark源码分析之submit的提交过程1.当我们向集群提交如下命令bin/spark-submit \--class com.wt.spark.WordCount \--master yarn \WordCount.jar \/input \/output2.启动脚本调用的是spark-submit,因此我们直接去看spark-submit脚本# -z是检查后面变量是否为空(空则真) shell可以在双引号之内引用变量,单引号不可#这一步作用是检查SPARK_HOME变量
2021-03-11 18:37:08 596
转载 Excel通过Navicat导入MySQL时中文编码和日期的问题汇总
问题描述1、中文乱码2、导入时报[ERR] 1366的错误。如果中文字段是主键则会因为乱码导致不唯一报[ERR] 1062的错误3、在Excel中日期格式为“年/月/日”,使用Navicat V11导入时按照“YMD”格式会出现日期计算错误,出现结果都为“1900-01-01”这样的错误。但是,在Navicat V15上未见这个错误。问题解决1、MySQL中文编码的问题,可以参考《彻底解决mysql中文乱码》设置,建议设置为utf8。其实,不论是数据库连接,还是表格编码也建议设置为uft8。当然
2022-04-06 19:44:20 1085
原创 HbaseUtils
public class HbaseUtils { // 创建hbase配置对象 private static Configuration conf = HBaseConfiguration.create(); // 通过连接工厂创建连接对象 private static Connection conn = null; // 获得table对象 private static Table table = null; //create 'apperro
2021-03-17 14:35:24 325
原创 Kafka工作流程以及文件存储机制分析
Kafka工作流程分析Kafka中消息是以topic进行分类的,生产者生产消息,消费者消费消息,都是面向topic的。topic是逻辑上的概念,而partition是物理上的概念,每个partition对应于一个log文件,该log文件中存储的就是producer生产的数据。Producer生产的数据会被不断追加到该log文件末端,且每条数据都有自己的offset。消费者组中的每个消费者,都会实时记录自己消费到了哪个offset,以便出错恢复时,从上次的位置继续消费。文件存储机制由于生产者生产的
2021-03-16 15:07:06 132
原创 PropertityUtils代码
public class PropertityUtils { //这个配置工厂可以获得我们写的.properties中的所有文件中的信息 public final static Config config = ConfigFactory.load(); //从配置 根据key 获取到 value public static String getValue(String key) { return config.getString(key).trim();
2021-03-15 11:45:58 94
原创 Hadoop运行环境搭建
Hadoop运行环境搭建1.虚拟机环境准备克隆虚拟机 ->快照->快照管理->拍摄快照->克隆修改克隆虚拟机的静态IP提示:克隆后的虚拟机,新产生了一个mac地址 vim /etc/udev/rules.d/70-persistent-net.rules 1. 删除eth0这一行 2. 将新产生mac地址所在行的eth1改成eth0 3. 复制新产生的mac地址 vim /etc/sysconfig/network-scripts/ifcfg-et
2021-03-10 22:43:25 113
原创 HDFS的Shell操作
HDFS的Shell操作在hadoop目录下操作如下命令bin/hadoop fs 具体命令bin/hdfs dfs 具体命令其中dfs是fs的实现类。命令大全[atguigu@hadoop102 hadoop-2.7.2]$ bin/hadoop fs[-appendToFile <localsrc> ... <dst>] [-cat [-ignoreCrc] <src> ...] [-checksum <src&
2021-03-08 19:47:44 180 1
原创 broker-list与bootstrap-server辨析
Kafka broker-list,bootstrap-server以及zookeeper的区别broker-listzookeeper的默认端口号是2181,kafka的默认端口号是9092broker-listbroker指的是kafka的服务端,可以是一个服务器也可以是一个集群。producer和consumer都相当于这个服务端的客户端。broker-list指定集群中的一个或者多个服务器,一般我们再使用console producer的时候,这个参数是必备参数,另外一个必备的参数是top
2021-03-08 15:16:20 1466
原创 sparkStream的窗口操作
Window Operations(窗口操作)Spark Streaming 也提供了窗口计算, 允许执行转换操作作用在一个窗口内的数据。默认情况下, 计算只对一个时间段内的RDD进行, 有了窗口之后, 可以把计算应用到一个指定的窗口内的所有 RDD 上。一个窗口可以包含多个时间段,基于窗口的操作会在一个比StreamingContext的批次间隔更长的时间范围内,通过整合多个批次的结果,计算出整个窗口的结果。所有基于窗口的操作都需要两个参数,分别为窗口时长以及滑动步长。 窗口时长:计算内容的时间范围
2021-03-08 13:12:07 407
原创 sparkStreaming中Dstream的状态转换
无状态转化操作无状态转化操作就是把简单的RDD转化操作应用到每个批次上,也就是转化DStream中的每一个RDD。部分无状态转化操作列在了下表中需要记住的是,尽管这些函数看起来像作用在整个流上一样,但事实上每个DStream在内部是由许多RDD(批次)组成,且无状态转化操作是分别应用到每个RDD上的。例如:reduceByKey()会归约每个时间区间中的数据,但不会归约不同区间之间的数据。在之前的wordcount程序中,我们只会统计几秒内接收到的数据的单词个数,而不会累加。有状态转换Upda
2021-03-08 13:08:07 271
原创 sparkStreaming对接kafka
ReceiverAPI:需要一个专门的Executor去接收数据,然后发送给其他的Executor做计算。存在的问题,接收数据的Executor和计算的Executor速度会有所不同,特别在接收数据的Executor速度大于计算的Executor速度,会导致计算数据的节点内存溢出。DirectAPI:是由计算的Executor来主动消费Kafka的数据,速度由自身控制。Kafka 0-8 Receive模式1) 需求:通过SparkStreaming从Kafka读取数据,并将读取过来的数据做简单计算,
2021-03-08 12:53:30 366
原创 sparkStreaming数据的加载
DStream入门WordCount案例实操需求:使用netcat工具向9999端口不断的发送数据,通过SparkStreaming读取端口数据并统计不同单词出现的次数添加依赖<dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-streaming_2.11</artifactId> <version>2.1.1</ver
2021-03-08 12:43:30 164
原创 sparkSql数据的加载与保存
sparkSQL加载数据1.read加载数据scala> spark.read.csv format jdbc json load option options orc parquet schema table text textFile注意:加载数据的相关参数需写到上述方法中,如:textFile需传入加载数据的路径,jdbc需传入JDBC相关参数。例如:直接加载Json数据scala> spark.read.json("/opt
2021-03-08 11:10:51 800
原创 如何理解yarn上的container
一直很困惑,为什么在yarn上能执行storm,spark这样的框架呢,他们是怎么运行的呢,我想对这个有困惑的朋友应该不止我一个,在这里向大家推荐一本书:hadoop技术内幕-yarn详解第一点:什么是分配资源,表面上将就是你可以使用的资源量,但在分布式系统中,你怎么限制呢:其实分配的资源就是一个个的key-value对:cpu=1个ram=2G第二点:只是分配了,怎么运行呢:这得益于JVM的好处,在jvm启动的啥时候,我们可以设置其所占用的资源,而之上所讲的key-vlaue在这里也就变成了jvm
2021-03-07 11:53:12 352
原创 什么是粗粒度申请资源
粗粒度资源申请和细粒度资源申请粗粒度资源申请:任务执行之前,先将所有的资源申请到,task执行的时候不需要自己申请资源,加快了执行速度。如果多数task执行完成,只有一个task没有执行完,那么这批申请到的资源不会被释放,只有所有的task执行完成之后才会释放所有资源。会有集群资源不能充分利用的情况。细粒度资源申请:任务执行之前,不会申请所有的资源,task执行时,自己申请资源,自己释放资源,任务执行就慢了,但是集群资源可以充分利用...
2021-03-05 14:11:20 193
原创 linux命令的使用
linux命令这里只是对linux命令的使用做一个简单介绍,具体的使用案例去我的csdn个人空间资料中下载,里面有详细的案例介绍每一个命令。1.pwd显示当前工作目录的绝对路径2.ls显示目录下列表信息语法ls -[选项] [目录或是文件]选项-l :以列表的方式显示信息-a :显示当前目录所有的文件和目录,包括隐藏的-A 显示除隐藏文件".“和”…"以外的所有文件列表-h:显示文件大小(一般与l连用)-C 多列显示输出结果,默认-s 以块(1块=1024字
2020-10-21 20:56:25 612
转载 caused by: java.lang.IllegalArgumentException: More than one fragment with the name [spring_web] was
最近在搭建一个spring mvc 项目时遇到“More than one fragment with the name [spring_web] was found. This is not legal …”报错,详细的日志信息如下:……五月 08, 2019 11:49:52 下午 org.apache.catalina.core.ContainerBase startInternal严重: A child container failed during startjava.util.concu
2020-10-09 15:31:07 3759 3
原创 动态代理详解
3.动态代理动态代理的角色和静态代理的一样 .动态代理的代理类是动态生成的 . 静态代理的代理类是我们提前写好的动态代理分为两类 : 一类是基于接口动态代理 , 一类是基于类的动态代理基于接口的动态代理----JDK动态代理基于类的动态代理–cglib现在用的比较多的是 javasist 来生成动态代理 . 百度一下javasist我们这里使用JDK的原生代码来实现,其余的道理都是一样的!、JDK的动态代理需要了解两个类核心 : InvocationHandler
2020-09-25 21:03:18 640
原创 java.lang.ClassNotFoundException: org.springframework.jdbc.core.RowMapper
将libs目录名改为lib
2020-09-18 11:38:50 526
原创 xml知识框架
XML:1. 概念:Extensible Markup Language 可扩展标记语言 * 可扩展:标签都是自定义的。 <user> <student> * 功能 * 存储数据 1. 配置文件 2. 在网络中传输 * xml与html的区别 1. xml标签都是自定义的,html标签是预定义。 2. xml的语法严格,html语法松散 3. xml是存储数据的,html是展示数据 * w3c:万维网联盟2. 语法: * 基本语法:
2020-09-12 21:10:26 550
原创 如何修改Tomcat版本
1.找到tomcat所在位置进入lib目录 apache-tomcat-8.0.0\lib2.lib目录下有个catalina.jar 用解压缩软件打开(可以先解压再修改版本号再打成jar包这样太麻烦所以直接用解压缩软件打开就行,我用的是winzip)3.打开后 在catalina.jar\org\apache\catalin
2020-09-12 09:58:01 3874 1
原创 如何配置Tomcat服务器
2.2.1. tomcat接下来所学的web95%都是apache下的;Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器;Tomcat实际上是一个容器;这里面放的就是servlet;servlet就是连接前后端的唯一途径;2.2.2.下载:官网 https://tomcat.apache.org下载过压缩包,直接解压就行了;加压后的目录:2.2.3.配置环境变量在PATH中 加%CATALINA_HOME%\bin;%CATALINA_HOME%\l
2020-09-11 18:57:08 1609
转载 JS知识框架
js知识导图.png一、js的简介1、js是什么js是可以嵌入到html中,是基于对象和事件驱动的脚本语言特点:(1)交互性(2)安全性:js不能访问本地磁盘(3)跨平台:浏览器中都具备js解析器2、js能做什么(1)js能动态的修改(增删)html和css的代码(2)能动态的校验数据3、js历史及组成ECMAScript BOM(浏览器对象模型) DOM(文档对象模型)4、js被引入的方式(1)内嵌脚本(2)内部脚本js代码放在哪? 放在哪都行 但是在不.
2020-09-11 15:47:50 640
原创 n进制转化为十进制
#include<stdio.h>#include<string.h>main(){ long t1; int i,n,t,t3; char a[100]; printf("请输入一个数字:\n"); gets(a); strupr(a); t3=strlen(a); t1=0; printf("请输入进制数:\n");...
2020-09-08 18:34:10 2715
原创 JDBCTemplate
JDBCTemplate Spring框架对JDBC的简单封装。提供了一个JdbcTemplate对象简化JDBC的开发步骤:1.导入jar包(前提是有Datasource类也就是导入Druid的jar包)2.创建JdbcTemplate对象。依赖于数据源Datasource(传参需要) JdbcTemplate template = new JdbcTemplate(Datasource ds);3.调用JdbcTemplate的方法来完成CRUD的操作up
2020-09-07 11:29:04 125
原创 Druid数据库连接池技术
Druid:数据库连接池技术Druid :数据库连接池实现技术,由阿里巴巴提供的步骤∶1.导入jar包druid-1.0.9.jar2.定义配配置文件:是properties形式的可以叫任意名称,可以放在任意目录下(也就是不会自动加载,必须手动加载)3.手动加载配置文件。使用(Properties集合)Properties pro = new Properties();InputStream ras = Demo10.class.getClassLo
2020-09-07 11:27:51 247
原创 C3P0数据库连接池技术
C3P0:数据库连接池技术Datasource接口介绍用于连接此DataSource对象表示的物理数据源的工厂,作为DriverManager工具的替代方案,在C3P0中ComboPooledDatasource类实现了Datasource接口。使用ComboPooledDatasource()创建连接池步骤:**导入jar包(两个)**c3p0-0.9.5.2.jar 和 mchange-commons-java-0.2.12.jar,不要忘记导入数据库驱动jar包定义配置
2020-09-07 11:26:37 249 1
原创 事物的隔离级别
事物的隔离级别1. 概念: 多个事务之间隔离的,相互独立的。但是如果多个事务操作同一批数据,则会引发一些问题,设置不同的隔离级别就可以解决这些问题。2. 存在问题:脏读:一个事务,读取到另一个事务中没有提交的数据不可重复读(虚读):在同一个事务中,两次读取到的数据不一样。幻读:一个事务操作(DML)数据表中所有记录,另一个事务添加了一条数据,则第一个事务查询不到自己的修改。隔离级别read uncommitted:读未提交(没有提交的时候其他事物就能读)产生的问题:脏
2020-09-07 11:23:49 110
转载 IDEA连接数据库出错
目录错误界面解决方案第一,设置mysql时区。第二,同步mysql驱动。前进的道路充满荆棘。错误界面IDEA连接mysql,地址,用户名,密码,数据库名,全都配置好了,点测试连接,咔!不成功!界面是这样的,翻译过来就是:服务器返回无效时区。进入“高级”选项卡,手动设置“serverTimezone”属性。看起来是时区出了问题。时区怎么会出问题?坑真多。网上搜了各种解决办法,琳琅满目,复杂的简单的,总算是解决了!解决方案我的问题出在两块,第一,设置mysql的时区。第二,mysql驱
2020-08-28 11:09:28 2692 1
原创 外连接与内连接,左连接与有连接区别
内连接查询从哪个表中查查哪些字段条件是什么[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HLJZotTf-1598437751839)(D:\Typora\picture\image-20200826171840838.png)]1. 隐式内连接 使用where语句消除无用数据示例 SELECT * FROM emp,dept WHERE emp.dept_id=dept.id;例题1:查询所有员工信息与对应的部门信息 SELECT * FROM
2020-08-26 18:31:20 1083
原创 JDBC工具类详解
JDBCUtils工具类 在我们使用JDBC 的时候,我们多数的代码都是一样的,这个时候我们就像能不能把相同的代码包装成静态方法给我们使用,这就是我们所谓的JDBC工具类在认识JDBC工具类之前,我们需要对Properties类有一个复习方法名说明String getProperty(String key)在此属性列表中搜索具有指定键的属性,并返回所对应的值。void load(InputStream inStream)从输入字节流中读取属性列表(键和元素对
2020-08-26 18:25:28 6092 1
原创 mysql中忘记了root用户的密码怎么办
mysql中忘记了root用户的密码?cmd – >net stop mysql停止mysql服务,需要管理员运行该cmd使用无验证方式厚动mysql服务: mysqld --skip-grant-tables打开新的cmd窗口,直接输入mysql命合,敲回车。就可以登录成功use mysql;update user set password = password(‘你的新密码’) where user = ‘root’;关闭两个窗口打开任务管理器,手动结束mysqld.exe的进程
2020-08-26 18:24:35 329
原创 JDBC事务控制
JDBC事务控制事务:一个包含多个步骤的业务操作。如果这个业务操作被事务管理,则这多个步骚要么同时成功,要么同时失败。操作:开后事务提交事务回滚事务使用connection对象来管理事务开启事务:setAutoCommit(boolean autoCommit):调用该方法设置参数为false,即开后事务在执行sql之前开启事务提交事务: commit()当所有sql都执行完提交事务回滚事务:rollback()在cat
2020-08-26 18:23:41 171
submit工作流程源码.xmind
2021-03-15
Linux实操02.pdf
2020-10-21
Linux实操01.pdf
2020-10-21
Centos安装详细步骤
2020-10-18
TalkRoom.zip
2020-09-07
Bigtesk.zip
2020-08-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人