自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 资源 (1)
  • 收藏
  • 关注

原创 Java中各国时区枚举值

马其顿(前南斯拉夫的马其顿共和国)圣文森特和格林纳丁斯。波斯尼亚和赫泽戈维纳。刚果(民主党众议员)刚果(民主党众议员)

2023-12-07 14:53:08 294

原创 Hive相关知识

hive相关知识

2022-07-18 16:00:31 508 1

原创 spark分组求解前百分之十

上面两篇文章介绍了一下使用spark分组求解top值的两种方式,我们在日常工作中也可能会遇到另外一种情况,即对源数据求解每个分组的前百分之多少的情况,这种情况如何解决呢,其实和分组求top的方式类似,只不过该种情况会使用另外一种窗口函数percent_rank(),下面简单说明一下:一:java版本1.准备原始数据原始数据datasetMarket=spark.read.parquet("basePath").select("学校", "班级","成绩")2.对要进行分组的数据分组进行排序,

2020-08-28 15:23:57 890 1

原创 sparkSql分组求top值

上篇文章中介绍了使用JAVA版本的分组求top值,下面介绍一下使用sparkSql分组求top1.首先准备源数据datasetMarket=spark.read.parquet("basePath").select("学校", "班级","成绩")2.创建临时视图在获取源数据之后,对数据创建临时视图,格式如下:datasetMarket.createTempView("groupTop")3.核心语句,分组top值spark.sql(select "学校, 班级,成绩 fro

2020-08-28 15:08:15 1120

原创 spark分组求top值JAVA版本

在工作中我们常常会遇到在一堆数据中求top值的问题,也会遇到分组求top值的现象,分组如何求解呢?这时候我们可以借助窗口函数进行实现,在spark中使用row_number进行实现。本文的实现使用的是java版本实现,并不是使用spark sql实现的,因为使用spark sql实现需要使用临时视图,比较麻烦,下次补充spark sql版本。原始数据datasetMarket=spark.read.parquet("basePath").select("学校", "班级","成绩")1.首先对要进行

2020-08-27 14:51:00 400 1

原创 Error: A JNI error has occurred, please check your installation and try again

当在idea运行程序的时候,如果出现Error: A JNI error has occurred, please check your installation and try again这个错误的话,如果紧接着出现以下的相似异常抛出:即各种类找不到,出现这种错误的原因实际上就是pom文件中依赖的包在运行的时候没有被导入,此时对应导入的依赖的scope的标签值为provided,而在idea中如果不进行设置的话,idea默认是不加载provided的依赖的,因此需要在idea中进行设置,使idea

2020-05-22 15:43:07 2439 2

原创 Mac终端命令大全

Mac终端命令大全下面列举出了一些Mac常用的命令:目录的相关操作命令名 功能描述 示例mkdir 创建一个新的目录 mkdir dirnamermdir 删除一个目录 rmdir dirnamemvdir 移动/重命名一个目录 mvdir dir1 dir2cd 进入新的目录 ...

2020-05-22 11:01:07 343

原创 Exception in thread main java.lang.NoClassDefFoundError: org.apache.spark.sql.SparkSession

在运行程序的过程中报了A JNI error has occurred, please check your installation and try again错误,具体异常信息如下图所示:从异常中看到是无法找到sparkSession类,但是我在maven中已经引入了该依赖,却依然出现异常,这个时候可以查看pom文件引入的依赖中scope标签中的内容,其中scope标签中对应的参数有如下几种:1.compile默认的scope,表示 dependency 都可以在生命周期中使用。而且,.

2020-05-19 17:12:44 1068

原创 报错No implicits found for parameter evidence$6: Encoder

记录一个在写spark项目的时候碰到的一个问题No implicits found for parameter evidence$6: Encoder这个问题的实质就是我们需要对当下类型的变量进行map操作,但是此时出现的问题是不能进行map操作,本人的解决办法是,在相关的变量语句之前添加一行导入操作便能解决问题,导入语句为:import spark.implicits._这样操作之后便能够继续使用map操作了。...

2020-05-13 09:48:44 2397

原创 Mac下安装numpy,pandas,matplotlib

mac下由于自带python,并且版本为2,因此本人在自己的电脑上安装了python3。由于需要需要安装numpy和pandas等,因此才用了常用的命令:pip install pandas但是出现以下问题,并且安装的包无法使用:从信息中可以发现,包被安装在了python2版本之下,但是使用的是python3,因此需要执行以下的命令才能生效:python3 -m pip install pandaspython3 -m pip install wordcloudpython3 .

2020-05-09 14:44:39 985

原创 使用jupyter时报错:IOPub data rate exceeded.

本人在使用jupyter的时候,出现了一个错误:IOPub data rate exceeded.详细信息如下:处理这个问题很简单,只需要修改配置文件中的配置即可,接下来介绍一下解决方案。首先需要找到配置文件,在终端使用命令jupyter notebook --generate-config即可找到配置文件的存储路径,之后可以输入vim修改配置文件的内容:从异常信...

2020-04-30 17:15:36 6743

原创 初始spark(四)之spark存储管理

我们在使用spark进行数据相关的操作的时候,经常会用到的是RDD,但是我们也都知道RDD是一个抽象的数据集,并不是真正的数据存储的地方,RDD使我们对数据的操作更方便,其实RDD的出现避免了我们对数据存储底部的接触,可以更方便的编写我们的应用。其实数据的存储都是由spark的存储管理模块实现和管理的。spark存储管理模块的整体架构:从架构上可以将存储架构管理模块分为通信层和存储层两个部分。...

2020-04-29 15:44:02 217

原创 认识ETL

大数据中经常会遇到的一个概念就是ETL,接下来就来探讨一下ETLETL是指将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,主要的作用就是将企业的一些杂乱无章的数据进行一个汇总,为相关的企业提供数据的支持。ETL主要分为了三个阶段:数据抽取、数据清洗转换、数据的加载。数据的抽取:就是从原始的数据源中将数据抽取到ODS层。在数据抽取的时候,首先需要进行相关的调研,比如数据的存储...

2020-04-29 14:32:08 298

原创 初始spark(三)之宽窄依赖以及stage的划分

一:宽窄依赖的概念提起spark中涉及到的RDD,那么我们也会很容易的想到的问题是,RDD的一系列操作转化操作,转化操作其实就是将一个RDD转化为另一个RDD,那么在产生新的RDD和旧的RDD的关系就属于依赖关系,而RDD之间的依赖关系可以分为宽依赖和窄依赖两种依赖关系。窄依赖:具体的含义是指父RDD和子RDD之间的partition之间属于一对一的关系。也可以认为一个父RDD的parti...

2020-04-23 17:30:16 471

原创 初始spark(二)之RDD

我们都知道spark是能够并行的计算,并且是基于内存的,这大大的提升了计算的效率,spark在进行计算的时候,需要借助于SparkContext(驱动程序器),将数据分散到集群中,并在节点中并行的开启计算,最终再将计算的结果进行汇总。一:RDD提到数据计算,不得不提到spark中的一个重要的概念,那就是RDD(弹性分布式数据集),从名称来看便知RDD是分布在集群中的,spark计算主要是针...

2020-04-10 15:23:39 267

原创 初始spark(一)

spark定义: spark是一个实现快速通用的集群计算平台。通用内存并行计算框架,主要用来构建大型的、低延迟的数据分析应用程序。spark优点: 使用spark肯定有其特别之处,spark在计算数据的时候与MapReduce相比,spark的计算是基于内存的,并可以依赖内存机型复杂的计算,这在计算的速度上有大的提升,相比较MapReduce有很大的性能...

2020-04-10 15:18:39 108

原创 初解数据库——存储引擎

数据的基本知识说完之后,下面会介绍一些数据库的存储引擎,存储引擎是数据库的核心部分,数据库常见的存储引擎包括:InnoDB,MyISAM,MEMORY。MyISAM:该存储引擎是不支持事务的,也不支持外键,由于不支持事务,所以它的查询速度很快,对事务的完整性没有要求,并且支持表级锁,采用的是非聚簇索引,存储了表的总行数。InnoDB:该存储引擎具有回滚,提交和崩溃恢复的能力,支持事务,以及...

2019-10-24 11:02:29 152

原创 初解数据库——事务

作为程序猿我们都应该清楚,不管是在求职面试的过程中还是在平常的开发中,数据库起了很重要的作用,数据库又分为关系型数据库和非关系型数据库。接下来将会介绍一些数据库方面的基础知识。提起数据库我们想到的就是我们常常编写的一些sql语句,那这些sql语句在执行的过程中,怎么执行的,什么时候结束,这时候边涉及到一个名词——事务。事务通俗地讲就是表示的是一系列命令的集合,它是并发控制的基本单元。事务具有四...

2019-10-24 10:46:57 140

转载 Java并发机制及锁的实现原理

转发原文链接:https://blog.csdn.net/sunxianghuang/article/details/51932179Java并发编程概述并发编程的目的是为了让程序运行得更快,但是,并不是启动更多的线程就能让程序最大限度地并发执行。在进行并发编程时,如果希望通过多线程执行任务让程序运行得更快,会面临非常多的挑战,比如上下文切换的问题、死锁的问题,...

2019-03-31 09:28:45 321

原创 TCP连接的建立(三次握手)与释放(四次挥手)

TCP连接的建立采用的是客户服务器方式,主动要求建立连接的为客户端,被建立连接的成为服务器。1.TCP连接的建立在讨论建立连接的过程中,先上图这样会帮助理解,如下图所示:从上图可知,B作为服务器作为被建立连接方,在建立连接之前,客户端和服务端均处于关闭状态。其中服务器端先创建控制传输块TCB,此时服务器端处于监听状态(即时刻监听客户端发送的连接请求)。客户端A的TCP进程也会创...

2019-03-14 21:31:08 336

转载 Java 网络IO编程总结(BIO、NIO、AIO均含完整实例代码)

转载出处:http://blog.csdn.net/anxpp/article/details/51512200,谢谢!    本文会从传统的BIO到NIO再到AIO自浅至深介绍,并附上完整的代码讲解。    下面代码中会使用这样一个例子:客户端发送一段算式的字符串到服务器,服务器计算后返回结果到客户端。    代码的所有...

2019-03-06 19:40:47 318 1

原创 抽象类(abstract class)和接口(interface)的区别

在介绍两者的区别的时候,需要先了解一下两者的定义:抽象类:简单粗暴的描述是包含抽象方法的类,但是这样定义并不准确,因为抽象类也可以不含有抽象方法,即使用abstract修饰的类必为抽象类,一定要注意:一个类如果含有抽象方法,则该类一定为抽象类;但是抽象类并不一定含有抽象方法。抽象类是不能被实例化的。接口:泛指供其他类调用的方法或者函数。接口中的方法均为抽象方法,接口也是不能被实例化的。...

2019-01-01 15:39:25 299

原创 浅谈红黑树

红黑树的特点:       1.根节点为黑色       2.节点不会出现连续的红色       3.对于每个节点,从该节点到其后代叶节点的简单路径上,均包含相同数目的黑色节点       4.最长路径的长度不超过最短路径长度的2倍红黑树的插入操作:       1.若根节点为null,直接插入节点,并将颜色置为黑色       2.若根节点不为null,找到插入新节点...

2018-12-23 11:16:56 156

原创 在数组中找到出现次数大于N/K的数

原始题目:给定一个整形数组arr,打印出其中出现次数大于一半的数,如果没有这样的数,打印提示信息。进阶题目:给定一个整形数组arr,再给定一个整数k,打印所有出现次数大于N/K的数,如果没有这样的数,打印提示信息。要求:原始问题要求时间复杂度为O(N),额外空间复杂度为O(1)。进阶问题要求时间复杂度为O(N*K),额外空间复杂度为O(K)。原始问题:设定一个候选值cands,以及记录...

2018-12-20 10:31:30 1141

原创 添加最少字符使字符串整体都是回文字符串

给定一个字符串str,如果可以在str的任意位置添加字符,请返回在添加字符最少的情况下,让str整体都是回文字符串的一种结果。思路:该题可以采用动态规划解决,创建矩阵dp[i][j],如果str[i]==str[j],则dp[i][j]=0,如果str[i]!=str[j],dp[i][j]=min{dp[i+1][j],dp[i][j-1]}+1;其中矩阵表示添加字符的最少数量。具体代码实现...

2018-12-20 08:25:03 1926

原创 判断字符数组中是否所有的字符都只出现过一次

题目:给定一个字符型数组chs[],判断chs中是否所有的字符都只出现过一次,请根据以下不同的两种要求实现两个函数。要求:        1,实现时间复杂度为O(N)的方法。        2,在保证额外空间复杂度为O(1)的前提下,请实现时间复杂度尽量低的方法。要求1答案:因为题目的要求的时间复杂度为O(N),可知遍历一遍字符数组即可,并不需要考虑额外空间复杂度,可以定义一个布尔...

2018-12-19 10:09:35 819

原创 storm集群搭建

准备工作:Java环境,免密登陆,zookeeper搭建完成,在我博客里均已写明,这里不再赘述。storm压缩包:我使用的是apache-storm-0.10.0.tar.gz版本。三台服务器:192.168.25.134     storm01192.168.25.135     storm02192.168.25.136     storm03一切准备就绪,开始搭建工作。1...

2018-11-14 15:40:14 139

原创 zookeeper集群搭建

准备工作:Java环境,免密登陆等基本配置的完成!这些在我Hadoop集群搭建中均已完成,这些不再赘述,当然在搭建zookeeper集群时不必准备Hadoop环境!zookeeper安装包,我的是zookeeper-3.4.12.tar.gz,三台虚拟机:192.168.25.131      storm01192.168.25.132      storm02192.168.25.1...

2018-11-13 09:47:16 157

原创 Hadoop学习之idea开发wordcount实例

在使用idea开发wordcount实例中,首先构建一个maven工程,需要引入的依赖有:<repositories> <repository> <id>apache</id> <url>http://maven.apache.org</url> </reposito...

2018-11-13 08:55:39 3292

原创 wordcount报错:org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input path does not exist:

Exception in thread "main" org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input path does not exist: hdfs://192.168.25.128:9000/export/yang/log.1    at org.apache.hadoop.mapreduce.lib.i...

2018-11-12 15:59:24 3769

原创 Hadoop初探——Hadoop集群搭建

本人在进行Hadoop集群搭建创建了三台虚拟机,一台作为master,另外两台为slave,在搭建集群的过程中采用是centOs7,Java版本为1.8,Hadoop版本为2.7。三台虚拟机对应的IP为:192.168.25.128,192.168.25.129,192.168.25.130.虚拟创建完成之后首先应该先将各台虚拟机的防火墙关闭:[root@localhost ~]# s...

2018-11-10 11:25:05 280

原创 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。

题目:求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。解题思路:运用递归的思想,终止条件采用逻辑与的短路特性终止递归。具体代码实现如下所示:public class Solution {    public int Sum_Solution(int n) {        int fab=n;...

2018-09-25 22:11:08 386

原创 输出所有和为S的连续正数序列。序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序

题目描述:小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列?输出描述:输出所有和为S的连续正数序列。序列内按照从小至大的顺序...

2018-09-20 08:06:02 942

原创 统计一个数字在排序数组中出现的次数.

题目:统计一个数字在排序数组中出现的次数。思路:采用二分查找的思想,寻找该数字第一次出现的下标和最后一次出现的下标,最后将两个下标相减加1,便可得出出现的次数。具体的代码实现如下所示:public class Solution {    public int GetNumberOfK(int [] array , int k) {       if(array.length==0){...

2018-09-16 21:51:38 525

原创 输入两个链表,找出它们的第一个公共结点。

题目:输入两个链表,找出它们的第一个公共结点。思路:本题的意思是找到第一个公共结点,该公共结点之后均为相同的结点,既有公共尾结点(本人第一次误解了意思),但是如是借助HashMap的数据结构,这方面则不用考虑,只需要遍历第一个链表,将链表的结点放入HashMap中即可,之后遍历第二条链表,在遍历第二个链表时,判断HashMap中是否包含遍历的结点,若包含则直接返回即可。具体代码实现如下所示:...

2018-09-16 20:06:32 463

原创 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。

题目:在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007思路:此题可以采用归并法,将输入数组分割到最小的单位,最后可以得到只含有两个元素,之后将这两个进行比较,得出是否为逆序对,之后将两个合并排序,将前半部分的最后一位与后半部分的最后一部分比较...

2018-09-16 19:39:59 1425

原创 在一个字符串中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写)

题目:在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).思路:创建数据结构HashMap,可以记录每个字符对应出现的次数,之后遍历字符串,将对应的值存储在HashMap中,遍历完字符串后,对应字符的出现的次数也被存储,然后再次遍历字符串,找出HashMap中对应的次数,若为1,则返回...

2018-09-16 15:31:28 1737

原创 .把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。

题目:把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。解题思路:选定第一个丑数1,根据丑数的定义,可知以后的丑数必然是在1的基础上乘以2,乘以3,乘以5,因此可以得出三个丑数,从中选择最小的一个添加到list列表中,之后若list中的丑数与得出的三个丑数中的...

2018-09-16 10:36:02 5671

原创 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。

题目:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。代码实现:import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;public class...

2018-09-16 09:40:36 611

原创 剑指offer在线编程前20道

本人在做剑指offer试题的过程中所用的方法以及参考别人好的算法,进行了一个总结1.在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。public class Solution {  public boolean Find(int target, int [][] arr...

2018-09-13 17:23:36 452

mybatis与spring整合的jar包(含有springmvc)

此jar包主要用于SSM框架搭建过程中,整合框架的jar包,适合初学者在学习JAVA项目的时候,自己搭建SSM框架时使用。

2018-08-30

空空如也

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

TA关注的人

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