码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Anaconda3使用Spark的正确方法


    目录

    一、理论知识

    二、部署环境

    三、部署流程

    3.1、创建Anaconda的环境,安装Anaconda3工具

     3.2、部署Java环境、Scala环境,添加环境变量

     3.3、创建Spark的环境,建立新项目

     3.4、输入代码,进行验证

    四、总结


    一、理论知识

         Apache Spark 是用于大规模数据处理的统一分析引擎。它提供 Java、Scala、Python 和 R 中的高级 API,以及支持通用执行图的优化引擎。它还支持一组丰富的高级工具,包括用于 SQL 和结构化数据处理的Spark SQL 、用于机器学习的MLlib、用于图形处理的 GraphX,以及用于增量计算和流处理的结构化流。(详细的理论可以翻阅官网手册)

     关于我使用的版本的介绍。(一定要看官方手册,针对具体问题具体分析。自己在博客找了很多文档,都不适合自己环境。挖坑几天了,费时费力。)

    官方地址Overview - Spark 3.1.2 Documentation

    二、部署环境

    Windowns10,Anaconda3(自带python3.7,R语言),jdk-8u341-windows-x64、scala-2.12.8.msi、pyspark3.1.2

    三、部署流程

    3.1、创建Anaconda的环境,安装Anaconda3工具

    这里可以看我的博客,基本上从官网下载,基本上都是默认安装

    Python-IDE舍弃Pycharm追求Anacanda之旅_业里村牛欢喜的博客-CSDN博客

    (注意添加python路径给系统中)

     3.2、部署Java环境、Scala环境,添加环境变量

    下载java程序包,Scala的程序包。

    傻瓜式默认安装java程序包,在添加系统路径,这里我是安装在C盘路径下面。(默认安装C盘下)

    Scala 默认安装路径,在系统变量中添加

     3.3、创建Spark的环境,建立新项目

    打开Anaconda3的工作平台,创建一个项目环境。

    这里选择创建名字,记得把python3.7+R语言都勾选上。

    在项目中,选择pyspark模块进行安装,这里可以选择3.1.2版本。

     打开终端,测试一下Java路径和scala路径,验证是否环境变量配置是否正常。

     验证配置环境变量是否正常了,在新的环境下面输入变量。

     

     3.4、输入代码,进行验证

    使用jupyter nootbook

     创建一个新的脚本文件

    输入Spark测试代码,进行运行。(如果Spark安装成功的话,代码不会运行错误。)

     Jubyter nootbook运行日志,显示无异常。

     spark测试代码片段:

    1. from pyspark import SparkContext
    2. sc = SparkContext('local')
    3. doc = sc.parallelize([['a', 'b', 'c'], ['b', 'd', 'd']])
    4. words = doc.flatMap(lambda d: d).distinct().collect()
    5. word_dict = {w: i for w, i in zip(words, range(len(words)))}
    6. word_dict_b = sc.broadcast(word_dict)
    7. def wordCountPerDoc(d):
    8. dict = {}
    9. wd = word_dict_b.value
    10. for w in d:
    11. if wd[w] in dict:
    12. dict[wd[w]] += 1
    13. else:
    14. dict[wd[w]] = 1
    15. return dict
    16. print(doc.map(wordCountPerDoc).collect())
    17. print("successful!")

    挖坑经历:

            这里演示一下换另外一个环境进行测试,在sklearn中进行测试。在sklearn环境中,我没有安装R语言,但是环境配置都是正常的了。

    每次运行时候就报错,这里报错之后,jubyter nootbook就停止工作需要重启。

     然后我们来看看jubyter的日志。分析一下日志,jubyter从启动到创建脚本,各种都正常,但是运行代码之后,系统一直报错。系统平台截止。从日志上面分析,系统一直提示我们安装的python环境和pyspark的环境不相匹配。我试了很多遍,不管是用spark什么版本都不对。最后是按照官网手册建立R语言,运行才正常。

    四、总结

    1、看官方手册,按照spark对应的版本需要的插件进行安装。博客千万条,不一定适合自己的环境。

    2、java,scala是必要的插件,我第一次使用pyspark时,就报错缺少java的环境支持,我按照完java环境,就提示另外错误。

    3、hadoop不需要安装,官网手册里面写到不要安装。很多博客里面还要安装hadoop,winutils,还需要将winutils的文件安装到hadoop路径下面。

    参考文献:

    Windows环境下Anaconda 安装R+Python3.5详细过程 - 腾讯云开发者社区-腾讯云

    spark安装_Spark从零开始-慕课网

    Overview - Spark 3.1.2 Documentation

    Python运行spark时出现版本不同的错误_善守的大龙猫的博客-CSDN博客

    https://www.jianshu.com/p/a3af36409e0b

    pyspark入门教程_wapecheng的博客-CSDN博客_pyspark

  • 相关阅读:
    彻底搞通服务发现的原理和实现
    mybatis
    Oracle/PLSQL: Abs Function
    JAVA实现Jfilechooser搜索功能
    国庆值得入手的蓝牙耳机哪款好?入耳式蓝牙耳机推荐
    实验三 利用flask框架和Echarts实现电影榜单可视化
    彻底解决 WordPress cURL error 28 错误
    【JAVA开发】提高开发效率的工具分享
    使用DIV、CSS技术设计的个人博客网页(web期末考试)
    leetCode 583.两个字符串的删除操作 动态规划 + 优化空间复杂度(二维dp、一维dp)
  • 原文地址:https://blog.csdn.net/yi247630676/article/details/126538501
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号