阿里云服务器centos7.2下安装Spark 2.2.1
2021/7/7 7:10:48
本文主要是介绍阿里云服务器centos7.2下安装Spark 2.2.1,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
安装Spark时版本选择与hadoop版本有关。
点击打开链接 进入后,选择一个能用的镜像。
一般情况下,这两个镜像都能用,
http://www-eu.apache.org/dist/spark/spark-2.2.1/spark-2.2.1-bin-hadoop2.7.tgz
http://www-us.apache.org/dist/spark/spark-2.2.1/spark-2.2.1-bin-hadoop2.7.tgz
1、下载
执行命令:
wget http://www-eu.apache.org/dist/spark/spark-2.2.1/spark-2.2.1-bin-hadoop2.7.tgz
2、解压并更改文件名
tar zxvf spark-2.2.1-bin-hadoop2.7.tgz mv spark-2.2.1-bin-hadoop2.7 spark #方便后续操作,可以自行更改
3、配置环境变量:
vim /etc/profile
export SPARK_HOME=/usr/local/spark export PATH=$PATH:$SPARK_HOME/bin
让修改后的配置文件生效:
source /etc/profile
4、运行spark
执行命令:
./bin/pyspark
开始编写Python程序。
在上面的操作过程中,会发现有很多INFO日志弹出。通过修spark文件中
cd /usr/local/spark/conf cp log4j.properties.template log4j.properties vim log4j.properties
把原来文档中的INFO改为WARN
log4j.rootCategory=WARN, console
然后按Esc,:wq保存退出。
可以通过修改配置文件改变pyspark默认选择的Python版本:
cd /usr/local/spark/conf cp spark-env.sh.template spark-env.sh vim spark-env.sh
添加如下命令到spark-env.sh文件中(放在第二行就可以)
export PYSPARK_PYTHON=/usr/local/bin/python3 export PYSPARK_DRIVER_PYTHON=/usr/local/bin/python3
保存退出。
重新运行pyspark。发现Python版本变为python3.6了。
如果想要使用IPython或者jupyter,在spark目录下执行以下命令:
PYSPARK_DRIVER_PYTHON=ipython ./bin/pyspark
或者
PYSPARK_DRIVER_PYTHON=jupyter PYSPARK_DRIVER_PYTHON_OPTS=notebook ./bin/pyspark
5、在spark上运行python代码
5.1 Spark的主要抽象是一个名为Dataset的分布式项目集合。可以从Hadoop InputFormats(例如HDFS文件)或通过转换其他数据集来创建数据集。由于Python的动态特性,我们不需要在Python中强类型数据集。因此,Python中的所有数据集都是Dataset [Row],我们称之为DataFrame与Pandas和R中的数据框概念一致。让我们从Spark源目录中的README文件的文本中创建一个新的DataFrame:
执行命令:
textFile = spark.read.text("README.md")
报错如下:
这是因为在使用相对路径时,系统默认是从hdfs://localhost:9000/usr/root目录下读取README.md文件的,但是README.md文件并不在这一目录下,所以spark.read.text()必须使用绝对路径。
修改命令如下:
textFile = spark.read.text("file:///usr/local/spark/README.md")
5.2可以通过调用某些操作直接从DataFrame获取值,也可以转换DataFrame以获取新值。
第一个命令输出的是DataFrame的行数,第二个命令输出的是DataFrame的第一行的内容。
5.3现在让我们将这个DataFrame转换为一个新的DataFrame。我们调用filter返回一个新的DataFrame,其中包含文件中的一行子集。
这个命令输出的是README.md文件中包含”Spark”该字符串的行数
5.4
这首先将一行映射为整数值,并将其别名为“numWords”,从而创建一个新的DataFrame。agg在该DataFrame上调用以查找最大的字数。参数select和agg都是Column,我们可以用来df.colName从DataFrame中获取一个列。我们还可以导入pyspark.sql.functions,它提供了很多方便的功能来从旧的列构建一个新的列。
参考
官方文档:http://spark.apache.org/docs/latest/quick-start.html
中文文档:http://spark.apachecn.org/docs/cn/2.2.0/quick-start.html
Spark 笔记|教程 —— Python API:http://www.myoak.info/post/10/
这篇关于阿里云服务器centos7.2下安装Spark 2.2.1的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-23DevExpress 怎么实现右键菜单(Context Menu)显示中文?-icode9专业技术文章分享
- 2024-12-22怎么通过控制台去看我的页面渲染的内容在哪个文件中呢-icode9专业技术文章分享
- 2024-12-22el-tabs 组件只被引用了一次,但有时会渲染两次是什么原因?-icode9专业技术文章分享
- 2024-12-22wordpress有哪些好的安全插件?-icode9专业技术文章分享
- 2024-12-22wordpress如何查看系统有哪些cron任务?-icode9专业技术文章分享
- 2024-12-21Svg Sprite Icon教程:轻松入门与应用指南
- 2024-12-20Excel数据导出实战:新手必学的简单教程
- 2024-12-20RBAC的权限实战:新手入门教程
- 2024-12-20Svg Sprite Icon实战:从入门到上手的全面指南
- 2024-12-20LCD1602显示模块详解