自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(80)
  • 资源 (17)
  • 收藏
  • 关注

原创 Flink04: Flink核心API之DataSet

DataSet API主要可以分为3块来分析:DataSource、Transformation、Sink。

2023-02-22 21:33:22 1176 1

原创 Flink04: Flink核心API之DataStream

Flink中提供了4种不同层次的API,每种API在简洁和易表达之间有自己的权衡,适用于不同的场景。目前上面3个会用得比较多。• 低级API(Stateful Stream Processing):提供了对时间和状态的细粒度控制,简洁性和易用性较差,主要应用在一些复杂事件处理逻辑上。

2023-02-21 23:28:13 544

原创 Redis02: Redis基础命令

先启动redis服务,使用redis-cli客户端连到redis数据库里面。

2023-02-21 22:53:41 499

原创 org.apache.flink.runtime.JobException: Recovery is suppressed by NoRestartBackoffTimeStrategy

pom.xml中某个jar包scala版本与运行环境flink Scala不一致导致的。比如,我的scala版本是2.12,而用了redis依赖支持的scala版本是2.11。将redis版本改为1.1.0 (支持scala2.12)

2023-02-19 17:46:05 1947

原创 Flink03: 集群安装部署

Flink支持多种安装部署方式这些安装方式我们主要讲一下standalone和on yarn。如果是一个独立环境的话,可能会用到standalone集群模式。在生产环境下一般还是用on yarn 这种模式比较多,因为这样可以综合利用集群资源。和我们之前讲的spark on yarn是一样的效果,这个时候我们的Hadoop集群上面既可以运行MapReduce任务,Spark任务,还可以运行Flink任务,一举三得。

2023-02-19 15:55:53 910

原创 Flink02:Flink快速上手(Streaming WorldCount)

(1)先把Flink的开发环境配置好。(2)创建maven项目:db_flink(3)首先在model中将scala依赖添加进来。(4)然后创建scala目录,因为针对flink我们会使用java和scala两种语言(5)创建包名在src/main/java下创建 com.imooc.java在src/main/scala下创建 com.imooc.scala。

2023-02-19 11:58:11 605

原创 Flink01: 基本介绍

1. Flink是一个开源的分布式,高性能,高可用,准确的流处理框架(1)分布式:表示flink程序可以运行在很多台机器上,(2)高性能:表示Flink处理性能比较高(3)高可用:表示flink的稳定性和可用性是比较好的。(4)准确的:表示flink可以保证处理数据的准确性。2. Flink支持流(Stream)处理和批处理(Batch)其实对于flink而言,它是一个流处理框架,批处理只是流处理的一个极限特例而已。

2023-02-19 11:15:44 449

原创 Spark12: SparkSQL入门

Spark SQL和我们之前讲Hive的时候说的hive on spark是不一样的。hive on spark是表示把底层的mapreduce引擎替换为spark引擎。而Spark SQL是Spark自己实现的一套SQL处理引擎。Spark SQL是Spark中的一个模块,主要用于进行结构化数据的处理。它提供的最核心的编程抽象,就是DataFrame。它其实和关系型数据库中的表非常类似,RDD可以认为是表中的数据,Schema是表结构信息。

2023-02-18 18:51:29 476

原创 Spark11: 算子优化

3)不过一般情况下,mapPartitions 的性能更高;初始化操作、数据库链接等操作适合使用 mapPartitions操作,这是因为:假设需要将RDD中的每个元素写入数据库中,这时候就应该把创建数据库链接的操作放置在mapPartitions 中,创建数据库链接这个操作本身就是个比较耗时的,如果该操作放在 map 中执行,将会频繁执行,比较耗时且影响数据库的稳定性。针对个别RDD,如果感觉分区数量不合适,想要调整,可以通过repartition进行调整,分区调整了之后,对应的并行度也就可以调整了。

2023-02-16 23:47:11 159

原创 Spark10: 性能优化(Kyro序列化、持久化,JVM调优、并行度、数据本地化)

数据本地化,指的是,数据离计算它的代码有多近。数据本地化对于Spark Job性能有着巨大的影响。如果数据以及要计算它的代码是在一起的,那么性能当然会非常高。但是,如果数据和计算它的代码是分开的,那么其中之一必须到另外一方的机器上。通常来说,移动代码到其它节点,会比移动数据到代码所在的节点,速度要得多,因为代码比较小。Spark也正是基于这个数据本地化的原则来构建task调度算法的。

2023-02-14 22:44:42 639

原创 Spark09: Spark之checkpoint

checkpoint,是Spark提供的一个比较高级的功能。有时候,我们的Spark任务,比较复杂,从初始化RDD开始,到最后整个任务完成,有比较多的步骤,比如超过10个transformation算子。而且,整个任务运行的时间也特别长,比如通常要运行1~2个小时。在这种情况下,就比较适合使用checkpoint功能了。因为对于特别复杂的Spark任务,有很高的风险会出现某个要反复使用的RDD因为节点的故障导致丢失,虽然之前持久化过,但是还是导致数据丢失了。

2023-02-12 16:28:15 1083 1

原创 Spark08: Spark Job的三种提交模式

这种方式主要用于测试,查看日志方便一些,部分日志会直接打印到控制台上面,因为driver进程运行在本地客户端,就是提交Spark任务的那个客户端机器,driver负责调度job,会与yarn集群产生大量的通信,一般情况下Spark客户端机器和Hadoop集群的机器是无法内网通信,只能通过外网,这样在大量通信的情况下会影响通信效率,并且当我们执行一些action操作的时候数据也会返回给driver端,driver端机器的配置一般都不高,可能会导致内存溢出等问题。基于Spark自己的standalone集群。

2023-02-01 23:01:46 1004

原创 Spark07: 宽窄依赖、Stage的划分

也就是说,每一个父RDD的partition中的数据都可能会传输一部分到下一个RDD的每个partition中。一个RDD,对它的父RDD只有简单的一对一的关系,也就是说,RDD的每个partition仅仅依赖于父RDD中的一个partition,父RDD和子RDD的partition之间的对应关系,是一对一的。(2)再看下面,RDD G到RDD F,产生了宽依赖,所以RDD F属于一个Stage,因为RDD F和 RDD C、D、E 这几个RDD没有产生宽依赖,都是窄依赖,所以他们属于一个Stage。

2023-02-01 22:55:28 984

原创 Spark06: 共享变量(广播变量、累加变量)

Spark提供的Accumulator,主要用于多个节点对一个变量进行共享性的操作。正常情况下在Spark的任务中,由于一个算子可能会产生多个task并行执行,所以在这个算子内部执行的聚合计算都是局部的,想要实现多个task进行全局聚合计算,此时需要使用到Accumulator这个共享的累加变量。大家可以想象一个极端情况,如果map算子有10个task,恰好这10个task还都在一个worker节点上,那么这个时候,map算子使用的外部变量就会在这个worker节点上保存10份,这样就很占用内存了。

2023-01-08 22:34:22 401

原创 Spark05: RDD持久化

当对RDD执行持久化操作时,每个节点都会将自己操作的RDD的partition数据持久化到内存中,并且在之后对该RDD的反复使用中,直接使用内存中缓存的partition数据。cache()是persist()的一种简化方式,cache()的底层就是调用的persist()的无参版本,也就是调用persist(MEMORY_ONLY),将数据持久化到内存中。(1)如果需要进行数据的快速失败恢复,那么就选择带后缀为_2的策略,进行数据的备份,这样在失败时,就不需要重新计算了。

2023-01-08 15:14:09 698

原创 Spark04: Transformation与Action开发

Transformation和Action这里的Transformation可以翻译为转换,表示是针对RDD中数据的转换操作,主要会针对已有的RDD创建一个新的RDD:常见的有map、flatMap、filter等等Action可以翻译为执行,表示是触发任务执行的操作,主要对RDD进行最后的操作,比如遍历、reduce、保存到文件等,并且还可以把结果返回给Driver程序不管是Transformation操作还是Action操作,一般会把它们称之为算子,例如:map算子,reduce算子。

2023-01-03 23:59:07 438

原创 Spark03: 单词统计

然后把spark-core依赖的作用域设置为provided,不需要把相关依赖打入jar包。再创建一个Scala object:WordCountScala。在scala目录下创建包com.sanqian.scala。在scala目录下创建包com.sanqian.java。需要java编译插件、Scala编译插件、打包插件。再创建一个Java类:WordCountJava。提交脚本: lwx_run.sh。

2023-01-02 20:30:52 216

原创 Spark02: Spark运行任务三种方式

spark-shell 实现了用户可以逐行输入代码,进行操作的功能。即可以不像Java一样,编写完所有代码,然后编译才能运行。spark-shell 支持。交互环境 和 python交互环境,在学习测试中可以使用spark-shell 进行API学习。spark-shell会自动创建sparkContext。注意:需要先启动spark standalone集群。比如:需要连接数据库,无法在本地调试的情况。会启动一个spark任务。

2023-01-02 19:35:50 808

原创 Spark01:Spark工作原理

RDD通常通过Hadoop上的文件,即HDFS文件进行创建,也可以通过程序中的集合来创建RDD是Spark提供的核心抽象,全称为Resillient Distributed Dataset,即弹性分布式数据集弹性:RDD数据默认情况下存放在内存中,但是在内存资源不足时,Spark也会自动将RDD数据写入磁盘分布式:RDD在抽象上来说是一种元素数据的集合,它是被分区的,每个分区分布在集群中的不同节点上,从而让RDD中的数据可以被并行操作。

2023-01-01 21:30:43 615

原创 pandas数据分析

pandas数据分析

2022-12-11 11:31:43 413

原创 Linux03: shell编程

(1)shell中变量的命名要求: 只能使用数字、字母和下划线,且不能以数字开头(2)变量赋值是通过"="进行赋值,在变量、等号和值之间不能出现空格!

2022-10-31 00:40:18 262

原创 Linux02: 防火墙基本操作

CentOS 7版本后防火墙默认使用的是firewalld,我们可通过运行以下命令来查看防火墙状态以及关闭防火墙。

2022-10-30 23:33:04 62

原创 Alibaba Fastjson的基本使用

FastJson 与 Google 的 Gson 都是解析 Json 的强者。

2022-10-22 00:25:27 731

原创 Redis01: Centos7安装Redis

问题:如果编译报错:zmalloc.h:50:31: fatal error: jemalloc/jemalloc.h: No such file or directory。指定前缀的方式:make PREFIX=/opt/module/redis-5.0.9 install。如果不指定前缀,默认会将bin下的可执行脚本复制到/usr/local/bin目录下。解决:编译的时候带上参数,make MALLOC=libc。第二处:指定日志位置,默认丢到/dev/null。进入cli客户端,直接进入。

2022-10-07 17:05:19 240

原创 大数据技术之Hbase

命名空间:相当于MySQL中的数据库行键(rowkey): 相当于MySQL表的主键列族:一系列列的集合,创建表的时候至少要定义一个列族,列不需要定义。数据类型:不管是什么数据类型 在HBASE中存储的时候统一转化为字节数组。

2022-10-07 01:39:37 1650

原创 大数据技术之Hive

Hive是建立在Hadoop上的数据仓库基础架构,它提供一系列的工具,可以进行数据提取、转化、加载(ETL)Hive定义了简单的类SQL查询语言,成为HQL,它允许熟悉SQL的用户直接查询Hadoop中的数据Hive包含SQL解析引擎,它会将SQL语句转译成MR Job,然后再hadoop中执行第二种方式工作中更常用(95%)方式1: load data .... partition方式2: 创建目录,上传数据,绑定已有的数据到指定分区。

2022-10-04 17:46:05 1372

原创 Hadoop之企业级解决方案

MapReduce程序执行时,Reduce节点大部分执行完毕,但是有一个或者几个Reduce节点运行很慢,导致整个程序处理时间变得很长,具体表现为:Reduce阶段一直卡着不动。Hadoop的HDFS和MapReduce框架是针对大数据文件来设计的,在小文件的处理上不但效率低下,而且十分消耗内存资源。SequenceFile需要一个合并文件的过程,文件较大,且合并后的文件不方便查看,必须通过遍历查看每一个文件。解决方案是通常选择一个容器,将小文件同意组织起来,HDFS提供了两种类型的容器,分别是。

2022-10-02 19:03:49 1744

原创 MapReduce之扩展

b. stdout : 是 System.out.println 打印的日志。如果时分布式还需要添加下面的配置,然后将yarn-site.xml分发到其他节点,重启集群。c. syslog : 是logger打印的日志。只是用Map阶段: 当不需要聚合功能只需要过滤和解析式。a. stderr : 错误日志。在yarn-site.xml中添加配置。(2)设置reduce任务数为0。(1)删除reduce相关代码。

2022-10-02 00:08:47 390

原创 MapReduce之WordCount程序打包

provided

2022-10-01 22:50:36 659

原创 MapReduce原理

5. 把所有的临时文件合并成一个大文件,因为一个map任务只会生成一个文件(也有多个分区),每个分区的数据会被shuffle线程拷贝到不同的reduce节点上。3. MapTask的输出会先写入到内存缓冲区(100M),当内存缓冲区的大小达到80%的大小,会把内存中的数据溢写到磁盘里面(溢写之前会进行分区排序,按照key进行升序排列),一直等到MapTask把所有的数据都计算完,最后会把内存缓冲区里面剩余的数据一次性全部刷新到本地磁盘文件中。4. 每个文件都是有多个分区的,同一个分区的数据放到一起。

2022-09-30 23:40:30 606

原创 HDFS入门教程

主要负责定期把edits文件中的内容合并到fsimage中,这个合并操作被称为checkpoint,在合并的时候会对edits中的内容进行转换,生成新的内存保存到fsimage中注意:在NameNode的HA架构中没有SecondaryNameNode进程,文件合并操作会由standby NameNode负责实现。

2022-09-24 22:38:06 698

原创 Java操作HDFS

方法一: 关闭HDFS权限校验,vim hdfs-site.xml 添加配置。其他用户没有访问HDFS的权限,解决办法有两种。方法二:修改HDFS根路径的权限为777。访问HDFS时发生报错。

2022-09-24 14:59:22 934

原创 Scala教程

默认参数:在函数定义时,允许制定参数的默认值def printMessage(name: String = "itcats", age: Int = 18, country: String = "中国"): Unit = {}printMessage(age = 20, country = "美国")}占位符_ 的使用只能用var,不能用valvar 修饰的属性会自动生成getter / setter方法val 修饰的属性只会生成gettter 方法。

2022-09-20 00:42:28 1962

原创 ElasticSearch Python API教程

例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

2022-09-04 00:43:31 1124

原创 pyspark 使用pandas_udf 报错:java.lang.IllegalArgumentException

pyspark使用pandas_udf时的一个坑2.运行报错:3. 解决办法报错原因:pyarrow 版本太高。解决办法:卸载pyarrow,安装低版本的pyarrow,这里安装0.12.0 程序就正常了。

2022-06-13 00:12:59 567 2

原创 windows上搭建pyspark开发环境

软件环境:5. winutils安装6. spark-2.3.2-bin-hadoop2.7安装好jdk后,配置环境变量参考:windows 安装jdk1.8_小猫不会去楼兰捉虫的博客-CSDN博客官网下载scala, 将scala解压到指定目录,配置环境变量到path官网下载python,安装并配置环境变量官网下载版本>=spark对应hadoop版本,解压缩后配置HADOOP_HOME,bin目录追加到PATH5. winutils安装 下载地址:GitHub - steveloughran/winut

2022-06-12 20:34:21 602

原创 windows 安装jdk1.8

1. 安装JDK本次安装JDK的版本是jdk-8u162-windows-x64,双击,按照提示一步步进行安装。自己可以根据情况指定安装目录2.配置环境变量 设置环境变量:在桌面右键单击 我的电脑→属性→高级系统设置→高级选项→环境变量→在用户变量 新建3个变量:变量名:JAVA_HOME变量值:C:\Program Files\Java\jdk1.8.0_91 (括号勿打,这里是输入你JDK的安装目录地址)变量名:CLASS_PATH变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_

2022-06-12 17:02:44 660

原创 windows无法上网:代理服务器出现问题或地址有误

1.问题描述微信、QQ可以登录正常使用,也可以ping通百度,但是浏览器无法上网,如下图所示。2.解决办法控制面板→网络和Internet→ Internet选项→连接→局域网设置:取消代理服务器勾选,选择自动检测设置,如下图所示。上网问题就解决了...

2022-05-14 22:36:29 22594 11

原创 pytorch 验证GPU是否可用

代码import torchflag = torch.cuda.is_available()print(flag)ngpu= 1# Decide which device we want to run ondevice = torch.device("cuda:0" if (torch.cuda.is_available() and ngpu > 0) else "cpu")print(device)print(torch.cuda.get_device_name(0))pri

2022-05-14 12:20:20 2465 1

原创 ubuntu20.04 安装TeamViewer

1.下载TeamViewer包wget https://download.teamviewer.com/download/linux/teamviewer_amd64.deb2.安装sudo apt install ./teamviewer_amd64.deb安装过程出现提示时是否要继续? [Y / n],键入Y继续安装。安装过程结束后,TeamViewer已经被安装在你的 Ubuntu 20.04 系统上了。3.运行TeamViewer可以通过在命令行中输入 teamvi

2022-05-14 12:12:57 1371

pyspark 数据处理样例数据

pyspark 数据处理样例数据

2022-06-14

大数据技术之Elasticsearch.doc

大数据技术之Elasticsearch.doc

2021-11-14

ElasticSearchV2.0.docx

ElasticSearchV2.0.docx

2021-11-14

ElasticSearch技术文档.7z

ElasticSearch技术文档.7z

2021-11-13

zhuanzheng .pptx

自用转正PPT模板,HHHHHHHHHHHHH

2021-11-08

09-SparkV1.2(PySpark)-LAPTOP-G48G0MSR.docx

09-SparkV1.2(PySpark)-LAPTOP-G48G0MSR.docx

2021-10-13

CDH6.0.1安装教程V2.0(亲测).docx

CDH6.01详细安装教程,亲测安装成功。文档的具体内容包括:软件版本选择、基本环境安装、安装Cloudera Manager 和安装CDH。希望对大家有帮助!

2019-12-13

Java面试需要掌握的JVM知识.docx

文档内容包括:JVM体系结构概述、JVM内存管理、JVM垃圾回收和JVM常见面试题。希望对大家有帮助!

2019-12-13

MapDB操作手册.docx

文本文档的使用对象是MapDB初学者,文档内容包括:MapDB简介、环境搭建和JavaAPI操作,欢迎下载使用。

2019-12-13

ElasticSearch技术文档V2.0.docx

本技术文档的使用对象是ElasticSearch初学者。文档内容包括:ElasticSearch环境搭建、JavaAPI操作、Head插件的使用、查询操作和文中分词。

2019-12-13

Tensorflow,Keras,pytorch深度学习环境安装教程.docx

Linux和Windows下深度学习开发环境安装教程,包括安装CUDA,CUDNN,Anaconda,PyCharmTensorflow、Keras、Pytorch等开发环境的安装。

2019-12-13

大数据常见面试题(2019版).docx

自己整理的大数据面试题,加上自己面试的时候遇到的题目,整合到一起。希望对大家有帮助!

2019-10-06

Linux视频教程

该课程为北风网的Hadoop前置课程Linux,2015年11月份录制,课程内容主要包括以下几个方面:1)Linux基本环境.2)Linux基本命令 3)Linux系统管理 4) Shell基本编程.

2018-02-18

李炎恢jQuery EasyUI视频教程

jQuery EasyUI是一组基于jQuery的UI插件集合体,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。开发者不需要编写复杂的javascript,也不需要对css样式有深入的了解,开发者需要了解的只有一些简单的html标签。李老师讲的真心不错。

2018-01-29

BootStrap视频教程

Bootstrap,来自 Twitter,是目前最受欢迎的前端框架。Bootstrap 是基于 HTML、CSS、JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加快捷。李老师讲的不错

2018-01-27

RAR压缩文件破解

WinRAR/RAR 压缩文件密码的恢复工具,如果用户不小心忘记了RAR文件的密码,就可以使用它进行破解。RAR密码破解软件支持所有版本的WinRAR/RAR 压缩文件,不管WinRAR /RAR 的密码有多长和多复杂,均可恢复。

2018-01-27

echarts从数据库获取数据实现

第一使用csdn分享资源,略激动大笑,本系统使用servlet+mysql+echarts 技术实现六种图表(柱状图、饼状图、折线图、散点图、雷达图、仪表盘)的静态和异步交互,使用的开发工具是eclipse。别的不多说了,需要的下载吧

2017-11-13

空空如也

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

TA关注的人

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