自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

QYHuiiQ

java

  • 博客(462)
  • 收藏
  • 关注

原创 好记性不如烂笔头之Java基础复习笔记

未完待续。。。

2023-02-14 20:30:33 2204 1

原创 Spark DStream之有状态操作实现WordCount

在之前的案例中,实现的DStream是通过每个采集周期内独立进行逻辑处理的,在某些业务场景中,可能是需要将每个周期内的计算结果进行汇总,这时就需要一种有状态的采集。可以看到最终态的count值确实是所有周期内的结果汇总在一起的。

2022-11-24 20:11:35 230

原创 Spark DStream之无状态操作实现WordCount

可以看到控制台中是以2秒的周期进行数据采集的,同一周期内的数据一起处理。这样就实现了DStream中近实时、微批量的数据处理。

2022-11-23 20:52:12 489

原创 windows下安装netcat

打开两个窗口,一个发消息,一个监听。这样就说明连接建立成功。nc -lp 端口号。

2022-11-23 20:27:10 147

原创 Spark SQL之IDEA中的应用

【代码】Spark SQL之IDEA中的应用。

2022-11-20 19:51:20 463

原创 Spark SQL之DataSet简单操作

【代码】Spark SQL之DataSet简单操作。

2022-11-16 20:16:00 515

原创 SparkSQL之DataFrame的简单操作

【代码】SparkSQL之DataFrame的简单操作。

2022-11-15 20:45:35 216

原创 Spark自定义累加器实现WordCount

【代码】Spark自定义累加器实现WordCount。

2022-11-05 21:04:36 81

原创 Spark自定义分区器

【代码】Spark自定义分区器。

2022-11-03 21:33:30 317

原创 Spark join操作

所以在使用join操作的时候要慎重,因为在这个过程中涉及到笛卡尔积的计算会造成join之后的数据量大量增长,引起性能问题。当两个RDD中的key没有同时存在时,只会将共同存在的key的值进行连接,各自单独存在的key会丢掉。rdd1中单独存在的key为x,和rdd2中单独存在的key为y的元素都不会进行连接。同一个key在某个RDD中出现多次时,会做一个类似于笛卡尔积的操作,进行两两连接。rdd1调用右外连接时,会以rdd2为主,将rdd2中的所有key进行连接。

2022-10-30 16:20:34 235

原创 Spark交集/差集/并集/拉链

一定要注意,在Spark中使用zip时,必须是两个RDD中的元素个数相同才可以,否则报错。

2022-10-25 21:33:55 435

原创 Spark sort算子

在多个分区的情况下,如果使用sort,会将所有分区的数据放在一起进行排序,排序后再重新分区,而不是在各自的分区内进行排序,在该算子实现过程中是有shuffle操作的。默认排序是升序,也就是sortBy中的参数二表示升序默认是true,如果需要降序排序,可以将其设置为false。可以看到结果中是将原RDD中的所有数据放一起进行排序的,之后再进行分区。可以看到运行结果也是先对全局RDD进行排序,再分组。对于字符串类型的数据,会按照字典序进行排序。

2022-10-25 21:11:38 377

原创 Spark coalesce算子

出现这样的结果是因为,coalesce算子默认不会打乱原来分区内的数据,即不会拆散原来某个分区内的数据重新组合,这样也就会可能导致数据倾斜,所以我们可以加上第二个参数设置为true,来表示在缩减分区时允许数据重新组合(是否shuffle)来实现数据均衡。好像并没有像我们想的那样会将原来RDD中的前三个元素放在一个分区,后三个元素放在一个分区。原来RDD中的前两个元素被分到了一个分区,后两个元素被分到了一个分区。这样,缩减分区后的数据相对来讲就不会出现不平衡的情况。

2022-10-25 19:52:38 504

原创 Spark测试元素操作前后分区不变

可以看到,原始元素中1和2都在分区00000中,做乘操作后,对应的2和4也在分区00000中,以上测试说明在操作元素前后,分区不变。在Spark中,对原始的RDD中的元素进行操作,例如乘法操作,操作前后,元素对应的值所在的分区不变。生成了两个目录,并在各自目录下根据我们的参数配置,各自生成了两个分区文件。

2022-10-20 21:19:14 120

原创 Spark中flatMap的操作

【代码】Spark中flatMap的操作。

2022-10-20 20:48:51 205

原创 Spark中对分区编号的操作

【代码】Spark中获取分区编号。

2022-10-19 21:23:14 152

原创 Linux环境搭建spark3 yarn模式

这里一定要注意hostname中不能包含下划线!搭建好之后启动hadoop集群。至此,spark的搭建基本完成。

2022-10-12 22:05:56 526

原创 Hadoop3.2.0运行wordcount程序报错Please check whether your etc/hadoop/mapred-site.xml contains the below

将修改后的文件同步到集群中的其他节点上,不需要重启集群,重新运行原来自己要执行的程序即可正常执行。

2022-10-12 20:28:37 495

原创 启动hadoop集群报错ERROR: Cannot set priority of namenode process 2570

因为主机名中包含了下划线,所以报错。

2022-10-11 22:01:16 681 1

原创 Spark之WordCount案例

【代码】Spark之WordCount案例。

2022-10-08 21:44:20 158

原创 运行Spark报错org.apache.spark.SparkException: A master URL must be set in your configuration

【代码】运行Spark报错org.apache.spark.SparkException: A master URL must be set in your configuration。

2022-10-08 21:16:36 377

原创 Windows环境下配置Spark3.0.0

如果双击的时候是闪了一下,那么说明安装成功。至此,Spark的环境就搭建好了。

2022-10-08 21:00:31 196

原创 运行Spark报错scalac: Token not found

【代码】运行Spark报错scalac: Token not found。

2022-10-08 19:36:43 192

原创 Scala中字符串的常用示例

【代码】Scala中字符串的常用示例。

2022-08-25 20:29:27 389

原创 Scala与Java静态属性的简单实现

在java中我们可以通过定义一个类及其属性来实现一些功能,对于一些静态属性,可以直接通过类来调用,而在scala中没有了静态这个概念,如何实现这样的功能。

2022-08-24 21:06:34 129

原创 Scala之HelloWorld案例

【代码】Scala之HelloWorld案例。

2022-08-22 21:28:10 79

原创 Java与Scala编译的简单对比

在java中,编译是通过javac来编译的,而在scala中,编译是通过scalac来编译的。在编译的过程中也可以感受到scala的编译相对来说会比java编译得慢一些。java文件的后缀是.java,而scala文件的后缀是.scala。

2022-08-21 21:21:34 255

原创 Windows下搭建Scala环境

由于我们使用Scala最主要是因为我们要之后要使用Spark,而最新版本的Spark是3.0版本的,它是依赖于Scala2.12.x版本的,所以这里我们就下载Scala2.12.x的。

2022-08-21 19:46:48 175

原创 MapReduce调优方案

以上参数的配置都应结合自己实际的硬件资源以及业务需求,按需调整。

2022-08-11 20:49:28 779

原创 HDFS之小文件归档

在实际生产应用总难免会遇到一些小文件,而对于任何一个文件块来说,无论块本身的大小如何,他们的元数据都会在内存中占用150个字节,如果系统中存储了大量的小文件,那么就会造成较大的资源浪费,所以我们会对小文件进行归档,使多个小文件当作一个文件去占用内存中的150个字节。该过程背后实际上是MapReduce在操作,所以要确保yarn进程是启动的。这样就简单地实现了HDFS中小文件的归档。...

2022-08-10 21:41:33 320

原创 Splunk中解决数据质量问题常见日期格式化

在splunk索引数据时,会对数据进行一些自动的解析和提取,比如帮我们提取原始log里的日期,也会对某些格式的数据进行合并,将多行的数据合并为一条记录存储在splunk中,而这些自动提取的过程有时并不符合我们真实的业务逻辑,所以需要我们自己去配置;或者对于有些格式的数据,splunk自己也无法判断如何处理时可能就会出现各种解析错误。......

2022-08-09 20:15:00 283

原创 MapReduce中ETL数据清洗案例

在实际业务场景中,我们在对数据处理时会先对数据进行清洗,比如过滤掉一些无效数据;清洗数据只需要map阶段即可,不需要reduce阶段。在该案例中我们要实现的是员工表数据中只留下部门编号为d01的数据。可以看到只有部门为d01的数据留下来了,符合预期结果。这样就简单地实现了ETL中地数据清洗过程。...

2022-08-01 21:29:03 544

原创 Hadoop3.x中MapReduce实现Map端join案例

在上一个案例中我们使用的是reduce端的join实现了两个表之间的连接,但是reduce端join会使大量数据在传输过程中较多产生资源的消耗,同时也会造成数据倾斜。如果我们能将这些数据在map端进行处理,这样在数据传给reduce端的时候就会压力较小,并且此时reduce端不需要在进行特殊处理,所以我们就可以将reduceTask的个数设置为0。mapjoin的大致思路就是在mapper中初始化时将一张小表进行缓存,然后在map阶段用大表来对这个小表进行join,该案例中我们会将部门表进行缓存。.....

2022-08-01 19:12:14 91

原创 Hadoop3.x中MapReduce实现Reduce端join案例

有两个表,一个表是员工表(eid,name,deptid),另一个表是部门表(deptid,dept),想要实现的功能是经过reduce之后最后输出的是一个将员工表中的deptid替换为部门表中的dept的一个表(eid,name,dept),连个表之间通过deptid进行join。在数据库中我们经常会遇到一些业务场景需要将多个表进行join实现某些特定的业务逻辑,在MapReduce中也可以实现join,这个join功能可以是在map端也可以是在reduce端。...

2022-07-31 20:29:24 212

原创 Hadoop3中实现MapReduce自定义OutputFormat

在这个案例中我们想要实现的是,对于一个订单文件中的订单数据进行过滤,将订单中的不同类别商品输出到不同的文件中,这里与分区不同的是,分区无法指定写入的输出文件名,而这里我们可以指定水果放在fruit.txt中,冷冻食品放到frozen.txt中,蔬菜放到vegetable.txt中。虽然说我们需要自定义OutputFormat去实现输出类,但真正写数据的实现是由RecordWriter完成的,素以我们需要自定义一个类去实现RecordWriter中的方法。这样就简单地实现了自定义OutputFormat。..

2022-07-29 22:22:01 215

原创 MapReduce中分区数与ReduceTask个数关系比较

在MapReduce中如果不设置ReduceTask个数时,默认为1;

2022-07-25 21:36:10 485

原创 Hadoop3.x使用CombineTextInputFormat实现小文件合并

在hadoop中对文件进行切片时,默认使用TextInputFormat中的切片机制,即按文件进行切片,不管文件大小,每个文件都会是一个单独的切片,并且每个文件/切片都会由一个单独的MapTask进行处理,但是这种切片机制会造成一个问题,如果有大量的小文件,那么也就要分配大量的MapTask,但每个文件的数据量又很小,光是启动MapTask的过程就会消耗大量的资源,这样显然是不合理的。以上的例子就简单测试了CombineTextInputFormat在小文件切片时的应用。可以看到日志中显示有5个切片。...

2022-07-24 21:29:44 438

原创 Hadoop HDFS API客户端配置

https://github.com/cdarlint/winutils这里我下载的是3.1.0版本的。下载后解压,将其余版本的安装包删掉,只留下了我需要的3.1.0安装包: 如果双击的之后是闪了一下,那么说明安装成功,如果是出现下面的报错,则是由于缺少一些运行库。如果报错,可以参考这篇博客中的解决方法:https://blog.csdn.net/QYHuiiQ/article/details/125694148?spm=1001.2014.3001.5502 在src/main/resources

2022-07-10 15:35:33 416

原创 vmware启动虚拟机报错无法连接到虚拟机

之前可以正常启动虚拟机,但是今天突然无法启动,报如下错:可能是因为我昨天为了解决别的问题安装了vcredist_x64,导致又产生了新的问题。解决方法:在试了网上很多方法之后都没能解决,按照下面的方法成功解决。下载微软运行库,并解压:链接:https://pan.baidu.com/s/1M85poWXabpOaYoI-w_Uabg 提取码:zct7 双击运行:重启电脑之后问题解决了。......

2022-07-10 14:37:41 1835

原创 Hadoop HDFS API客户端安装报错找不到MSVCR100.dlll

在windows上配置好环境变量运行winutils时报如下错误:解决方案:注意我的windows是64位的,所以这里下载的是vcredist_x64.exe。一定要注意下载2010版本的,下载之后双击安装即可。https://docs.microsoft.com/zh-cn/cpp/windows/latest-supported-vc-redist?view=msvc-170双击exe文件安装: 安装完成,问题解决。踩过的坑:按照网上的很多方法尝试下载MSVCR100.dlll文件然后放到相应的目录下,

2022-07-09 20:34:24 240

空空如也

空空如也

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

TA关注的人

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