【问题标题】:Do I need to install Hadoop in order to use all aspects of Pyspark?我是否需要安装 Hadoop 才能使用 Pyspark 的各个方面?
【发布时间】:2020-03-24 13:39:27
【问题描述】:

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

显然,在 Windows 下,pyspark 需要访问 Hadoop 的 winutils.exe 以完成某些事情(例如,将文件写入磁盘)。当 pyspark 想要访问 winutilis.exe 时,它​​会在 HADOOP_HOME 环境变量(用户变量)指定的文件夹的 bin 目录中查找它。因此,我将 winutils.exe 复制到 pyspark (.\site-packages\pyspark\bin) 的 bin 目录中,并将 HADOOP_HOME 指定为.\site-packages\pyspark\。这样就解决了获取错误信息的问题:Failed to locate the winutils binary in the hadoop binary path

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

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 不受限制地工作?

【问题讨论】:

  • 这只是一个警告,可以忽略。

标签: python apache-spark hadoop pyspark


【解决方案1】:

Hadoop 安装不是强制性的。

Spark 只是分布式计算引擎。

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

Spark 旨在运行在各种资源管理平台之上,如 Spark、Mesos、YARN、Local、Kubernetes 等......

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

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

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

【讨论】:

    猜你喜欢
    • 2011-08-22
    • 1970-01-01
    • 1970-01-01
    • 2011-04-12
    • 2023-02-26
    • 2022-06-10
    • 2021-10-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多