自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 问答 (1)
  • 收藏
  • 关注

原创 Error:Java虚拟机无法解决的严重问题

Java虚拟机无法解决的严重问题。如JVM系统内部错误、资源耗尽等严重情况。1.栈溢出:java.lang.StackOverflowError。2.堆溢出:java.lang.OutOfMemoryError。

2023-05-01 15:45:51 157

原创 java学习:局部内部类使用的一个注意点

在jdk7及之前版本:要求此局部变量显示的声明为final的。数组,这里我们在定义num前面加一个final就行。在jdk8及之后的版本:可以省略final的声明。的方法中如果调用局部内部类所声明的方法中的。提示要求我们把num转成一个。

2023-05-01 15:22:11 147

转载 Java-常用类篇

当元素的类型没有实现java.lang.Comparable接口而又不方便修改代码,或者实现了java.lang.Comparable接口的排序规则不适合当前的操作,那么可以考虑使用Coparator。1、像String、包装类等实现了Comparable接口,重写了compareTo()方法,给出了比较两个对象大小的方式。4、对于自定义类来说,如果需要排序,我们可以让自定义类实现Comoarable接口,重写comoareTo()方法。如果当前对象this大于形参对象obj,则返回正整数,...

2022-07-28 12:04:10 204

转载 Java-常用类篇

publicStringsubstring(intstart,intend)返回一个从start开始到end索引结束的左闭右开间的子字符串。StringBufferreplace(intstart,intend,Stringstr)把[start,end)位置替换为str。String-->char[]调用String的toCharArray()String-->byte[]调用String的getBytes()>toString()显示当前的年、月、日、时、分、秒。...

2022-07-20 15:18:11 114

转载 Flume篇

1)Flume要想将数据输出到HDFS,依赖Hadoop相关jar包,检查/etc/profile.d/my_env.sh文件,确认Hadoop和Java环境变量配置正确。(1)将apache-flume-1.9.0-bin.tar.gz上传到linux的/opt/software目录下。(2)解压apache-flume-1.9.0-bin.tar.gz到/opt/module/目录下。(3)修改apache-flume-1.9.0-bin的名称为flume。...

2022-07-16 18:59:49 329

转载 Java-常用类篇

String:字符串,使用一对“”引起来表示。1.String声明为final的,不可被继承。2.String实现了Serializable接口:表示字符串是支持序列化的。 实现了Comparable接口:表示String可以比较大小。3.String内部定义了final char[] value用于存储字符串数据。4.String:代表不可变的字符序列。简称:不可变性。 体现:1.当对字符串重新赋值时,需要重写指定内存区域赋值,不能使用原有的value进行赋值。

2022-07-09 08:11:42 53

转载 Spark-SQL篇

案例实操:1.数据准备我们这次 Spark-sql 操作中所有的数据均来自 Hive,首先在 Hive 中创建表,,并导入数据。一共有 3 张表: 1 张用户行为表,1 张城市表,1 张产品表。2.需求:各区域热门商品 Top32.1需求简介 这里的热门商品是从点击量的维度来看的,计算各个区域前三大热门商品,并备注上每个商品在主要城市中的分布比例,超过两个城市用其他显示。 2.2需求分析➢ 查询出来所有的点击记录,并与 city_info 表连接,得到每个城市所在的地区,与Product_i

2022-07-08 15:09:11 514

转载 SparkSQL篇

数据的加载和保存通用的加载和保存方式SparkSQL 提供了通用的保存数据和数据加载的方式。这里的通用指的是使用相同的API,根据不同的参数读取和保存不同格式的数据,SparkSQL 默认读取和保存的文件格式为 parquet1) 加载数据spark.read.load 是加载数据的通用方法 如果读取不同格式的数据,可以对不同的数据格式进行设定➢ format("…"):指定加载的数据类型,括"csv"、"jdbc"、"json"、"orc"、"parquet"和"textFile"。➢ load("

2022-07-03 21:43:34 945

原创 ScalaSQL篇

IDEA 开发 SparkSQL添加依赖 代码实现UDAF强类型的 Dataset 和弱类型的 DataFrame 都提供了相关的聚合函数, 如 count(),countDistinct(),avg(),max(),min()。除此之外,用户可以设定自己的自定义聚合函数。通过继承 UserDefinedAggregateFunction 来实现用户自定义弱类型聚合函数。从 Spark3.0 版本后,UserDefinedAggregateFunction 已经不推荐使用了。可以统一采用强类型聚

2022-07-03 00:04:40 603

原创 SparkSQL篇

创建 DataFrame在 Spark SQL 中 SparkSession 是创建 DataFrame 和执行 SQL 的入口,创建 DataFrame 有三种方式:通过 Spark 的数据源进行创建;从一个存在的 RDD 进行转换;还可以从 Hive Table 进行查询返回。1) 从 Spark 数据源进行创建查看 Spark 支持创建文件的数据源格式 在 spark 的 bin/data 目录中创建 user.json 文件 读取 json 文件创建 DataFrame 注意:如果从内存中获取数据,

2022-07-01 16:47:59 2030

原创 Spark-Yarn安装

解压缩文件将 spark-3.0.0-bin-hadoop3.2.tgz 文件上传到 linux 并解压缩,放置在指定位置。 修改配置文件1) 修改 hadoop 配置文件/opt/module/hadoop/etc/hadoop/yarn-site.xml, 并分发 2) 修改 conf/spark-env.sh,添加 JAVA_HOME 和 YARN_CONF_DIR 配置 启动 HDFS 以及 YARN 集群查看 http://Hadoop103:8088 页面,点击 History,查看历史页面配置

2022-06-30 22:02:06 139

原创 复习Scala篇

Scala是基于JVM的语言。六大特征:1.与java无缝整合2.类型推断3.支持分布式和并发Actor4.Trait特质特性5.模式匹配match6.高阶函数类和对象:当new类时,类中除了方法不执行其他都执行;object相当于java中的单例,定义的都是静态的;class可以传参,传参就有默认的构造;重写构造时,第一行要先调用默认的构造;for,(1 to 10),(1 until 10),(for(i......

2022-06-29 10:23:16 154

原创 Scala篇

元组最多支持22个元素元组可以new 也可以不new,甚至可以直接写()中写元素一个类继承多个trait时,第一个关键字使用 extents,之后使用withTrait中可以有方法体的实现或者方法体的不实现,类继承了Trait要实现Trait中没有实现的方法Match 模式匹配1.case _ 什么都匹配不上匹配,放在最后2.match 可以匹配值还可以匹配类型3.匹配的过程中会有数值的转换4.从上往下匹配,匹配上之后会自动终止5.模式匹配外部的“{..}”可以省略偏函数,只能匹配一个值,匹配上

2022-06-27 22:14:55 137

原创 Scala篇

Unit 表示无值,和java中void等同。Nothing 所有其他类型的子类型,表示没有值Any 所有类型的超类型,任何实例都属于Any类型AnyRef 所有引用类型的超类AnyVal 所有值类型的超类 Scala:1.Scala object相当于java中的单例,object中定义的全是静态的。相当于java的工具类。Object不可以传参,对象要传参,使用apply方法。2.Scala中定义变量使用var,定义常量使用val,变量可变,常量不可变,变量和常量类型可以省略不写,会自动推断。3.Sca

2022-06-26 15:20:28 187

转载 Flink本地启动与集群启动

本地启动1. 下载安装包进入 Flink 官网,下载 1.13.0 版本安装包 flink-1.13.0-bin-scala_2.12.tgz,注意此处选用对应 scala 版本为 scala 2.12 的安装包。2. 解压在 hadoop102 节点服务器上创建安装目录/opt/module,将 flink 安装包放在该目录下,并执行解压命令,解压至当前目录。3. 启动进入解压后的目录,执行启动命令,并查看进程。 4. 访问 Web UI启动成功后,访问 http://hadoop102:8081,可

2022-06-22 18:23:09 6659

转载 Java多线程篇

线程通信的应用:经典例题:生产者/消费者问题创建线程的方式三:实现Callable接口。 - - - JDK 5.0新增 如何理解实现Callable接口的方式创建多线程比实现Runnable接口创建多线程方式强大?1.call()可以有返回值的。2.call()可以抛出异常,被外面的操作捕获,获取异常的信息3.Callable是支持泛型的创建线程的方式四:使用线程池好处:1.提高响应速度(减少了创建新线程的时间)2.降低资源消耗(重复利用线程池中线程,不需要每次都创建)3.便于线程管理.

2022-06-22 10:47:32 51

转载 Flink批处理WordCount代码实现

1.在Idea工程根目录下新建一个 input 文件夹,并在下面创建文本文件 words.txt2.在 words.txt 中输入一些文字,例如: 3.在 com.atguigu.chapter02 包下新建 Java 类 BatchWordCount,在静态 main 方法中编写测试代码。我们进行单词频次统计的基本思路是:先逐行读入文件数据,然后将每一行文字拆分成单词;接着按照单词分组,统计每组数据的个数,就是对应单词的频次。...

2022-06-22 00:00:47 254

转载 Sqoop的安装与配置

1.下载并解压下载地址:http://mirrors.hust.edu.cn/apache/sqoop/1.4.6/上传安装包 sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz 到虚拟机中解压 sqoop 安装包到指定目录,如:2.修改配置文件重命名配置文件修改配置文件sqoop-env.sh3.拷贝JDBC驱动拷贝 jdbc 驱动到 sqoop 的 lib 目录下,如:4. 验证 Sqoop我们可以通过某一个 command 来验证 sqoop 配置是否正确: 出现一些

2022-06-20 21:03:52 519

转载 Java多线程篇

使用同步机制将单例模式中的懒汉式改写为线程安全的演示线程的死锁问题1.死锁的理解:不同的线程分别占用对方需要的同步资源不放弃,都在等待对方放弃自己需要的同步资源,就形成了线程的死锁2.说明:①出现死锁后,不会出现异常,不会出现提示,只是所有的线程都处于阻塞状态,无法继续。②我们使用同步时,要避免出现死锁。解决线程安全问题的方式三:Lock锁 - - - JDK5.0新增1.实例化ReentrantLock2.调用锁定方法:lock()3.调用解锁方法:unlock()synchronize

2022-06-20 16:43:13 60

转载 Hive的安装与初始化

安装Hive2.解压 apache-hive-3.1.2-bin.tar.gz 到/opt/module/目录下面3.修改 apache-hive-3.1.2-bin.tar.gz 的名称为 hive 4.修改/etc/profile.d/my_env.sh,添加环境变量5.添加内容6. 解决日志 Jar 包冲突 7.初始化元数据库

2022-06-19 15:57:49 1536

转载 Kafka自定义分区

需求:实现一个分区器,发送过来的数据中如果包含atguigu,就发往0号分区,不包含atguigu,就发往1号分区。实现步骤:1.定义类实现Partitioner接口。2.重写partiti()方法。测试:1.没有atguigu时:2.有atguigu时:...

2022-06-18 18:51:34 394

转载 Kafka命令行操作和同、异步发送API

生产者命令行操作1.查看操作生产者命令参数2.发送消息消费者命令行操作1. 查看操作消费者命令参数2.消费消息2.1消费first主题中的数据2.2把主题中所有的数据都读取出来(包括历史数据)

2022-06-17 16:37:05 318

转载 kafka的安装与启动

安装部署集群规划集群部署1.解压安装包2.修改解压后的文件名称3.进入解压后的文件名称修改以下内容:4.分发安装包5.分别在hadoop103和hadoop104上修改配置文件/opt/module/kafka/config/server.properties中的broker.id=1、broker.id=26.配置环境变量在/etc/profile.d/my_env.sh文件中添加kafka环境变量配置 增加如下内容: 刷新一下环境变量 分发环境变量文件到其他节点,并source7.启动集群先启动Zook

2022-06-16 20:09:38 5799

转载 Java多线程篇

例子:创建三个窗口卖票,总票数为100张,使用实现Runnable接口的方式1.问题:卖票过程中,出现了重票、错票 - - > 出现了线程的安全问题2.问题出现的原因:当某个线程操作车票的过程中,尚未操作完成时,其他线程参与进来,也操作车票。3.如何解决:当一个线程a在操作ticket的时候,其他线程不能参与进来。直接线程a操作完ticket时,线程才可以开始操作ticket。这种情况即使线程a出现了阻塞,也不能被改变。4.在Java中,我们通过同步机制,来解决线程的安全问题。方式一:同步代码块synchr

2022-06-16 16:55:03 45

原创 zookeeper集群的安装与配置

一、安装1.安装JDK2.拷贝安装包到Linux系统下3.解压到指定目录4.修改名称二、配置修改创建zkData文件夹打开zoo.cfg,修改dataDir路径三、操作Zookeeper1.启动Zookeeper2.查看状态3.启动客户端4.退出客户端5.停止Zookeeper四、配置Zookeeper1. 在../zkData目录下创建一个myid的文件,在文件中添加对应的编号拷贝配置好的zookeeper到其他机器上2. 在zoo.cfg中添加如下配置...

2022-06-15 15:48:50 57

转载 阶段性复习

程序、进程、线程的理解1.程序(programm)概念:是为了完成特定任务、用某种语言编写的一组指令的集合。既指一段静态的代码。2.进程(process)概念:程序的一次执行过程,或是正在运行的一个程序。说明:进程作为资源分配的单位,系统在运行时会为每个进程分配不同的内存区域3.线程(thread)概念:进程可进一步细化为线程,是一个程序内部的一条执行路径。说明:线程作为调度和执行的单位,每个线程拥有独立的运行栈和程序计数器(pc),线程切换的开销小内存结构:进程可以细化为多个线程。每个线程,拥有自己独立的

2022-06-14 18:04:02 31

原创 Hadoop复习

hadoop删除文件:hadoop创建文件夹:Shell命令上传:1.-moveFromLocal:从本地剪切粘贴到HDFS2.-copyFromLocal:从本地文文件系统中拷贝文件到HDFS路径去3.-put:等同于copyFromLoat,生产环境更习惯用put4.-appendToFile:追加一个文件到已经存在的文件末尾Shell命令下载:1.-copyToLocal:从HDFS拷贝到本地:2.-get:等同于copyToLocal,生产环境更习惯用get...

2022-06-14 16:09:45 113

转载 Java多线程篇

创建多线程的方式二:实现Runnable接口1.创建一个实现了Runnable接口的类2.实现类去实现Runnable中的抽象方法:run()3.创建实现类的对象4.将此对象作为参数传递到Thread类的构造器中,创建Thread类的对象5.通过Thread类的对象调用start():①启动线程 ②调用当前线程的run() - - - >调用了Runable类型的target的run()例子:创建三个窗口卖票,总票数为100张,使用实现Runnable接口的方式线程不安全,待解决比较创建线程的两

2022-06-13 15:37:48 38

原创 Hadoop复习

ssh免密登录:生成自己的密钥 将自己的公钥发送到需要免密登录的虚拟机 完全分布式的配置:vim core-site.xml vim hdfs-site.xml vim yarn-site.xmlvim mapred-site.xml之后使用scp命令将文件复制到其他虚拟机 初始化集群 在hadoop102上启动hdfs 在hadoop103上启动yarn...

2022-06-13 13:09:10 121

转载 Java多线程篇

测试Thread中的常用方法:1.start():启动当前线程;调用当前线程的run()2.run():通常需要重写Thread类中的此方法,将创建的线程要执行的操作声明在此方法中3.currentThred():静态方法,返回执行当前代码的线程4.getName():获取当前线程的名字5.setName():设置当前线程的名字6.yield():释放当前cpu的执行权7.join():在线程a中调用线程b的join(),此时线程a就进入阻塞状态,直到线程b完全执行完成以后线程a才结束阻塞状态。8.stop

2022-06-13 00:10:07 71

原创 hadoop复习

今天开始复习Hadoop配置内容,首先随便创建一个虚拟机命名为hadoop100。IP和主机名称修改:安装工具包和编辑器安装epel-release关闭防火墙将hdoop100做为模板复制出hadoop102、haddop103、hdoop104 之后修改每台虚拟机的IP与主句名称,再安装JDK和Hadoop。本地运行模式:...

2022-06-12 22:26:51 131

转载 Java-多线程篇

并行与并发: 并行:多个CPU同时执行多个任务。 并发:一个CPU(采用时间片)同时执行多个任务。多线程程序的优点: 1.提高应用程序的响应。对图形化界面更有意义,可增强用户体验。 2.提高计算机系统CPU的利用率 3.改善程序结构。将既长又复杂的进程分为多个线程,独立运行,利于理解和修改多线程的创建,方式一:继承于Thread类1.创建一个继承于Thread类的子类2.重写Thread类的run() - - > 将此线程执行的操作声明在

2022-06-11 21:30:00 45

转载 Java项目三

Java项目三的下半篇

2022-06-10 20:40:59 147

转载 Java项目三

项目三的软件设计结构 Data类:TSUtility类:总结:今天完成了项目三的软件结构、TSUtility和Data类的说明、Equipment及其实现类的完成、Employee及其子类的实现、NameListService属性和构造器的实现、NameListService中两个方法及TeamException的完成。明日计划:完成项目三的其余部分。......

2022-06-09 21:28:37 101

转载 Java异常处理

异常处理的方式二:throws + 异常类型1.“throws + 异常类型”写在方法的声明处。指明此方法执行时,可能会抛出的一次类型。一旦当方法体执行时,出现异常,仍会在异常代码处生成一个异常类的对象,此对象满足throws后异常类型时,就会被抛出。异常代码后续的代码,就不再执行!2.体会:try - catch - finally:真正的将异常给处理掉了。throws的方式只是将异常抛给了方法的调用者。并没有真正将异常处理掉。3.开发中如何选择使用try - catch - finally 还是使用th

2022-06-09 13:51:54 164

转载 Java异常处理

Error:Java虚拟机无法解决的严重问题。如:JVM系统内部错误、资源耗尽等严重情况。比如:StackOverflowError和OOM。一般不编写针对性的代码进行处理。一、异常的体系结构java.lang.Theowable | - - - - -java.lang.Error:一般不编写针对性的代码进行处理。 | - - - - -java.lang.Exception:可以进行异常的处理 | - - - - -编译时异常(checked)

2022-06-07 21:39:24 85

转载 阶段性复习与练习

多日一考:1.abstract能修饰哪些结构?修饰后,有什么特点?类、方法类不能实例化,提供子类抽象方法,只定义了一种功能的标准。具体的执行,需要子类去实现。2.接口是否能继承接口?抽象类是否能实现(implements)接口?抽象类是否能继承非抽象类的类?能,能,能3.声明抽象类,并包含抽象方法。测试类中创建一个继承抽象类的匿名子类的对象4.抽象类和接口有哪些共同点和区别?相同点:不能实例化,都可以被继承不同点:抽象类:有构造器。接口:不能声明构造器多继承 VS 单继承5.如何创建静态成员内部类和非静态成

2022-06-06 20:47:55 54

转载 Java面向对象(下篇)

JDK8:除了定义全局常量和抽象方法之外,还可以定义静态方法、默认方法知识点1:接口中定义的静态方法。只能通过接口来调用。知识点2:通过实现类的对象,可以调用接口中的默认方法如果实现类重写了接口中的默认方法,调用时,仍然调用的是重写以后的方法知识点3:如果子类(或实现类)继承的父类和实现的接口中声明了同名参数的方法,那么子类在没有重写此方法的情况下,默认调用的是父类中的同名同参数的方法。- - > 类优先原则知识点4:如果实现类实现了多个接口,而这多个接口中定义了同名同参的默认方法

2022-05-30 20:28:54 44

转载 Java面向对象(下篇)

接口的使用1.接口使用interface来定义2.Java中,接口和类是并列的两个结构3.如何定义接口:定义接口中的成员3.1JDK7及以前:只能定义全局常量和抽象方法> 全局常量:public static final的,但是书写时,可以省略不写> 抽象方法:public abstract的3.2 JDK8:除了定义全局常量和抽象方法之外,还可以定义静态方法、默认方法...

2022-05-29 21:13:55 45

转载 Java面向对象(下篇)

abstract关键字的使用1.abstract:抽象的2.abstract可以用来修饰结构:类、方法3.abstract修饰类:抽象类> 此类不能实例化> 抽象类中一定有构造器,便于子类实例化时调用(涉及:子类对象实例化的全过程)> 开发中,都会提供抽象类的子类,让子类对象实例化,完成相关的操作4.abstract修饰方法:抽象方法> 抽象方法只有方法的声明,没有方法体...

2022-05-28 22:33:15 126

空空如也

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

TA关注的人

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