从零开始配置spark-local模式

1. 环境准备

  • 操作系统:推荐使用 Linux 或 macOS,Windows 也可以,但可能会有一些额外的配置问题。

  • Java 环境:Spark 需要 Java 环境。确保安装了 JDK 1.8 或更高版本。

    • 检查 Java 版本:

      bash

      复制

      java -version
    • 如果没有安装,可以从 Oracle 官网 或使用包管理工具安装,例如在 Ubuntu 上:

      bash

      复制

      sudo apt update
      sudo apt install openjdk-11-jdk

2. 下载和安装 Spark

  • 下载 Spark

    • 访问 Apache Spark 官方下载页面。

    • 选择合适的版本(建议选择预编译的版本,如 Hadoop 2.7+)。

    • 下载完成后,解压到本地目录,例如:

      bash

      复制

      tar -xzf spark-3.4.0-bin-hadoop2.7.tgz
      mv spark-3.4.0-bin-hadoop2.7 ~/spark

3. 配置环境变量

  • 配置 SPARK_HOME 和 PATH

    • 打开你的 shell 配置文件(如 .bashrc.zshrc):

      bash

      复制

      nano ~/.bashrc
    • 添加以下内容:

      bash

      复制

      export SPARK_HOME=~/spark
      export PATH=$SPARK_HOME/bin:$PATH
    • 应用配置:

      bash

      复制

      source ~/.bashrc

4. 配置 Spark

  • 修改配置文件(可选):

    • Spark 默认使用本地模式运行,但你可以通过修改配置文件来调整一些参数。

    • 进入 Spark 的配置目录:

      bash

      复制

      cd ~/spark/conf
    • 复制 spark-defaults.conf.templatespark-defaults.conf

      bash

      复制

      cp spark-defaults.conf.template spark-defaults.conf
    • 编辑 spark-defaults.conf,添加或修改以下内容(根据需要):

      bash

      复制

      spark.master                     local[*]
      spark.executor.memory            1g
      spark.driver.memory              1g

5. 启动 Spark Shell

  • 进入 Spark 安装目录

    bash

    复制

    cd ~/spark
  • 启动 Spark Shell

    bash

    复制

    ./bin/spark-shell

    如果一切正常,你会看到 Spark Shell 的提示符,例如:

    复制

    Welcome to____              __/ __/__  ___ _____/ /___\ \/ _ \/ _ `/ __/  '_//__ / .__/\_,_/_/ /_/\_\   version 3.4.0/_/Using Scala version 2.12.10, OpenJDK 64-Bit Server VM, 1.8.0_282
    Type in expressions to have them evaluated.
    Type :help for more information.scala>

6. 测试 Spark

  • 在 Spark Shell 中运行以下代码测试:

    scala

    复制

    val data = Array(1, 2, 3, 4, 5)
    val distData = sc.parallelize(data, 2)
    distData.reduce(_ + _)

    输出结果应该为 15

7. 使用 PySpark(可选)

如果你使用 Python,可以安装 PySpark:

  • 安装 PySpark

    bash

    复制

    pip install pyspark
  • 运行 PySpark Shell

    bash

    复制

    pyspark
  • 测试代码:

    Python

    复制

    data = [1, 2, 3, 4, 5]
    distData = sc.parallelize(data, 2)
    print(distData.reduce(lambda a, b: a + b))

8. 关闭 Spark Shell

  • 在 Spark Shell 中输入 :quitexit 退出。

注意事项

  • 内存配置:根据你的机器配置调整 spark.executor.memoryspark.driver.memory

  • 网络问题:如果在 Windows 上运行,可能会遇到网络配置问题,建议使用 WSL 或 Docker。

  • 依赖问题:如果需要连接数据库或使用其他组件,可能需要额外配置依赖。

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

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

相关文章

前端~地图(openlayers)绘制车辆运动轨迹(仿高德)

绘制轨迹路线轨迹路线描边增加起点终点图标绘制仿高德方向箭头模仿车辆动态运动动画 车辆运行轨迹 车辆轨迹经纬度坐标 const linePoints [new Point([123.676031, 43.653421]),new Point([123.824347, 43.697124]),new Point([124.197882, 43.946811]),new Point([124.104498…

分布式之CAP原则:理解分布式系统的核心设计哲学

声明:CAP中的P原则都是需要带着的 在分布式系统的设计与实践中,CAP原则(又称CAP定理)是开发者必须掌握的核心理论之一。它揭示了分布式系统在一致性(Consistency)、可用性(Availability&#x…

IF=40.8|肿瘤免疫:从免疫基因组学到单细胞分析和人工智能

一、写在前面 今天分享的是发表在《Signal Transduction and Targeted Therapy》上题目为"Technological advances in cancer immunity: from immunogenomics to single-cell analysis and artificial intelligence"的文章。 IF:40.8 DOI:10.1038/s41392…

深入理解 Spring @Bean 注解

在 Spring 框架中,@Bean 注解是用于显式地声明一个或多个 Bean 实例,并将其注册到 Spring 容器中的重要工具。与 @Component 系列注解不同的是,@Bean 是方法级别的注解,通常与 @Configuration 注解结合使用。本文将详细介绍 @Bean 注解的功能、用法及其应用场景。 1. @Bean…

Pycharm 如何删除某个 Python Interpreter

在PyCharm中,点击右下角的“Interpreter Settings”按钮,或者通过菜单栏选择“File” > “Settings”(macOS用户选择“PyCharm” > “Preferences”)。在设置窗口中,导航到“Project: [Your Project Name]” >…

如何改电脑网络ip地址完整教程

更改电脑的网络IP地址以满足特定的网络需求,本文将为您提供一份详细的步骤指南。其实,改变IP地址并不是一件复杂的事,能解决因为IP限制带来的麻烦。以下是操作指南: 方法一:Windows 系统,通过图形界面修改 …

Oracle--SQL性能优化与提升策略

前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除 一、导致性能问题的内在原因 系统性能问题的底层原因主要有三个方面: CPU占用率过高导致资源争用和等待内存使用率过高导致内存不足并需…

【go】什么是Go语言中的GC,作用是什么?调优,sync.Pool优化,逃逸分析演示

Go 语言中的 GC 简介与调优建议 Go语言GC工作原理 对于 Go 而言,Go 的 GC 目前使用的是无分代(对象没有代际之分)、不整理(回收过程中不对对象进行移动与整理)、并发(与用户代码并发执行)的三…

【unity实战】Animator启用root motion根运动动画,实现完美的动画动作匹配

文章目录 前言1、动画分类2、如何使用根位移动画? 一、根位移动画的具体使用1、导入人形模型2、导入动画3、配置动画参数4、配置角色Animator动画状态机5、使用代码控制人物前进后退 二、问题分析三、Humanoid动画中的Root Motion机制及相关配置1、Humanoid动画中的…

中间件--ClickHouse-10--海量数据存储如何抉择ClickHouse和ES?

在Mysql数据存储或性能瓶颈时,采用冷热数据分离的方式通常是一种选择。ClickHouse和Elasticsearch(ES)是两个常用的组件,但具体使用哪种组件取决于冷数据的存储目的、查询模式和业务需求等方面。 1、核心对比 (1&…

服务器运维:服务器流量的二八法则是什么意思?

文章目录 用户行为角度时间分布角度应用场景角度 服务器流量的二八法则,又称 80/20 法则,源自意大利经济学家帕累托提出的帕累托法则,该法则指出在很多情况下,80% 的结果是由 20% 的因素所决定的。在服务器流量领域,二…

springboot对接豆包大模型

文档地址: 豆包大模型-火山引擎 模型广场地址: 账号登录-火山引擎 首先来到模型广场,选取你需要的模型,我这边要做图片理解的应用,所以选用了Doubao-1.5.vision-pro. 点立即体验,进入一个新的页面,可以上传图片,然后…

数据通信学习笔记之OSPF其他内容3

对发送的 LSA 进行过滤 当两台路由器之间存在多条链路时,可以在某些链路上通过对发送的 LSA 进行过滤,减少不必要的重传,节省带宽资源。 通过对 OSPF 接口出方向的 LSA 进行过滤可以不向邻居发送无用的 LSA,从而减少邻居 LSDB 的…

智能安全用电系统预防电气线路老化、线路或设备绝缘故障

智能安全用电系统预防电气线路老化、线路或设备绝缘故障 智能安全用电系统,犹如一位忠实而敏锐的卫士,主要针对低压供电网中一系列潜在的危险状况进行了全方位且行之有效的预防和保护。 智能安全用电系统在低压供电网这个复杂的体系中,电气线…

使用Intel Advisor工具分析程序

使用Intel Advisor工具分析程序 Intel Advisor是一款性能分析工具,主要用于识别代码中的向量化机会、线程化和内存访问模式等问题。以下是使用Intel Advisor分析程序的基本步骤: 安装与准备 从Intel官网下载并安装Intel Advisor(通常作为I…

【UniApp】Vue2 scss 预编译器默认已由 node-sass 更换为 dart-sass

从 HBuilderX 4.56 ,vue2 项目也将默认使用 dart-sass 预编译器。 vue2开发者sass预处理注意: sass的预处理器,早年使用node-sass,也就是vue2最初默认的编译器。 sass官方推出了dart-sass来替代。node-sass已经停维很久了。 另…

智慧能源安全新纪元:当能源监测遇上视频联网的无限可能

引言:在数字化浪潮席卷全球的今天,能源安全已成为国家安全战略的重要组成部分。如何构建更加智能、高效的能源安全保障体系?能源安全监测平台与视频监控联网平台的深度融合,正为我们开启一扇通向未来能源管理新世界的大门。这种创…

C++游戏服务器开发之⑦redis的使用

目录 1.当前进度 2.守护进程 3.进程监控 4.玩家姓名添加文件 5.文件删除玩家姓名 6.redis安装 7.redis存取命令 8.redis链表存取 9.redis程序结构 10.hiredisAPI使用 11.基于redis查找玩家姓名 12.MAKEFILE编写 13.游戏业务实现总结 1.当前进度 2.守护进程 3.进程监…

db中查询关于null的sql该怎么写

正确示例 # 等于null select * from 表名 where 字段名 is NULL; # 不等于null select * from 表名 where 字段名 is not NULL;若需要同时判断字段不等于某个值且不为null select * from users where age ! 30 and age is not null; select * from users where age ! 30 or a…

从“堆料竞赛”到“体验深耕”,X200 Ultra和X200s打响手机价值升维战

出品 | 何玺 排版 | 叶媛 vivo双旗舰来袭! 4月21日,vivo X系列春季新品发布会盛大开启,带来了一场科技与创新的盛宴。会上,消费者期待已久的X200 Ultra及X200s两款旗舰新品正式发布。 vivo两款旗舰新品发布后,其打破…