网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
cluster的不太好看 succeeded表示成功了,然后点击ID那个点击进去
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/f510e0a4b65d43cc946c2f07f5469cce.png)
会有一个logs(日志),在日志里面就可以查看对应的结果了
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/3247abed4d19410faddd49df1b3889a9.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/f5b98f7931824c9f90b06b9c1d79ecb9.png)
它这个是根据你电脑性能来执行的,执行多次结果都是不会重复的
## Anaconda安装以及Jupyter安装
具体操作请跳转到[PySpark(超详细笔记)]( )
往下找找 写的很详细
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/2f65b45d1f4b4913b3f2de7cfead660f.png)
配完以后可以在xshell里去启动`jupyter notebook`
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/8db6ce7d43ff4d22a6494855aca1b77a.png)
直接访问`hadoop141:8888`
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/753ad17ec2ea4bed86d53d56289d96e2.png)
密码是之前步骤里设置的
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/b390ceb59c454adba4ad1207fe0db4cb.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/5ebeffbffd2748799d5d8f0bbe40f691.png)
这里面就可以执行Python和pyspark
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/bbc730ee1ea042f89a75a674039688c1.png)
它的路径保存在设置的路径里
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/19114c19f87a4e9bb16abbf6ce49042c.png)
可以使用了
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/5a22c052d75747b3994f9f3485889591.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/805d91297c4b4d79814d76f205189a7a.png)
进入这个脚本
./bin/spark-shell
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/075dd32b49bb498cabe8c769d52b75cb.png)
启动以后告诉你可以到4040去访问
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/b2bd6f4405b6435681d667d35a2f9a02.png)
后边提交的所有东西都会在这看得到
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/ae56f5c0988e4b83a49214ca8c99f392.png)
默认是本地模式执行
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/8e9a7cf41ccd4db2aa3b0014aed78758.png)
也可以别的模式操作
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/3e623435252b49dca63756f40e5b01e3.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/4f7e85fd1cc343279322fc71f90601a5.png)
刷新以后再来看会发现有一个编译驱动的一个添加,证明是通过你这个东西来提交的了
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/2d1fb629827140129849fe5993be3622.png)
spark session的有效值被起了一个别名叫spark 是spark session的一个对象 实例化后的一个对象
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/1884f7637eae4058b19ec53bf6987761.png)
试着完成一个案例,通过spark的语法去创建一个0~1000之间的 列名是number的一个列表
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/630cead55d914508b9c5687ed4dd57fd.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/f257823a09244e7ebdf0d4da5be9df33.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/da8e6765534a499aa8d3b61faa83ce6b.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/201cdf09994544e4b486c62c1371dd47.png)
回到上面来会发现有添加
然后dateframe 它是二维数组 尝试案例
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/1626821727674ae5bfde43825c1de4e4.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/6b112b315da549a697e90daabd2dac79.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/1047c4976c62458bb737f281c67ee5fa.png)
出现stage已经在计算了
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/b1fad2f5aa9346f591a52699c2f37d27.png)
刷新可以看到正在运行的job
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/f95cc5b7b00d49beacc4872eb2114146.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/9cc5db19425c4f6e87a85faa6b82d166.png)
比如说在这个有向无环图里面 第一部是一个整体的一个构建
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/72c41539d2764e308e306eb07970d7e8.png)
然后进行了一个统计计算
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/703cb7f5c8c84cc1945fa61478670ce0.png)
然后来到这个里面
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/8db180d98e5248478e61e20650fef5f7.png)
首先第一步是切割你的数据,最后两个是不同的Map计算
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/732cda7b76ed44979488109255452c7a.png)
往下翻可以看到记录的执行结果(18条)
这就是spark里面最简单的记录总数的一个计算
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/78a4bfd1bb8d4051a1ce8d41704839bc.png)
## Pycharm
接下来需要安装Pycharm软件
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/ac73daf40f404c3fafc15736bb379ba3.png)
示范 先随便创建个文件夹,然后在里面打开,对于Pycharm来说如果要访问远程集群,必须新建一个解释器
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/b5d92f714fac4e978d3cb697d16e0ef6.png)
在main里面有一个编辑配置
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/ea21b8e131f24baea69f61b8ffbd7e4d.png)
在+号里面找到这个
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/a1b22276fae241e8b19a232e37cf1702.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/1462bda3bd5d4ae0ba6229f10fbdec79.png)
如果没有的话在工具部署配置里面
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/3af16db2a6d84d47b16645c55aaa894a.png)
按照这个
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/f4c801c3c02844e2a56c97dacc97c293.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/8eaf1addd8614039bdc886a4d9392424.png)
这个要取消掉
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/1d92193f8cbc4037814809989131d333.png)
配置没有的话要配置一下
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/fd8f88593a00476b841644467e6c538b.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/10ff20e243f34865b33c0f40d357487d.png)
映射里本地路径不要动 部署路径更改
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/5c164527e1fd4f75a8d03f01ce32727d.png)
比如映射到这个里面,需要创建对应的文件
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/67aa78ed8f0a49ebb9df81e4c1f2ca59.png)
然后他就可以自动的映射了
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/8d26973497194ae8a5a80632ebab2fe6.png)
web路径就这个不要动 然后就可以了 点击确定
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/6f3a7803849c409f9bfdcca95c39656c.png)
文件设置里找到python解释器
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/f8d145763dc243f790bb60d668a7ee78.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/9034726ed2bb4f8f8af63591947fdd0c.png)
就用刚才配好的那个通过SSH去连接
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/44c0b12be87a4bfc9b3999bef669aaa7.png)
点击下一个
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/40cfda470d2f48f1b9955a94f57536f7.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/8e520146d13b4300834ace50dd564fbe.png)
找到python3解释器的路径
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/6a91c8fb7fc845ca96c3d343fedbb1bd.png)
直接点击完成
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/41657c9413b3468d8eaec515d1bbd799.png)
然后就连接上了
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/71fe02dc9c764750a8d62eb322486c97.png)
点击确定
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/4959f9ad5ba6430b9ede9ddcd75d3c75.png)
他会自动完成上传
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/134bb98809804945a98e6dbbd31b2536.png)
前面路径映射错了,可以重新修改
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/b93cf27292844290bf0814a1195085c9.png)
比如说在这里面新建文件wordcount
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/c6f592f187bf4f658b48555d538d5342.png)
然后对应路径里会出现
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/5965b5614c074f6c852910f3700181d9.png)
接下来我们所执行的所有代码就相当于在集群里面去执行的
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/a4e89062b1a541889d27cabc46d67930.png)
首先我们打包实现一个词频统计
import sys
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/83d22f61f3f54c9ab987512f0d240f64.png)
需要先装包,这个路径下载快一点
pip3 install pyspark -i https://pypi.tuna.tsinghua.edu.cn/simple
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/746de1ea2ac0481eb67ab06e32e23c5f.png)
安装好后,就能在这里面看到你安装的pyspark了,然后就可以写程序了
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/a30ba88e6f9c4dee9ce1199ee548dadb.png)
from pyspark.sql import SparkSession
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/722218d89a2c4384af1c90cf7b6d4ef7.png)
spark = SparkSession.builder.master(“local[*]”.appName(‘PycharmJob’).getOrCreate()
print(spark)
右击运行
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/0fcd06984f234de180913f4d4cd89637.png)
执行出来了
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/b9239647d9d849288627e72616a15fef.png)
如果不对,可能是解释器映射不对,重新弄
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/887d8f18c55a4af5a57dc03d4c7d5f01.png)
调用方法获取文本路径
words = spark.sparkContext.textFile(“/home/hadoop/word.txt”)
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/2a1ef445300e41a59157db45e0cd0276.png)
print(words)
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/209c2ecbbd894b3b954e58665cc3abb8.png)
重新加一个file:就可以获取本地文件夹了
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/f9d04ec7c7e343a8a8ea9f96ea588c19.png)
是通过MapPartitionsRDD去走的
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/74975544fb1c416e88146e2b29800842.png)
这个可以做词频统计,pycharm进行远程提交
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/344ca7d1ce2d45f6b225f197fe55a6ac.png)
刚才有个问题我们word.txt是没有提前创建的,在这个情况下
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/c286dd8f10cc42d682b0d91b90a4989c.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/0c00d50679344dca9225e92cc6e6aec3.png)
![img](https://img-blog.csdnimg.cn/img_convert/9db3f360b96cbef3d5acffdd476e58d5.png)
![img](https://img-blog.csdnimg.cn/img_convert/fb3949192a2d2d0c6bfc3f9e2f5a75c5.png)
![img](https://img-blog.csdnimg.cn/img_convert/b7c61ea8070ec91b939a4ca2dd8dd9ea.png)
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!**
**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**
6599)]
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!**
**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**