我们学习编程语言的时候,第一个程序就是打印一下 “hello world” ,对于大数据领域的第一个任务则是wordcount。那我们就开始我们的第一个spark任务吧!

下载spark

官方下载地址:Apache Download Mirrors 下载完毕以后,直接tar解压即可。

本地启动spark集群

环境只是为了让我们能够运行我们的程序,所以我们的任务是写任务而不是搭建环境。搭建环境的部分,可能运维比我们更专业。

安装官网我们启动一个standalon模式 ,Spark Standalone Mode - Spark 4.0.0 Documentation。

启动完以后master我们就可以在8080端口上看到我们的spark集群了。

接着启动一个worker,启动的时候需要master的地址。我们本地启动的,所以localhost就可以了。./sbin/start-worker.sh  spark://bogon:7077  ,master的url可以从master 8080的界面看到,这个记得一定要写正确,要不启动worker的时候就有问题了。否则这个worker节点不现实worker个数的。

构建我们的jar程序

我们直接参考官网的代码(注意:这是学习的方式方法,看到别人博客直接写的入门代码。其实官方是第一手资料)Spark Streaming - Spark 4.0.0 Documentation 

代码

def main(args: Array[String]): Unit = {println("======== start ==========")val conf = new SparkConf().setAppName("test")val ssc = new StreamingContext(conf, Seconds(1))val source = ssc.socketTextStream("localhost", 9999)val words = source.flatMap(_.split(","))val paris = words.map(word => (word, 1))val wordCounts = paris.reduceByKey(_ + _)wordCounts.print()ssc.start()ssc.awaitTermination()}

编译打包jar,然后提交submit

./bin/spark-submit \--class demo.WordCount \--executor-memory 512M  \--total-executor-cores 2 \--master spark://localhost:7077 \--deploy-mode client \--verbose \/path/spark-task-1.0-SNAPSHOT.jar  

Submitting Applications - Spark 4.0.0 Documentation

查看日志打印

总结

        小结一下,其实看似很简单的一个demo。过程也是遇到了很多的问题,1、是启动 worker的时候需要制定master的url地址,这个需要从8080端口查看。2、发现自己的代码无法提交到集群中,结果发现是代码里面setMaster了,所以去掉。3、打包的时候提示找不到class,因为是maven构建的java程序。自己添加的scala包,所以需要打包的时候指定一下scala路径,把下面的class打包进去。

        多实践才能发现问题,有时候只是知道了理论,看似懂了,其实离懂了还是差了一些。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/91255.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/91255.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/91255.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

雷达系统设计学习:自制6GHz FMCW Radar

国外大神自制6GHZ FMCW Radar开源项目: https://github.com/Ttl/fmcw3 引言 之前我做过一个简单的调频连续波(FMCW)雷达,能够探测到100米范围内人体大小的物体。虽然它确实能用,但由于预算有限,还有很大的改进空间。 …

系统选择菜单(ubuntu grub)介绍

好的,我们来详细解释一下什么是Ubuntu的GRUB菜单。 简单来说,GRUB菜单是您电脑启动时看到的第一个交互界面,它就像一个“系统选择”菜单,让您决定接下来要启动哪个操作系统或进入哪种模式。详细解释 1. GRUB是什么? GR…

方案C,version2

实现一个简单的Helloworld网页,并通过GitHub Actions自动构建并推送到公开仓库的gh-pages分支。同时,使用PAT进行认证,确保源码在私有仓库中,构建后的静态文件在公开仓库中。 重新设计deploy.yml内容如下(针对纯静态文件,无需构建过程): 步骤: 检出私有仓库源码。 由于…

R 语言科研绘图 --- 其他绘图-汇总1

在发表科研论文的过程中,科研绘图是必不可少的,一张好看的图形会是文章很大的加分项。 为了便于使用,本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中,获取方式: R 语言科研绘图模板 --- sciRplothttps://mp.…

webpack 原理及使用

【点赞收藏加关注,前端技术不迷路~】 一、webpack基础 1.核心概念 1)entry:定义入口,webpack构建的第一步 module.exports ={entry:./src/xxx.js } 2)output:出口(输出) 3)loader:模块加载器,用户将模块的原内容按照需求加载成新内容 比如文本加载器raw-loade…

「日拱一码」039 机器学习-训练时间VS精确度

目录 时间-精度权衡曲线(不同模型复杂度) 训练与验证损失对比 帕累托前沿分析(3D) 在机器学习实践中,理解模型收敛所需时间及其与精度的关系至关重要。下面介绍如何分析模型收敛时间与精度之间的权衡,并…

面试刷题平台项目总结

项目简介: 面试刷题平台是一款基于 Spring Boot Redis MySQL Elasticsearch 的 面试刷题平台,运用 Druid HotKey Sa-Token Sentinel 提高了系统的性能和安全性。 第一阶段,开发基础的刷题平台,带大家熟悉项目开发流程&#xff…

负载均衡、算法/策略

负载均衡一、负载均衡层级对比特性四层负载均衡 (L4)七层负载均衡 (L7)工作层级传输层 (TCP/UDP)应用层 (HTTP/HTTPS等)决策依据源/目标IP端口URL路径、Header、Cookie、内容等转发方式IP地址/端口替换重建连接并深度解析报文性能更高吞吐量,更低延迟需内容解析&…

StackingClassifier参数详解与示例

StackingClassifier参数详解与示例 StackingClassifier是一种集成学习方法,通过组合多个基分类器的预测结果作为元分类器的输入特征,从而提高整体模型性能。以下是关键参数的详细说明和示例: 1. classifiers(基分类器)…

嵌入式中间件-uorb解析

uORB系统详细解析 1. 系统概述 1.1 设计理念 uORB(Micro Object Request Broker)是一个专为嵌入式实时系统设计的发布-订阅式进程间通信框架。该系统借鉴了ROS中topic的概念,为无人机飞控系统提供了高效、可靠的数据传输机制。 1.2 核心特征 …

HTTP.Client 库对比与选择

HTTP.Client 库对比与选择在 Python 中,除了标准库 http.client,还有许多功能更强大、使用更便捷的 HTTP 库。以下是一些常用的库及其特点:1. Requests(最流行)特点:高层 API,简单易用&#xff…

RabbitMQ面试精讲 Day 5:Virtual Host与权限控制

【RabbitMQ面试精讲 Day 5】Virtual Host与权限控制 开篇 欢迎来到"RabbitMQ面试精讲"系列的第5天!今天我们将深入探讨RabbitMQ中Virtual Host与权限控制的核心机制,这是构建安全、隔离的消息系统必须掌握的重要知识。在面试中,面…

【前端实战】纯HTML+CSS+JS实现蜡笔小新无尽冒险:从零打造网页版超级玛丽

摘要:本文将详细介绍一款完全由HTMLCSSJS实现的网页版横版闯关游戏——"蜡笔小新无尽冒险"。游戏采用纯前端技术实现,无需任何外部依赖,完美复刻了经典超级玛丽的核心玩法,并创新性地融入了蜡笔小新角色元素。通过本文&…

[工具类] 网络请求HttpUtils

引言在现代应用程序开发中,网络请求是必不可少的功能之一。无论是访问第三方API、微服务之间的通信,还是请求远程数据,都需要通过HTTP协议实现。在Java中,java.net.HttpURLConnection、Apache的HttpClient库以及OkHttp等库提供了丰…

基于Spring Boot的装饰工程管理系统(源码+论文)

一、 开发环境与技术 本章节对开发装饰工程管理系统------项目立项子系统需要搭建的开发环境,以及装饰工程管理系统------项目立项子系统开发中使用的编程技术等进行阐述。 1 开发环境 工具/环境描述操作系统Windows 10/11 或 Linux(如 Ubuntu&#x…

【WebGPU学习杂记】数学基础拾遗(2)变换矩阵中的齐次坐标推导与几何理解

今天打算开始 3D 数学基础的复习,本文假设你了解以下概念:一次多项式、矩阵、向量,基于以上拓展的概念 归一化、2~3阶矩阵的几何意义。几何意义结论 齐次坐标是对三维的人工的特定的升维,它是一个工具而已。图形学中常…

JS前端压缩算法——WWDHCAPOF-算法导论论文——东方仙盟算法

代码function customCompressString(input) {// 第一步:将字符串转换为ANSI码数组并乘以位置序号let resultArray Array.from(input).map((char, index) > {const ansiCode char.charCodeAt(0);return ansiCode * (index 东方仙盟); // 位置序号从1开始});// …

linux命令less的实际应用

less 是 Linux/Unix 中交互式文件查看神器,相比 more 和 cat,它支持自由导航、搜索、高亮等强大功能,尤其适合处理大文件或实时日志。以下是深度应用指南:​一、核心优势​less large_file.log # 秒开GB级文件&#xff08…

DAY31 整数矩阵及其运算

DAY31 整数矩阵及其运算 本次代码通过IntMatrix类封装了二维整数矩阵的核心操作,思路如下:数据封装→基础操作(修改和获取元素、获取维度,toString返回字符串表示,getData返回内部数组引用)→矩阵运算&…

飞桨深度学习环境搭建

一、安装 PyCharm PyCharm 官网下载页面 记得全部勾选。 二、安装 miniconda miniconda 官网下载页面 根据你的操作系统选择。 记得勾选前三个。 三、安装 CUDA 首先 nvidia-smi 查看支持最高的 CUDA 版本。 然后去 nvidia 官网下载 CUDA,选择适合你的版本。 …