Mac安装Spark,并使用pyspark和Jupyter写代码

在个人Mac电脑上安装并使用Spark:

第一步,网站上下载最新Spark包。

官网地址:https://spark.apache.org/downloads.html

第二步,查看是否运行良好,是否需要安装其他工具,比如JDK。【SSH连接本地Local Shell】

#cd 到安装的Spark文件夹下
cd spark-3.0.0-preview2-bin-hadoop2.7
#执行Spark自带的一个例子,查看运行情况
./bin/run-example org.apache.spark.examples.SparkPi

如果运行后显示的是如下:那就需要安装JDK(Java Development Kit)。

No Java runtime present, requesting install.

JDK官网下载地址: https://www.oracle.com/java/technologies/javase-jdk14-downloads.html

安装好JDK后,重复上面的./bin/run-example命令,正常运行后,会得到一个结果行:

...
20/04/01 19:19:53 INFO DAGScheduler: Job 0 finished: reduce at SparkPi.scala:38, took 1.823470s 
Pi is roughly 3.1408157040785203
...

这样便是安装并运行成功了。

如果可以在集群上跑Spark,可以运行下面代码试试:

#Ip、port是集群IP、port
MASTER=spark://IP:PORT ./bin/run-example org.apache.spark.examples.SparkPi

第三步,使用Spark-shell写代码。

如果使用的是scala,运行 ./bin/spark-shell。如果使用的是Python语言,运行 ./bin/pyspark。

./bin/pyspark

进入如下环境:

(base) 192:spark-3.0.0-preview2-bin-hadoop2.7 gao$ ./bin/pyspark 
Python 3.7.3 (default, Mar 27 2019, 16:54:48) 
[Clang 4.0.1 (tags/RELEASE_401/final)] :: Anaconda, Inc. on darwin
Type "help", "copyright", "credits" or "license" for more information.
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.apache.spark.unsafe.Platform (file:/Users/gao/spark-3.0.0-preview2-bin-hadoop2.7/jars/spark-unsafe_2.12-3.0.0-preview2.jar) to constructor java.nio.DirectByteBuffer(long,int)
WARNING: Please consider reporting this to the maintainers of org.apache.spark.unsafe.Platform
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
20/04/01 19:55:55 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /__ / .__/\_,_/_/ /_/\_\   version 3.0.0-preview2
      /_/

Using Python version 3.7.3 (default, Mar 27 2019 16:54:48)
SparkSession available as 'spark'.
>>> 

第四步,提交一个pythonapp.py脚本

#这里的$SPARK_HOME是Spark安装包所在的本地路径
$SPARK_HOME/bin/spark-submit pythonapp.py

第五步,使用Jupyter

#启用Jupyter
PYSPARK_DRIVER_PYTHON=jupyter PYSPARK_DRIVER_PYTHON_OPTS='notebook' ./spark-3.0.0-preview2-bin-hadoop2.7/bin/pyspark

打开Jupyter后,新建一个Python文件,使用pyspark探索数据,示例如下:

import matplotlib.pyplot as plt
#加载数据
user_data = sc.textFile("/Users/gao/data/ml-100k/u.user") 
user_data.first()
'''
用户id|年龄|性别|职业|邮编
1|24|M|technician|85711'''
#按|拆分数据,并统计数据
user_fields = user_data.map(lambda line: line.split("|"))
num_users = user_fields.map(lambda fields: fields[0]).count()
num_genders = user_fields.map(lambda fields:fields[2]).distinct().count()
num_occupations = user_fields.map(lambda fields:fields[3]).distinct().count()
num_zipcodes = user_fields.map(lambda fields:fields[4]).distinct().count()
print ("Users: %d, genders: %d, occupations: %d, ZIP codes: %d" % (num_users, num_genders, num_occupations, num_zipcodes))

#建立分布直方图做统计
ages = user_fields.map(lambda x: int(x[1])).collect()
fig = plt.gcf()
fig.set_size_inches(16, 10)
plt.hist(ages, bins=20, color='lightblue', normed=True)

结果展示:

Done

Spark 是一个开源的大数据处理框架,而 PySpark 则是 Spark 的 Python API。要安装使用 SparkPySpark,你需要满足以下条件: 1. Java 环境:Spark 是用 Java 编的,所以需要安装 Java 运行时环境 (JRE) 或 Java 开发工具包 (JDK)。推荐安装 JDK,因为它还包含了 JRE。 2. Python 环境:PySparkSpark 的 Python API,所以需要安装 Python。推荐安装 Python 3.x 版本。 3. Spark 安装包:从 Spark 官方网站 (https://spark.apache.org/downloads.html) 下载适合你系统的 Spark 安装包。选择预编译的版本,可以根据你的需求选择不同的版本和选项。 4. Hadoop 可选:如果你打算在分布式环境中使用 Spark,可以选择安装 Hadoop。Hadoop 是一个用于处理大规模数据集的分布式计算框架,Spark 可以与 Hadoop 集成以实现分布式数据处理。 安装完成后,你可以按照以下步骤使用 SparkPySpark: 1. 解压安装包:将下载的 Spark 安装包解压到你选择的目录。 2. 设置环境变量:将 Spark 的 bin 目录路径添加到系统的 PATH 环境变量中。 3. 启动 Spark:在终端或命令行中输入 `spark-shell` (Scala) 或 `pyspark` (Python) 命令,启动 SparkPySpark。 4. 使用 SparkPySpark:通过编 Spark 应用程序或在 PySpark 中编 Python 代码,利用 Spark 提供的丰富功能进行大数据处理和分析。 注意事项: - 在使用 PySpark 时,可以使用 Python 的第三方库来增强功能,如 NumPy、Pandas 等。 - 根据你的需求和环境配置,可能需要进行一些额外的设置和调整。请参考 Spark 官方文档和用户指南以获取更多详细信息。 希望以上信息对你有帮助!如果还有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值