自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 kafka实战报错解决问题

在一个在线商城中,用户下单后需要进行订单的处理。为了提高订单处理的效率和可靠性,我们使用Kafka来实现订单消息的异步处理。当用户下单后,订单信息会被发送到Kafka的一个Topic中,然后订单处理系统会从该Topic中消费订单消息,进行订单处理。模拟数据以下是一条模拟订单数据的JSON格式:我们可以根据这个格式生成100条模拟数据,并发送到Kafka的order_topic中进行订单处理。要求:1) 将模拟数据发送到kafka消息队列中。

2023-09-09 16:27:34 768

原创 datax工具介绍及简单使用

Datax是一个异构数据源离线同步工具,致力于实现包括关系数据库、HDFS、Hive、ODPS、Hbase等各种异构数据源之间稳定高效的数据同步功能为了解决异构数据源同步问题,DataX将复杂的网状的同步链路变成了星型数据链路,DataX作为中间传输载体负责连接各种数据源。当需要接入一个新的数据源的时候,只需要将此数据源对接到DataX,便能跟已有的数据源做到无缝数据同步;DataX在阿里巴巴集团内被广泛使用,承担了所有大数据的离线同步业务,并已 持续稳定运行了7年之久。

2023-09-09 16:02:28 988

原创 简单了解Sqoop

sqoop是一款开源工具,主要运用在Hadoop(Hive)与传统的数据库(mysql\postgresql等)间进行数据的传递;它最早是作为hadoop的一个第三方模块存在,后来为了让使用者能快速部署以及迭代开发,最后独立成为Apache项目;依赖于hadoop,数据并行写入;传递类型分为两种:1)import——MySQL导入到HDFS中;2)export——将HDFS的数据导出到关系型数据库中;

2023-09-04 08:53:17 244

原创 Hive调优(SQL)

hive 0.7 的时候这个计算是自动化的,它首先会自动判断哪个是小表,哪个是大表,这个参数由(hive.auto.convert.join=true)来控制,然后控制小表的大小由(hive.smalltable.filesize=25000000)参数控制(默认是25M),当小表超过这个大小,hive会默认转化成common join;影响Hive效率的不仅仅是数据量过大;第一个job会将map端数据随机输入reducer,每个reducer做部分聚合,相同的key就会分布在不同的reducer中;

2023-08-24 20:56:40 217

原创 Hive中的DQL操作

当 Hive 提供的内置函数无法满足实际的业务处理需要时,可以考虑使用用户自定义函数进行扩展;分类用户自定义函数,一进一出用户自定义聚集函数,多进一出;类似于count/max/min用户自定义表生成函数,一进多出;类似于:explodeUDF开发继承org.apache.hadoop.hive.ql.exec.UDF;需要实现evaluate函数;evaluate函数支持重载;UDF必须要有返回类型,可以返回null,但是返回类型不能为void;UDF开发步骤。

2023-08-24 20:56:12 87

原创 hive中的DDL操作以及数据的导入导出

DDL(data definition language),命令有CREATE、ALTER、DROP等。主要用在定义、修改数据库对象的结构或数据类型;

2023-08-24 20:55:49 150

原创 Hive中的数据类型

简单示例MAP嵌套ARRAY,手动设置集合格式的数据非常麻烦,建议采用INSERT INTO SELECT 形式构造数据再插入UNION表。格式为yyyy-MM-dd HH:mm:ss.fffffffff,即最多支持纳秒级,如果长度超出,则会变成NULL;STRUCT 与 C 语言中的 Struct 类似,它封装了一个命名字段集合,复杂数据类型允许任意层次的嵌套;只支持这种格式,其余格式是错误的,变为NULL;和基本数据类型一样,这些类型的名称同样是保留字;VARCHAR创建时需。,影响字符串的比较;

2023-08-24 20:54:53 1247

原创 简述hive环境搭建

Hive中元数据默认存在自带的derby的数据库中,而derby单进程,单用户,仅用户个人测试,生产环境采用MySQL存储Hive元数据。set > -hiveconf > hive-site.xml > hive-default.xml(系统)注意:启动Hive时,可以在命令行添加 -hiveconf param=value 来设定参数,这些设定。其中hive-default.xml移除后缀后,需要修改名为hive-site.xml。2)启动hive时指定参数(-hiveconf)

2023-08-24 20:54:35 104

原创 简单了解Hive

使用hive的原因是解决使用mapreduce的三个问题MapReduce 开发难度大,学习成本高(wordCount => Hello World)Hdfs文件没有字段名、没有数据类型,不方便进行数据的有效管理使用MapReduce框架开发,项目周期长,成本高Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表(类似于RDBMS中的表),并提供类SQL查询功能;Hive是由Facebook开源,用于解决海量结构化日志的数据统计;本质是。

2023-08-24 20:54:19 49

原创 HDFS与传统的文件系统的不同

它将大文件切分为多个数据块,并分散存储在不同的服务器上,以实现高吞吐量和并行处理能力。:HDFS采用了数据冗余机制,将数据块复制到不同的服务器上,保证了数据的可靠性。当某个服务器发生故障时,系统可以自动从其他副本中恢复数据,确保数据的可用性。它将数据块存储在就近的服务器上,并利用网络拓扑结构来减少数据传输的距离,从而实现快速的数据访问。总的来说,HDFS通过可扩展性、容错性和高效的数据访问等特点,使得它成为处理大数据的理想选择,并在大数据领域得到广泛应用。:与传统文件系统不同,HDFS不支持随机写入操作。

2023-08-18 17:39:55 860

原创 Yarn资源调度

Yarn是一个资源调度平台,负责为MapReduce运算程序提供服务器运算资源,如果把MapReduce等运算程序看成运行在操作系统上的应用程序,而Yarn相当于一个分布式的操作系统平台;组成结构如图所示处理客户端请求、启动/监控ApplicationMaster、监控NodeManager、资源分配与调度;单个节点上的资源管理、处理来自ResourceManager的命令、处理来自ApplicationMaster的命令数据切分、为应用程序申请资源,并分配给内部任务、任务监控与容错。

2023-08-11 16:46:12 60

原创 HDFS分布式文件系统

HDFS是hadoop核心组成,是一种分布式存储服务;选择分布式的原因是分布式文件系统横跨2多台计算机,在大数据时代有着广泛的应用前景,它们为存储和处理超大规模数据提供所需的扩展能力;而且,HDFS通过统一的命名空间目录树来定位文件;另外,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色(分布式本质是拆分,各司其职)。在讲解架构之前先要了解一些重要的概念(1)Master/Slave架构。

2023-08-09 16:23:07 78

原创 MapReduce编程框架

mapreduce是一个分布式运算程序的编程框架,核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式计算程序,并发运行在hadoop集群中。它主要分为两个阶段,“分”和“合”阶段。(1)“分”阶段=map,即把复杂的任务分解为若干个“简单的任务”,这些任务彼此间没有依赖关系;(2)“合”阶段=reduce,对map阶段得结果进行全局汇总;

2023-08-09 16:20:13 80

原创 hadoop组成及环境搭建

简单地说,集群就是指一组(若干个)相互独立的计算机,利用高速通信网络组成的一个较大的计算机服务系统,每个集群节点(即集群中的每台计算机)都是运行各自服务的独立服务器。其实很简单,先向NameNode请求获取到之前存入文件的块以及块所在的datanode的信息,分别下载并最终合并,就可以得到之前的文件。==注意:==如果集群是第一次启动,需要在NameNode所在节点格式化NameNode,非第一次不用执行格式化Namenode操作!具体搭建过程就不阐述了,这里主要介绍集群的启动;

2023-08-08 15:48:56 28

原创 Hadoop简单介绍

在介绍Hadoop之前,我们先了解大数据的相关概念;大数据是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。那么总结出来有五个特点:(1)大量-volume在数据采集、存储和计算的过程中,数据量非常大。通过计算机存储单位来举例基于IDC的报告预测,从2013年到2020年,全球数据量会从4.4ZB猛增到44ZB!

2023-08-05 13:28:04 115

原创 数据治理理论

数据治理的标准也分国内和国外。国外的有DAMA International 国际数据管理协会;国内的标准有DCMM模型。治理的大概流程图如下所示。

2023-07-28 17:20:15 165

原创 Linux概述及命令使用

Linux操作系统可以追溯到1969年,Unix是较早被广泛使用的计算机系统之一,第一版于1969年由肯汤普森实现,1973年肯汤普森和丹尼斯里奇用c语言重写了unix的第三版内核。Unix是个强大的多用户、多任务操作系统Unix的商标权由国际开放标准组织所拥有Unix操作系统商业版,收费继承了Unix的版本定制规则。

2023-07-18 17:30:24 56

原创 JDBC概述及数据表操作

首先引入数据持久化的概念——数据持久化:将数据保存到可掉电式存储设备中以供之后使用,也就是内存中的数据保存到硬盘上,过程一般由各种关系数据库完成,也可以存在磁盘文件、XML文件中。那么在java中,数据的存储技术可分为三类(1)JDBC直接访问数据库;(2)JDO技术;(3)第三方O/R工具。通过下图,可以看出JDBC是独立于特定数据库管理系统、通用的SQL数据库存取和操作的公共接口,即一组API。该接口有两个层次——(1)Java API,面向应用,抽象接口,供应用程序开发人员使用;

2023-07-14 11:21:46 142

原创 SQL语法执行顺序

AGG_FUNC(聚合函数 例如:AVG,SUM,COUNT,FIRST,LAST等)去重 字段|函数|表达式|常量。找到指定列 distinct。limit (起始条目索引,索引数);表2的基础上产生新的表3。符合连接条件的行记录在表2。选择指定行的记录,返回结果集。group by 分组。having 分组过滤。order by 排序。where 条件过滤。

2023-07-06 19:15:38 35

原创 数据库知识点总结(2)

变量是用户自定义的,不是由系统的使用步骤声明赋值使用(查看、比较、运算等)分类1.用户变量(1)作用域针对当前会话(连接)有效,同于会话变量的作用域,应用在任何地方,也就是begin end 里或外(2)声明并初始化set @用户变量名=值;set @用户变量名:=值;select @用户变量名:=值;赋值(更新用户变量的值)set @用户变量名=值;set @用户变量名:=值;select @用户变量名:=值;通过select into。

2023-07-05 08:36:43 103

原创 数据库知识点总结(1)

一款安全、跨平台、高效的,并与 PHP、Java 等主流编程语言紧密结合的数据库系统。该数据库系统是由瑞典的 MySQL AB 公司开发、发布并支持,由 MySQL 的初始开发人员 David Axmark 和 Michael Monty Widenius 于 1995 年建立的。2)DBMS(Database Management System):数据库管理系统,又称为数据库软件(产品),用于管理DB中的数据;长期存在计算机内,有组织、可共享的、大量数据的集合。结构化查询语言,用于和数据库通信的语言。

2023-03-23 10:12:54 51

原创 校园兼职平台

在整个项目运行过程中,先把大体框架确定,根据用户分为两个大模块,就是兼职人员模块和管理员模块,之后就是各自细分的功能模块。依次按照模块编写代码,输入多个测试用例进行测试,不断完善代码。过程中注意一些变量需要随着操作而更新,这样兼职人员和管理员收到的信息一致。为了保证系统的安全性,用户在注册系统时,提前录入的信息只用包含编号和姓名,用户登录注册时就通过这两个进行判定。判定信息单独作为一个文件,用properties进行操作,注册之后所有用户的详细信息再单独存入一个文件。

2023-03-17 11:12:19 228

原创 java内部类

基本介绍:一个类的内部完整嵌套了另一个类结构,被嵌套的类称为内部类,嵌套其他类的类称为外部类。特点:可以直接访问私有属性,可以体现类与类之间的包含关系。根据类的位置可以分为——外部类局部位置(方法/代码块)1)局部内部类2)匿名内部类外部类成员位置1)成员内部类2)静态内部类官方内部类优点如下1.每个内部类都能独立的继承一个接口的实现,所以无论外部类是否已经继承了某个(接口的)实现,对于内部类都没有影响。内部类使得多继承的解决方案变得完整;

2023-03-08 10:42:51 57

原创 NIO具体理解和实现

NIO是一种同步非阻塞的I/O模型,在Java 1.4 中引入了NIO框架,对应 java.nio 包,提供了 Channel , Selector,Buffer等抽象。阻塞模式,比较简单,但是性能和可靠性都不好;非阻塞模式正好与之相反。对于低负载、低并发的应用程序,可以使用同步阻塞I/O来提升开发速率和更好的维护性;对于高负载、高并发的(网络)应用,应使用 NIO 的非阻塞模式来开发。

2023-03-02 09:52:58 195

原创 BIO、AIO、NIO简单理解

假设有一排水壶在烧开水,该模式下就是一个线程须停留在一个水壶那,直到这个水壶烧开,才去处理下一个水壶。**缺点:**但是,当在高并发的场景下,需要大量的线程来维护大量的网络连接,内存、线程切换开销会非常巨大。当操作系统在把外部数据放到进程缓冲区的这段时间(即上述的第二,三步),如果应用进程是挂起等待的,那么就是同步IO,反之,就是异步IO,也就是AIO。同步非阻塞IO,还是举例烧开水,NIO的做法是叫一个线程不断的轮询每个水壶的状态,看看是否有水壶的状态发生了改变,从而进行下一步的操作。

2023-02-22 16:17:49 80

原创 java反射思想

在叙述反射之前,先来简单说明一下什么是类加载器?什么是类加载?

2023-02-22 10:17:08 64

原创 Java文件操作-I/O流

File类是文件和目录路径名的抽象表示文件和目录是可以通过File封装成对象的File封装的不是一个真实存在的文件,只是一个路径名;它可以存在,也可以不存在;将来要通过具体的操作把这个路径的内容转换为具体存在。从编程来看,递归是指方法定义中调用方法本身的现象。递归可以把一个复杂问题层层转化为一个相较于原问题规模较小的问题来求解。只需少量程序就可描述出解题过程中的多次重复计算。注意事项递归一定要有出口,否则内存溢出。但是递归次数不宜过多。否则也会溢出。逐个分析。

2023-02-17 14:53:16 767

原创 数据结构-哈希表

散列表(Hash table,也叫哈希表),是根据键(Key)而直接访问在内存存储位置的数据结构。哈希表是利用了空间来换取更短时间的数据结构。如下图所示,实现哈希表可以使用数组加链表的方式。另外一种方式是通过数组和二叉树实现。举例判断一个字符串是否在原集合存在,只需要拿着这个数对应在新数组的索引位置看是否为true就能知道是否存在。所以时间复杂度为O(1)。也就是说,哈希表通过计算一个关于键值的函数,将所需查询的数据映射到表中一个位置来访问记录,这加快了查找速度。

2023-02-12 18:48:03 156

原创 java容器集合

集合是提供一种存储空间可变的存储模型,其存储的数据容量可以发生改变。

2023-02-12 15:47:10 280

原创 java项目开发团队分配管理软件

/注册System.out.println("----开始注册----");System.out.println("请输入你的注册账户名称:");System.out.println("请输入你的注册账户密码:");System.out.println("注册成功!请登录");//登录//失败次数System.out.println("*** ***");System.out.println("请输入你的登录账户名称:");

2023-02-07 10:58:21 381

原创 String、StringBuffer和StringBuilder

代表字符串,程序中的带双引号字符串都是String类的对象,其在java.lang包下,所以使用时不用导包。String适用于少量的字符串操作。

2023-01-06 19:38:07 151

原创 常用类和异常体系

完成MathLib类,可以做加,减,乘,除等功能,其中加法不但可以做数字的加法,还可以做字符串的相加。1)声明MathLib类,为了方便做字符串的相加,传入的参数数据类型定义为String类型,使用matches方法,对两个字符串进行匹配是否为0-9数字,符合条件就用Integer包下的parseInt方法将其转为int型数据并相加;若不匹配,则直接输出字符串相加的结果。

2023-01-05 20:08:40 97

原创 抽象类和接口

没有方法体的方法叫抽象方法,有抽象方法的类一定是抽象类。而抽象类就是对类进行抽象。一种公共的规范标准,只要符合就可以通用。就像现实中的USB接口一样,只要对应的插头,都可以接上。而java中的接口体现在对行为的抽象山。

2023-01-03 20:29:42 1814

原创 面向对象的三大特征

万物皆对象,面向对象用通俗的话来说就是了解对象的详细信息,并专注它。而面向对象有三个特征,分别是封装、继承、多态。能够使类的信息隐藏在类的内部,不被外部访问,而是通过这个类提供的方法进行对隐藏信息的操作和访问。API就是应用程序接口,在java中指的是JDK提供的各种功能的java类,这些类将底层的实现封装了起来,我们不用关心如何实现,只学习使用。使用API帮助文档,可以得知类在哪个包,它的描述,构造方法,成员方法。同一对象,在不同时刻表现出来的不同形态。

2022-12-30 15:04:28 76

原创 [面向对象]如何构建自己的对象

1)首先在圆柱体类当中,底边半径和高都只能被这个类调用,所以使用private修饰符进行修饰,之后进行set和get底边半径和高,get方法定义为double型,用if判断和声明一个boolean型变量进行底边半径和高是否合法判断,并返回判断值。3)在测试类中,先创建Circular的对象,之后进行这个对象的设置获取底边半径和高,再调用方法计算底面积和体积,最后调用messa方法进行打印输出。丈夫类中有一个getInfo方法,其中,能显示自己的姓名,年龄,和他的妻子的姓名,年龄。

2022-12-27 18:56:41 182

原创 项目家庭记账程序

经过一段时间的基础学习,做一个简单的家庭记账程序。二维数组的使用,在遍历当中需要注意行数和列数,在记账程序中,会受到数组长度的限制,无法存储更多的记录,就可以用数组扩容的方法。

2022-12-26 16:32:52 57

原创 java综合练习

1)给出一个1-1000的数,在循环当中,对它进行判断,第一个if语句判断奇数偶数,得到的数用第二个if语句进行判断,是否等于1,不等于就再接着进行判断,直到得到的数等于1,那就证明鬼谷猜想验证成功。2)要把每次构成的数相加b次,每次构成的数方法是,先求和,每次循环都把新构成的数叠加,之后要实现aaa这样的形式的数,每次乘以10,让a向左移位,然后把这个数加上他本身,也就是尾数。1)定义数组和输入的数据,然后进行方法的定义,要找到数据在这个数组中的索引,定义该方法为int型,参数为数组和要查找的数。

2022-12-23 17:42:59 190

原创 java方法练习

第二种 只考虑长度和内容,在main方法中输出是否一致,需要时返回值类型,把equals方法定义为boolean型,如果长度不一致,返回false,遍历判断两个数组元素是否一致,不一致返回false,其余情况返回true。2)method1方法和method类似,增加了一个计算矩形面积,因为需要返回值,所以在声明时标注返回值的类型为int类型,在main方法调用时,定义一个int变量 area(和方法定义一致),然后打印输出面积。在main方法中直接调用它,method();

2022-12-22 10:58:32 308

原创 数组java练习总结

3)增加判断条件,前26个位大写字母,后10个元素是0-9,所以再i为25时,利用题目给出的‘0’+1 -> ‘1’,char类型运算,将letter值改变,修改为’0’-1,然后letter随循环加一,a[25]=0。升景坊单间短期出租4个月,550元/月(水电煤公摊,网费35元/月),空调、卫生间、厨房齐全。2)for循环遍历,先找到最大数,找到下一个最大值,就把上一个最大数的值和位置赋值给第二大数,如果遍历的这个数不大于最大数,就去和第二大数进行比较,符合条件就将这个数赋值给第二大数。

2022-12-21 09:46:30 837

原创 流程控制(分支语句循环语句)

解决:for1循环找1-1000之间的所有完数,for2循环,找到这个数的因子,并把他们加起来,最后判断如果这个数的因子之和等于它本身,那么这个数就是完数。解决:有参考,做题时,没有想到将循环嵌套,分析题目,排序的结果一共有6种,可以通过前两个整数的比较结果分为两大类,再通过循环嵌套进行细分,去和第三个整数进行比较,最终打印输出结果。解决:注意count的次数和i的定义,打印输出20个3的倍数,若i=0,那么count的界限要选在21,不然就会少算一次的和。保证j的值是从最大值开始,然后开始逐级递减的。

2022-12-19 15:42:17 55

空空如也

空空如也

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

TA关注的人

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