自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SpringBoot自定义注解实现接口日志记录

springboot aop注解实现项目日志记录

2024-03-29 11:25:15 553

原创 Springboot集成Rabbitmq

Springboot集成Rabbitmq

2024-03-22 14:13:02 884

原创 springboot动态切换多数据源-自定义注解方式

springboot多数据源切换-注解方式

2023-10-25 17:49:36 316

原创 内网环境下通过tar包在Linux环境下安装MySQL

内网环境下通过tar包在Linux环境下安装部署MySQL

2022-11-15 13:57:50 1949 2

原创 VMware安装Centos7及静态IP网络配置详细教程

VMware安装centos7及静态IP网络配置

2022-11-02 19:46:23 7364 1

原创 Nginx详细原理

Nginx详细原理

2022-09-15 12:00:29 784

原创 Nginx配置高可用集群

Nginx配置高可用集群

2022-09-14 17:10:44 1851 1

原创 Nginx实例配置详解

Nginx实例配置详解

2022-09-14 10:53:47 1581

原创 Nginx简介及安装部署

Nginx简介以及安装部署

2022-06-21 22:28:44 1100 2

原创 JSON解析详解

JSON解析详解1.定义一串测试JSON{ "retCode":0, "retMSg":"成功", "data":[ { "name":"李雷", "id":"001", "score":{ "Chinese":"80", "Math":"95" }, "schoolInfo": [ { "School_name": "清华"

2022-04-25 16:20:51 17372 5

原创 大数据进阶之协同过滤推荐算法——SparkML ALS交替最小二乘法

算法介绍:ALS是交替最小二乘法的简称,ALS特指使用交替最小二乘求解的一个协同过滤的推荐算法。通过观察用户对购买商品的评价,来推断每个用户的喜好并向用户推荐合适的商品。案例解析:西游记水浒传红楼梦三国演义简爱用户13748用户225用户36用户4741上表所描述的是一个用户对几本名著的一个评分结果。近似的可以理解成为一个矩阵。在现实的生产环境中,矩阵的行和列都会非常大,ALS的基本思想就是将一个很大的矩阵拆分

2020-10-22 00:09:43 892

原创 大数据进阶之算法——KMeans聚类算法

首先说一下分类和聚类的区别:分类:分类其实就是从特定的数据中挖掘模式,做出相对应的判断。例如对班级的学生进性性别的分类,我事先已经知道只有男性和女性两个分类。聚类:聚类的目的也是将数据分类,但是在事前不知道按照何种标准去分类,完全是靠算法自己来判别各条数据的相似性,相似的就放在一起。聚类和分类最大的不同在于:分类的目标是事先已知的,而聚类则完全不一样,举类事先不知道分类标准是什么,完全靠算法自己去判别。KMeansKMeans算法是聚类中最常用最普遍的一种算法,该算法最大的特点就是简单,易于

2020-10-19 22:57:04 4950 2

原创 大数据基础之算法——Spark ML归一化方法 MinMaxScaler

归一化是一种简化计算的方式,即通过某种算法将原始数据集限制在你需要的一定范围内,一方面是数据处理的方便,另一方面是为了后面放入模型计算的方便,使得运行时的收敛性更快。Spark ML机器学习库中包含了4种归一化的方法:NormalizerStandardScalerMinMaxScalerMaxAbsScaler在我的项目中只用到了MinMaxScaler方法,在这里我就着重分享该方法的用法。MinMaxScaler作用是将每一维度的特征向量映射到指定的区间内,通常是[0,1]。他一般有两

2020-10-17 18:01:38 1308

原创 大数据进阶之算法——Spark ML库VectorAssemble详解

VectorAssemble是将给定列列表组合成单个向量列的转换器。为了训练逻辑回归和决策树等ML模型,将原始的多个特征列组合成一个特征向量是很有用的。VectorAssemble将接受一下的输入列类型:所有数值类型、布尔类型和向量类型。在每一行中,输入列的值将按照指定的顺序连接到一个向量中。示例:以下是我的一些项目模拟数据原始数据集:处理后的数据集:VecotrAssemble代码实现://num_fmt为原始数据集val va = new VectorAssembler().setI

2020-10-17 17:20:44 764

原创 大数据进阶之算法——SparkML库 StringIndexer、IndexToString详解

StringIndexerStringIndexer是指将一组字符串类型的标签数据转化成数值类型的数据。其基本原理就是将字符串出现的频率进行排序,优先编码出现频率最高的字符串,索引的范围为0到字符串数量。如果输入的是数值型的,就会先把他转成字符串型的,然后再进行编码处理。在pipeline组件,比如Estimator和Transform中,想要用到字符串索引的标签的话,我们一般需要通过setInputCol来设置输入列。另外,有的时候我们通过一个数据集构建了一个StringIndexer,然后准备把它应

2020-10-15 23:34:02 1778 2

原创 大数据基础之Hive——Hive导入数据忽略首行字段配置以及Hive、HBase互相映射配置

导入数据忽略首行字段名称:create external table highschool(geographic_area string,city string,percent_completed_hs string)row format delimited fields terminated by ','stored as textfile location '/iii/HighSchool'tblproperties("skip.header.line.count"="1")HBa

2020-10-15 21:44:31 549

原创 大数据基础之Redis——Redis各数据格式的操作命令

Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。String(字符串)命令描述set key value设置指定key的值get key获取指定key的值getrange key start end返回字符串值的子字符串(substring)getset key value将给定key的值设为value,并返回key的旧值getbit key offse

2020-10-15 21:28:38 179

原创 大数据基础之Redis——Java、Scala、Python连接Redis

maven<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> </dependency> <!-- https://mvnrepository.com/artifact/

2020-10-13 06:41:13 268

原创 大数据基础之Redis——Redis安装

下载镜像文件:wget http://download.redis.io/releases/redis-4.0.6.tar.gz解压:tar -zxf redis-4.0.6.tar.gz移动软件到soft(个人习惯),没有就自己建一个mv redis-4.0.6 soft/redis406安装gcc依赖redis是通过C语言编写的,所以我们需要先安装gcc编译器yum install gcc解析编译:make MALLOC=libc进入安装:make install启

2020-10-12 19:10:18 170 1

原创 大数据基础之HBase——HBase物理架构解析

HBase物理架构:一个RegionServer包含一个WAL,一个BlockCache(读缓存)和多个Region。一个Region包含多个存储区,每个存储区对应一个列簇。一个存储区由StoreFile和MemStore组成。一个StoreFile对应一个HFile和一个列簇。HFile和WAL作为序列化文件保存在HDFS上。Client和RegionServer交互。HMaster:是HBase集群的主节点,可以配置多个,用来实现高可用。处理元数据的变更。监控RegionSe

2020-10-01 18:19:01 455

原创 大数据进阶——外部第三方软件连接HDP集成环境下的mysql Hortonworks Docker Sandbox HDP配置方法

以下过程在宿主机(hdp)的shell窗口执行1.首先删除源镜像名docker命令查看镜像名docker ps红圈里标注的就是镜像号docker rm -f 镜像号然后进入根目录的start_scripts文件夹,会看到有三个文件。在这三个文件中添加mysql的端口号映射。在这三个文件中的最后一行添加mysql的端口号映射,注意不要忘记最后的 “”!!!其余两个文件照此添加然后重新执行hdp 文件./start_sandbox-hdp.sh以下过程在docker的sh

2020-09-16 15:58:36 659

原创 大数据进阶——在VBox上安装Hortonworks Docker Sandbox HDP集成环境

首先去官网下载HDP,大概12个g左右,我这里就不提供了,百度云盘上传不上去。官网链接:http://hortonworks.com/products/hortonworks-sandbox/#install如果官网不太好下载的话就私信我跟我要1.将下载好的镜像通过VirtualBox导入,导启动的过程很漫长很漫长,静静的等待吧首先选择自己下载的镜像文件,然后根据自己电脑的情况设置自己的HDP配置,最好给定的配置高一点,因为这个集成环境对硬件要求很高,最后选择该虚拟机的安装位置。导入即可,导入时

2020-09-16 15:24:43 869 1

原创 大数据基础之Hive——Hive中用load、insert装载数据以及插入文件

Hive装载数据方式装载数据:LOAD移动数据装载数据:INSERT表插入数据-1装载数据:INSERT表插入数据-2Hive数据插入文件Hive数据交换 - IMPORT/EXPORT装载数据:LOAD移动数据原始数据被移动到目标表/分区,不再存在于原始位置LOCAL:指定文件位于本地文件系统 ;OVERWRITE表示覆盖现有数据使用方法:LOAD DATA LOCAL INPATH '/home/dayongd/Downloads/employee.txt' OVERWRITE INTO T

2020-08-31 19:22:43 916

原创 大数据基础之Python——Pandas框架详解

导入Pandasimport numpy as npimport pandas as pd生成Series对象s = pd.Series([1,2,3,np.nan,6,8])//0 1.0//1 3.0//2 5.0//3 NaN//4 6.0//5 8.0生成DataFrame对象注意:此处的DataFrame和spark中的DataFrame不一样,此处的DataFrame是二维数组的对象。dates = pd.date_range("

2020-08-30 22:58:22 876

原创 大数据基础之Python——Numpy框架详解

Numpy 入门Numpy安装首先更改pip的国内镜像源,因为国外的源下载东西他太慢了Windows环境下:在user用户目录下创建一个名为pip的文件夹在文件夹内创建一个名为pip的文本文件(创建完成后将“.txt”改为".ini")将以下代码拷贝到文件里[global]index-url = https://pypi.tuna.tsinghua.edu.cn/simple[install]trusted-host = https://pypi.tuna.tsinghua.ed

2020-08-24 22:24:18 701

原创 大数据基础之SparkStreaming——SparkStreaming整合Flume

Spark Streaming继承Flume  Spark Streaming通过Push和Pull两种方式对接Flume数据源。以Spark Streaming的角度来看,Push方式属于推送(由Flume向Spark推送),而Pull属于拉取(Spark拉取Flume的输出)。  不论以何种方式,开发过程类似,都是由 Spark Streaming 对接 Flume 数据流,Flume 做为 Spark Streaming 的数据源。Push 和 Pull 两者的差别主要体现在Flume Sink

2020-08-20 19:43:14 329

原创 大数据基础之Python——Linux环境安装Anaconda(开源Python编辑软件)

软件资源获取:注意:安装此软件前需先安装Spark,Spark的安装教程在我之前的博客里有,有需要的可以去看https://pan.baidu.com/s/1WxnUBHAnQpe-VDHLvH6guA提取码:eis21.安装bzip2(此步不执行安装anaconda会报错)yum install -y bzip22.执行我上面分享的Anaconda-Linux脚本文件bash Anaconda3-5.1.0-Linux-x86_64.sh注意:根据提示回车或yes 只有最后安装vcod

2020-08-17 10:03:29 222

原创 大数据基础之Python——Python的Sublime Text3安装和实用插件推荐

首先安装Python解析环境,类似JVM软件资源获取https://pan.baidu.com/s/1pjeX7m-qKpQEv9gySN7A-Q提取码:1i5t下载到Windows环境后直接无脑下一步安装即可。安装Sublime Text3(编辑Python程序的软件)软件资源获取https://pan.baidu.com/s/1Nwy8Pb-R4JwwJQBwiZZk1Q提取码:17yl下载到Windows环境后直接无脑下一步安装即可,安装完成后有的电脑在桌面上是没有快捷方式的,需要自

2020-08-17 09:31:58 397

原创 大数据项目实战——Flume->Kafka->SparkStreaming->Kafka

项目基本需求:利用Flume监控文件,将文件读取到Kafka中,再从Kafka中读入到SparkStreaming,在SparkStreaming中经过简单的处理后再写入到Kafka中。原数据格式数据为用户的朋友关系,一个用户对应很多个朋友,大概有几十万的数据,有需要数据的可以联系我。Flume监控文件读入到Kafka中a6.sources=s6a6.channels=c6a6.sinks=k6a6.sources.s6.type=spooldira6.sources.s6.spool

2020-08-14 09:37:35 394 1

原创 大数据基础之SparkStreaming——SparkStreaming读写Kafka

SparkStreaming读Kafka:无状态流处理:object MyReadKafkaHandler { def main(args: Array[String]): Unit = { val conf = new SparkConf().setAppName("mytest").setMaster("local[2]") val sc = SparkContext.getOrCreate(conf)// 流处理的上下文类 val ssc = new Stre

2020-08-14 09:20:26 536

原创 大数据基础之Kafka——Kafka Producer和Consumer JAVA API

pom.xml<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> </dependency> <!-- https://mvnrepository.com/artifac

2020-08-11 23:02:45 183

原创 大数据基础之Kafka——Kafka基本简介及基本操作命令

为什么使用消息中间件(MQ)异步调用 (同步变异步)应用解耦 (提供基于数据的接口层)  在项目启动之初来预测将来项目会碰到什么需求,是极其困难的。通过消息系统在处理过程中间插入了一个隐含的、基于数据的接口层,两边的处理过程都要实现这一接口,当应用发生变化时,可以独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束。流量削峰 (缓解瞬时高流量压力)消息中间件的术语Broker:消息服务器,提供核心服务Producer:消息生产者Consumer:消息消费者Topic:主题,

2020-08-11 22:38:13 333

原创 大数据基础之Hive——hive数据清洗过程csv表格字段出现分割符逗号的解决方案

在创建表进行数据清洗的过程中 csv表格字段中可能存在csv表格的分割符号 ,如图此时如果还是按照原来的写法:%hivecreate external table if not exists ext_transaction_details(transaction_id string,customer_id string,store_id string,price string,product string,`date` string,time string)row format s

2020-08-11 19:55:54 1346

原创 大数据基础之Kafka——Kafka安装

软件资源https://pan.baidu.com/s/1YLbNRB56kvvWHeahTeuiGg提取码:cizr将软件上传到Linux上并解压tar -zxf /opt/kafka_2.11-2.0.0.tgz//个人习惯将安装的软件放在soft文件夹里,如果没有请自建mv kafka_2.11-2.0.0 /opt/soft/kafka211修改配置文件//进入kafka的conf文件夹,并修改server.properties//以下配置不需要自己创建,在配置文件中都有,只需要

2020-08-11 08:43:31 199

原创 大数据基础之Flume——Flume基础及Flume agent配置以及自定义拦截器

Flume简介Flume用于将多种来源的日志以流的方式传输至Hadoop或者其他目的地  - 一种可靠、可用的高效分布式数据收集服务Flume拥有基于数据流上的简单灵活架构,支持容错、故障转移与恢复由Cloudera 2009年捐赠给Apache,现为Apache顶级项目Flume架构Client:客户端,数据产生的地方,如Web服务器Event:事件,指通过Agent传输的单个数据包,如日志数据通常对应一行数据Agent:代理,一个独立的JVM进程  - Flume以一个或多个Ag

2020-08-10 19:52:36 604

原创 大数据基础之Flume——Flume安装

软件资源https://pan.baidu.com/s/1OLp711YieFsEz5Hnw0zaBA提取码:46zv将软件上传到Linux上并解压tar -zxf /opt/flume-ng-1.6.0-cdh5.14.2.tar.gz//个人习惯将安装的软件放在soft文件夹里,如果没有请自建mv apache-flume-ng-1.6.0-cdh5.14.2 /opt/soft/flume160修改配置文件//进入flume的conf文件夹cd /opt/soft/flume160

2020-08-10 11:12:02 159

原创 大数据基础之Spark——Spark pregel详细过程,一看就懂

Pregel概述Pregel是Google提出的用于大规模分布式图计算框架  - 图遍历(BFS)  - 单源最短路径(SSSP)  - PageRank计算Pregel的计算由一系列迭代组成,称为superstepsPregel迭代过程  - 每个顶点从上一个superstep接收入站消息  - 计算顶点新的属性值  - 在下一个superstep中想相邻的顶点发送消息  - 当没有剩余消息是,迭代结束Pregel原理分析pregel函数源码以及各个参数的简介: def p

2020-08-10 10:13:52 967

原创 大数据基础之SparkGraphX——Spark PageRank算法,包你能看懂

PageRank的概念  PageRank,网页排名, 是一种由根据网页之间相互的超链接计算的技术,而作为网页排名的要素之一, 它由Larry Page 和 Sergey Brin在20世纪90年代后期发明,并以拉里·佩吉(Larry Page)之姓来命名。  PageRank是Google专有的算法,用于衡量特定网页相对于搜索引擎索引中的其他网页而言的重要程度。PageRank算法计算每一个网页的PageRank值,然后根据这个值的大小对网页的重要性进行排序。该算法可以用于对网页进行排序,当然,也可以

2020-08-09 13:25:50 706

原创 大数据基础之SparkGraphX——SparkGraphX基本简介及寻找网络红人项目实战分析

图(Graph)的基本概念图是有顶点集合(vertex)及顶点之间的关系结合(边egde)组成的一种网状数据结构  - 通常表示为二元祖:Graph=(V,E)  - 可以对事物之间的关系建模应用场景  - 在地图应用中寻找最短路径  - 社交网络关系  - 网页间超链接关系顶点(Vertex)边(Edge)//顶点集合V={v1,v2,v3}//边集合E={(v1,v2),(v2,v3),(v1,v3)}Graph=(V,E)度(一个顶点所有边的数量)  - 出度

2020-08-09 11:58:19 839

原创 大数据基础之Spark——Spark分布式计算原理(Spark Stage原理、Spark Shuffle过程、RDD依赖关系、DAG工作原理、RDD优化、RDD分区设计、数据倾斜问题)

大数据基础项目——WordCount原理:分析:当数据发生Shuffle过程时,会划分成两个Stage一个Stage对应着三个Task一个分区对应着一个Task划分Stage的原因:数据本地化:  - 移动计算,而不是移动数据 (移动数据不如移动计算)  - 保证一个Stage内不会发生数据移动Spark Shuffle过程解析:在分区之间重新分配数据  - 父RDD中同一分区中的数据按照算子的要求重新进入子RDD的不同分区中  - 中间结果写磁盘  - 由子RDD拉取

2020-08-08 17:15:48 398

空空如也

空空如也

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

TA关注的人

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