![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spark
文章平均质量分 82
若兰幽竹
认认真真做事,踏踏实实做人。不以物喜,不以己悲,活出自我,成就自我。
展开
-
SparkMllib之CF协调过滤算法案例(基于用户的)
SparkMllib之CF协调过滤算法案例(基于用户的)一、SparkMLlib实现K-Means二、案例实现一、SparkMLlib实现K-Means协同过滤算法(Collaborative Filtering:CF)是很常用的一种算法,在很多电商网站上都有用到。CF算法包括基于用户的CF(User-based CF)和基于物品的CF(Item-based CF)。1.基于用户(user)的CF原理如下:2.分析各个用户对item的评价(通过浏览记录、购买记录等);3.依据用户对item的评原创 2021-12-06 20:45:34 · 2163 阅读 · 0 评论 -
SparkMllib之K-Means聚类算法案例
SparkMllib之K-Means聚类算法案例一、SparkMLlib实现K-Means二、案例实现一、SparkMLlib实现K-MeansMLlib的KMeans聚类模型采用KMeans算法来计算聚类中心点。MLlib实现KMeans聚类算法:首先随机生成聚类中心点,支持随机选择样本点当作初始中心点,还支持k-means++方法选择最优的聚类中心点。然后迭代计算样本的中心点,迭代计算中心点的分布式实现是:首先计算每个样本属于哪个中心点,之后采用聚合函数统计属于每个中心点的样本值之和以及样本数量原创 2021-12-06 20:35:36 · 1433 阅读 · 0 评论 -
SparkMLlib线性回归算法案例
SparkMLlib线性回归算法案例一、SparkMLlib线性回归模型二、案例实现一、SparkMLlib线性回归模型MLlib的线性回归模型采用随机梯度下降算法来优化目标函数。MLlib实现了分布式的随机梯度下降算法,其分布方法是:在每次迭代中,随机抽取一定比例的样本作为当前迭代的计算样本;对计算样本中的每一个样本分别计算梯度(分布式计算每个样本的梯度);然后再通过聚合函数对样本的梯度进行累加,得到该样本的平均梯度及损失;最后根据最新的梯度及上次迭代的权重进行权重的更新。MLlib线性回归原创 2021-12-06 20:27:05 · 3243 阅读 · 0 评论 -
SparkStreaming与SparkSQL集成分析数据并将结果存入MySQL
SparkStreaming与SparkSQL集成分析数据并将结果存入MySQL一、前提说明二、实现步骤一、前提说明安装了Flume本案例实现流程图:本案例实现的功能是:实现wordcount功能,并将每次的分析结果保存到数据库中二、实现步骤在MySQL创建top表,就只有两个字段:key和value在pom.xml中确保已经添加了MySQL数据库的驱动编写如下代码import java.net.InetAddressimport java.sql.DriverManager原创 2021-11-25 00:06:26 · 2569 阅读 · 0 评论 -
SparkStreaming接收Flume数据方式二:Pull模式
SparkStreaming接收Flume数据方式二:Pull模式一、前置工作二、Flume之Pull模式三、Flume配置四、编写程序五、运行验证一、前置工作需安装Flume,安装可参考:Flume安装配置与基本操作二、Flume之Pull模式Pull模式说明不同于 Flume 直接将数据推送到 Spark Streaming 中,第二种模式通过以下条 件运行一个正常的 Flume sink。Flume 将数据推送到 sink 中,并且数据保持 buffered 状态。Spark原创 2021-11-24 23:42:36 · 1457 阅读 · 0 评论 -
SparkStreaming接收Flume数据方式一:Push模式
SparkStreaming接收Flume数据方式一:Push模式一、前置工作二、Flume之Push模式三、Flume配置四、编写程序五、运行验证一、前置工作需安装Flume,安装可参考:二、Flume之Push模式Push模式说明Flume 被 用 于 在 Flume agents 之 间 推 送 数 据 . 在 这 种 方 式 下 ,Spark Streaming 可以很方便的建立一个 receiver,起到一个 Avro agent 的作用.Flume 可以将数据推送到改 r原创 2021-11-24 15:52:31 · 1850 阅读 · 0 评论 -
SparkStreaming读取Kafka数据源
SparkStreaming读取Kafka数据源一、前提工作二、实验内容一、前提工作安装了zookeeper安装了Kafka实验环境:kafka_2.11-2.3.1.tgz + zookeeper-3.4.5.tar.gz + spark2.4.8二、实验内容实验要求:本实验实现的是wordcount程序启动zookeeper,可参考:zookeeper单机安装与配置启动Kafka创建Kafka主题,如test,可参考:Kafka的安装与基本操作启动Kafka控制台生产者,可原创 2021-11-18 02:12:17 · 2378 阅读 · 0 评论 -
SparkStreaming累加计算单词频率
SparkStreaming累加计算单词频率一、需求分析二、实验环境三、思路分析四、编程实现一、需求分析在服务器端不断产生数据的时候,sparkstreaming客户端需要不断统计服务器端产生的相同数据出现的总数,即累计服务器端产生的相同数据的出现的次数。二、实验环境centos7 + nc + spark2.4.8 + windows + idea三、思路分析流程分析思路分析:每次客户端程序处理服务器端数据后,将其结果缓存在检查点中,下一次客户端读入数据并处理数据时会去原创 2021-11-11 17:36:03 · 2115 阅读 · 0 评论 -
SparkStreaming入门案例
SparkStreaming入门案例一、准备工作二、任务分析三、官网案例四、开发NetWordCount一、准备工作实验环境:netcat安装nc:yum install -y nc二、任务分析将nc作为服务器端,用户产生数据;启动sparkstreaming案例中的客户端程序,监听服务器端发送过来的数据,并对其数据进行词频统计,即为流式的wordcount入门程序三、官网案例启动nc作为服务器端,执行:nc -l -p 6666,并输入测试数据,如图所示:启动客户端原创 2021-11-10 11:50:01 · 2319 阅读 · 0 评论 -
SparkSQL编程方式纯SQL读写Hive数据源
SparkSQL编程读写Hive数据源一、准备工作二、任务分析三、编码实现五、运行测试一、准备工作实验环境:IDEA + CentOS7 + Spark2.4.8+Hive2.3.3+MySQL2.7+Hadoop2.7.3数据准备:Hive中的emp员工信息表前置工作:Hadoop开启HDFS服务开启hiveserver2服务开启Spark服务将hive-site.xml复制到idea工程下的resources目录下二、任务分析借助sparksql读写hive表,利用纯原创 2021-11-10 09:01:13 · 2409 阅读 · 1 评论 -
SparkSQL实战小项目之热门商品top3
SparkSQL实战小项目之热门商品top3一、说明及需求分析二、准备测试数据三、思路分析四、编码实现五、验证结果一、说明及需求分析说明: 本次的项目参考了网络上其他资料,收集整理出来,供诸君参考!软件及环境: centos7 + hive-2.3.3 + spark2.4.8 + idea需求分析:要求实现电商平台上各区域热门商品 Top3,这里的热门商品是从点击量的维度来看的。计算各个区域前三大热门商品,并备注上每个商品在主要城市中的分布比例,超过两个城市用其他显示。要实现的效果如下图所原创 2021-11-08 20:10:41 · 3178 阅读 · 0 评论 -
Spark2.4.8集成并读写hive表数据
Spark2.4.8集成并读写hive表数据一、Hive简介二、Hive安装三、Hive的本地模式和远程模式配置1. 本地模式配置2. **远程模式**四、创建Hive表五、SparkSQL集成Hive一、Hive简介Apache Hive™数据仓库软件通过SQL实现对分布式存储中的大型数据集的读写和管理。结构可以投射到存储中的数据上。Hive提供命令行工具和JDBC驱动程序连接用户。本质上:Hive是一个翻译器,借助Hive引擎将SQL语句转成MR程序且构建于HDFS上的一个数据仓库。它支持S原创 2021-11-04 00:51:48 · 3882 阅读 · 0 评论 -
Spark2.4.8读写MySQL数据库表
Spark2.4.8读写MySQL数据库表一、创建数据库表二、测试数据三、编写程序四、运行结果一、创建数据库表创建edu_teacher表,语句如下:CREATE TABLE `edu_teacher` ( `id` char(19) NOT NULL COMMENT '讲师ID', `name` varchar(20) NOT NULL COMMENT '讲师姓名', `intro` varchar(500) NOT NULL DEFAULT '' COMMENT '讲师简介',原创 2021-11-03 21:31:25 · 833 阅读 · 0 评论 -
Spark SQL2.4.8 Load和Save函数
Spark SQL2.4.8 Load和Save函数一、测试数据二、通用的Load/Save函数三、存储模式(Save Modes)一、测试数据users.parquet点击下载people.json{"name":"Michael"}{"name":"Andy", "age":30}{"name":"Justin", "age":19}二、通用的Load/Save函数什么是parquet文件?Parquet是列式存储格式的一种文件类型,列式存储有以下的核心:可以跳过不原创 2021-10-14 09:51:50 · 370 阅读 · 0 评论 -
Spark SQL 2.4.8 操作 Dataframe
Spark SQL 2.4.8 操作 Dataframe一、测试数据二、创建DataFrame方式一:DSL方式操作方式二:SQL方式操作一、测试数据7369,SMITH,CLERK,7902,1980/12/17,800,207499,ALLEN,SALESMAN,7698,1981/2/20,1600,300,307521,WARD,SALESMAN,7698,1981/2/22,1250,500,307566,JONES,MANAGER,7839,1981/4/2,2975,20765原创 2021-10-14 09:20:41 · 573 阅读 · 0 评论 -
Spark 2.4.8 Top10热门商品小项目实战
Spark 2.4.8 Top10小项目实战一、准备数据二、需求分析三、设计四、编码实现五、实验要求一、准备数据本实战项目的数据是采集自电商的用户行为数据.主要包含用户的 4 种行为: 搜索, 点击, 下单和支付.数据格式如下, 不同的字段使用下划线分割开_:数据说明:数据采用_分割字段每一行表示用户的一个点击行为, 所以每一行只能是四种行为中的一种.如果搜索关键字是 null, 表示这次不是搜索如果点击的品类 id 和产品 id 是 -1 表示这次不是点击下单行为来说一次可以下单原创 2021-10-08 20:48:03 · 1715 阅读 · 0 评论 -
Spark2.4.8 共享变量之累加器
Spark2.4.8 共享变量之累加器一、共享变量二、累加器三、基础演示四、实验案例五、简要分析一、共享变量通常,当传递给Spark操作(例如map或reduce)的函数在远程集群节点上执行时,它会在函数中使用的所有变量的单独副本上工作。这些变量被复制到每台机器上,远程机器上变量的更新不会传播回驱动程序。支持跨任务的通用、读写共享变量将是低效的。但是,Spark为两种常见的使用模式提供了两种有限的共享变量类型:广播变量和累加器。spark通过广播变量和累加器实现共享变量。二、累加器累加器原创 2021-10-08 20:27:51 · 744 阅读 · 0 评论 -
Spark2.4.8读写数据库
Spark2.4.8读写数据库一、说明二、引入MySQL依赖三、读数据库表四、写数据库表一、说明实验环境:Spark2.4.8 + MySQL5.7 + IDEA二、引入MySQL依赖<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.27</vers原创 2021-09-26 10:01:08 · 689 阅读 · 0 评论 -
Spark2.4.8 RDD分区及自定义分区案例
Spark2.4.8 RDD分区及自定义分区案例一、一点说明二、RDD分区三、RDD分区案例四、RDD自定义分区案例一、一点说明读者对象:Spark初学者开发环境:IDEA + spark2.4.8+jdk1.8.0_301电脑配置:4核8线程查看CPU方法:在Windows中,在cmd命令中输入“wmic”,然后在出现的新窗口中分别输入“cpu get Name”,“cpu get NumberOfCores”,“cpu get NumberOfLogicalProcessors”原创 2021-09-26 01:03:24 · 846 阅读 · 0 评论 -
Spark2.4.8实现网页日志分析
Spark2.4.8实现网页日志分析一、测试数据二、任务要求三、编码实现四、实验要求一、测试数据测试数据格式如下:niit110,192.168.215.131 - - [28/May/2019:18:11:44 +0800] "GET /shop/detail.html?id=402857036a2831e001kshdksdsdk89912 HTTP/1.0" 200 4391 "-" "ApacheBench/2.3" "-"niit110,192.168.215.131 - - [28/M原创 2021-09-23 00:38:34 · 1079 阅读 · 0 评论 -
Spark2.4.8 求员工工资总额
Spark2.4.8 求员工工资总额一、测试数据二、任务要求三、编码实现四、实验要求一、测试数据员工信息表:下载地址表字段说明:二、任务要求任务1:求每个部门的员工工资总额任务2:求每个部门员工工资与奖金总额任务3:将任务2中的结果按照部门号进行升序排任务4:将任务2中的结果按照工资总额进行降序排三、编码实现创建maven工程添加spark相关依赖,在pom.xml中添加如下依赖<packaging>jar</packaging>&原创 2021-09-22 23:50:26 · 2837 阅读 · 6 评论 -
Spark2.4.8编写WordCount程序(Java版)
编写WordCount程序(Java版)步骤创建maven工程添加pom.xml依赖(同上一个实验所需要的依赖)在src下新建包com.niit.wc编写代码,代码如下:运行,并查看结果原创 2021-09-15 22:22:24 · 378 阅读 · 0 评论 -
Spark2.4.8编写WordCount程序(Scala版)
Spark2.4.8编写WordCount程序(Scala版)一、本地开发运行测试二、打包上传至远程服务器一、本地开发运行测试新建maven工程在pom.xml中添加spark相关依赖:<dependencies> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.12</artifact原创 2021-09-15 22:17:32 · 1407 阅读 · 0 评论 -
Spark2.4.8 在IDEA中编程问题
Spark2.4.8 在IDEA中编程问题一、问题一一、问题一描述:Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.base.Stopwatch.elapsedMillis()J原因:Spark2.4.8没有集成Google Guava库或者Guava版本过高导致(16.0版本已经删除了elapsedMillis方法)解决:有两种方法:方法一:需要在pom.xml中添加Google Guava库原创 2021-09-15 22:04:49 · 389 阅读 · 0 评论 -
Spark Shell 操作RDD
Spark Shell 操作RDD一、Spark Shell 简述二、RDD创建方式三、RDD之常见算子一、Spark Shell 简述【Spark-shell】是Spark自带的交互式Shell程序,方便用户进行交互式编程,用户可以在该命令行下用- scala编写spark程序。【两种启动Spark Shell】本地模式启动:bin/spark-shell集群模式启动:如:spark-shell --master spark://spark81:7077 --executor-m原创 2021-09-09 11:01:52 · 1477 阅读 · 0 评论 -
Scala语言数据类型与集合等基本操作
Scala语言数据类型与集合1、常见数据类型2、Scala变量的申明和使用3、Scala的函数和方法的使用4、Scala的条件表达式5、Scala的循环6、Scala的Lazy值(懒值)7、异常的处理8、Scala中的数组9、映射10、元组(Tuple)1、常见数据类型Scala的常用数据类型注意:在Scala中,任何数据都是对象。例如:数值类型: Byte,Short,Int,Long,Float,Double等Byte: 8位有符号数字,从-128 到 127Short: 1原创 2021-08-30 23:49:21 · 595 阅读 · 0 评论 -
Scala开发环境配置
Scala安装部署与运行演示1、下载安装2、 REPL方式运行Scala程序2、IDE中配置与开发Scala程序1、下载安装 安装 JDK(建议安装jdk1.8,如果安装高版本的请先卸载掉或者你自己配置) 下载 Scala: http://www.scala-lang.org/download/ 安装 Scala:双击-下一步即可 设置环境变量: SCALA_HOME 和 PATH 路径 (可选,因为安装时自动将其添加到PATH路径下) 验证 Scala2、 REPL方式运行S原创 2021-08-30 23:22:50 · 923 阅读 · 0 评论 -
Spark Standalone HA(高可用)模式
Spark Standalone HA(高可用)模式一、HA架构说明二、主机规划三、Zookeeper的安装四、Spark的安装五、运行测试一、HA架构说明二、主机规划主节点从节点hadoop002,hadoop005hadoop003,hadoop004Zookeeperhadoop002 ,hadoop003,hadoop004三、Zookeeper的安装请参考Zookeeper的集群安装四、Spark的安装安装部署,请原创 2021-08-26 11:03:14 · 828 阅读 · 0 评论 -
Spark On Yarn环境部署测试(standalone)
Spark On Yarn环境部署测试(使用伪分布)一、前提工作二、配置Spark On Yarn三、运行Spark Pi案例一、前提工作安装了Hadoop伪分布,可以参考:Hadoop2.7.3环境搭建之伪分布式安装spark伪分布,可参考:Spark Standalone单机模式环境搭建二、配置Spark On Yarn修改yarn-site.xml,添加如下信息<!--是否启动一个线程检查每个任务正使用的物理内存量,如果任务超出分配值,则直接将其杀掉,默认是 true --&原创 2021-08-25 20:41:21 · 897 阅读 · 0 评论 -
Spark Standalone集群安装及测试案例
Spark Standalone集群安装及测试案例一、实验环境二、总体步骤三、详细步骤一、实验环境二、总体步骤准备至少3台主机修改主机名称及IP与主机名的映射关系(3台主机都需要操作)做免密登录操作(3台主机都需操作),如已做过,则可删除重新生成在作为master节点的主机上对spark进行配置需要将master节点上配置好的spark环境拷贝到worker主机上启动spark集群(在主机节点上执行start-all.sh)检查是否部署成功,如下步骤:检查进程:主节点:Mas原创 2021-08-22 12:09:28 · 2060 阅读 · 0 评论 -
Spark Standalone单机模式案例测试
Spark Standalone单机模式案例测试一、Spark自带程序说明二、基于Spark的蒙特卡罗求PI源码(Scala语言)三、运行程序,查看结果一、Spark自带程序说明示例程序:$SPARK_HOME/examples/jars/spark-examples_2.11-2.1.0.jar示例程序源码:$EXAMPLE_HOME/examples/src/main,有Java、Scala等等等本实验室需要操作的案例:蒙特卡罗求PI蒙特卡罗算法解释:蒙特·卡罗方法(Monte C原创 2021-08-21 22:18:49 · 721 阅读 · 0 评论 -
Spark Standalone单机模式环境搭建
Spark Standalone单机模式环境搭建一、实验环境二、准备工作三、安装部署一、实验环境JDK版本:jdk1.8.0_301Spark版本:2.4.8Linux操作系统:CentOS7.5二、准备工作JDK安装,请参考《Hadoop2.7.3环境搭建之伪分布式》Spark安装包已上传至目录/tools(需事先创建)三、安装部署解压安装:进入tools下,执行如下命令:tar -zxvf spark-2.4.8-bin-hadoop2.7.tgz -C /trai原创 2021-08-21 18:29:05 · 1930 阅读 · 0 评论 -
Spark3.1.2 快速入门
Spark3.1.2 快速入门一、特别说明1.1 **Spark3.1.2编程抽象Dataset**1.2 **Spark3.1.2安全性说明**1.3 **环境说明**二、Spark Shell 交互式操作一、特别说明1.1 Spark3.1.2编程抽象Dataset在Spark 2.0之前,Spark的主要编程接口是RDD。在Spark2.0之后,RDD被Dataset所取代,Dataset像RDD一样是强类型的,但在底层有更丰富的优化。RDD接口仍然受到支持,您可以在RDD编程指南中获原创 2021-08-13 22:59:25 · 698 阅读 · 0 评论 -
Spark及其生态简介
Spark及其生态简介一、Spark简介二、Spark Core简介三、Spark SQL简介四、Spark Streaming五、Spark MLlib六、GraphX七、集群管理器八、Spark的用户和用途一、Spark简介Spark 是一个用来实现快速而通用的集群计算的平台,官网上的解释是:Apache Spark™是用于大规模数据处理的统一分析引擎。 Spark 适用于各种各样原先需要多种不同的分布式平台的场景,包括批处理、迭代算法、交互式查询、流处理等,对外提供了十分丰富的API接口,原创 2021-08-09 10:24:23 · 1254 阅读 · 0 评论