python - 我是否需要安装 Hadoop 才能使用 Pyspark 的所有功能?

标签 python apache-spark hadoop pyspark

我已经安装了 pyspark,但没有单独安装任何 hadoop 或 Spark 版本。

显然在 Windows 下 pyspark 需要访问 Hadoop 的 winutils.exe 来执行某些操作(例如将文件写入磁盘)。当pyspark想要访问winutilis.exe时,它会在HADOOP_HOME环境变量(用户变量)指定的文件夹的bin目录中查找它。因此,我将 winutils.exe 复制到 pyspark 的 bin 目录(.\site-packages\pyspark\bin)中,并将 HADOOP_HOME 指定为 .\site-packages\pyspark\ 。这解决了获取错误消息的问题:无法在 hadoop 二进制路径中找到 winutils 二进制文件

但是,当我使用 pyspark 启动 Spark session 时,我仍然收到以下警告:

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

安装 Hadoop,然后为 HADDOP_HOME 指定其安装目录确实可以防止出现警告。是否需要安装特定的 hadoop 版本以使 pyspark 不受限制地工作?

最佳答案

Hadoop安装不是强制性的。

Spark只是分布式计算引擎。

Spark 仅提供计算,没有任何存储。 但是 Spark 集成了各种各样的存储系统,如 HDFS、Cassandra、HBase、Mongo DB、本地文件系统等......

Spark 设计为在 Spark、Mesos、YARN、Local、Kubernetes 等各种资源管理平台上运行......

PySpark 是 Spark 之上的 Python API,用于在 Python 中开发 Spark 应用程序。所以Hadoop的安装不是强制的。

注意:只有在 YARN 上运行 Pyspark 应用程序或从 HDFS/Hive/HBase 或两者访问 Pyspark 应用程序的输入/输出时才需要安装 Hadoop。

关于您发布的警告是正常的。所以忽略它。

关于python - 我是否需要安装 Hadoop 才能使用 Pyspark 的所有功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60832217/

相关文章:

hadoop - oozie 4.1.0 Louncher失败,找不到OozieLauncherInputFormat $ EmptySplit

python - 使用 python gdata 通过 URL 将视频上传到 YouTube

python - 如何处理 pandas 中的插补和热一编码?

java - Spark 作业在本地运行时可以工作,但在独立模式下则无法工作

apache-spark - 如何从 pyspark 中的文件中匹配/提取多行模式

hadoop - 我们如何将一些自定义类的对象作为参数传递给 mapReduce 程序中的映射器?

php - python如何将mysql二进制转换(16)

python - 取 pandas 数据框中一系列行的平均值

scala - 使用 Scala 读取 Cassandra 中的并行性

mysql - hive 使用从另一个表中选择的内容更新表列