如何在 Hadoop 上运行 pySpark
Posted
技术标签:
【中文标题】如何在 Hadoop 上运行 pySpark【英文标题】:How to run pySpark on Hadoop 【发布时间】:2017-01-11 12:28:19 【问题描述】:我只是 Hadoop 世界的新手。 我将在我的 PC 上安装一个独立版本的 Hadoop,以将文件保存在 HDFS(当然是 1 个节点)上,然后运行 pySpark 从 HDFS 读取文件并处理它们。我不知道我怎么能把这些碎片放在一起。 谁能给我一个清晰的我需要安装的组件的顺序吗?
【问题讨论】:
【参考方案1】:如果您使用的是 windows PC,那么您必须安装 VM 播放器或 然后是oracle虚拟盒子
1.a.安装任何 linux 发行版,例如虚拟机中的 centos、rhel、ubuntu 等
1.b。在你的虚拟机中安装 JAVA
1.c 从步骤 2.b 开始
如果你使用的是 Linux 机器,那么
2a。安装 JAVA 2b下载稳定版apache hadoop
2.c 然后解压 tar 文件到 /usr/your/directory
2.d 在您的 ~/.bash_profile 中为您的 hadoop 路径进行配置
例如export HADOOP_HOME=/opt/hadoop export HADOOP_COMMON_HOME=$HADOOP_HOME
2.e 按照must have properties for core-site hdfs-site mapred-site and yarn-site.xml在 core-site.xml hdfs-site.xml mapred-site.xml 和 yarn-site.xml 中进行配置
2.f 格式化你的名字节点,然后启动 rest daemons
注意:按照给定的步骤安装single node cluster或APACHE Documentation
在您的 PC 中安装和配置 hadoop 之后
3.a下载Apache spark
3.b 提取 tar 文件并按照相同的说明操作,例如在 bash_profile 文件中导出路径
3.c 启动 spark shell 或 pyspark shell
注意:按照installing spark的步骤操作
【讨论】:
【参考方案2】:如果你有 Windows 10 Pro 那么你可以安装 Ubuntu WSL 20.04(https://docs.microsoft.com/en-us/windows/wsl/install-win10#manual-installation-steps) 然后安装 Hadoop(https://dev.to/samujjwaal/hadoop-installation-on-windows-10-using-wsl-2ck1) 此时有两个部分:一个是对 hdfs 文件的管理,一个是对应用程序的管理。 因此,您可以使用 hdfs 文件的 hadoop 管理来存储/托管任何可以复制压缩然后可以在 hadoop-drive-zone 中解压缩的海量文件。 然后可以安装 python(pySpark) 或 java 或其他语言来创建一个应用程序,该应用程序将通过 hadoop 应用程序管理进行管理。 hadoop 应用程序(比如说 pySpark)将可以访问存储在 hadoop-drive-zone 中的任何海量文件。 要安装 Apache Spark 作为替代方案,您可以像本教程中那样继续: https://dev.to/awwsmm/installing-and-running-hadoop-and-spark-on-ubuntu-18-393h 或者 https://kontext.tech/column/spark/311/apache-spark-243-installation-on-windows-10-using-windows-subsystem-for-linux
备注:看上面的教程安装Hadoop 3.3.0版本(用ubuntu命令试试:$ hadoop version),在Spark安装教程中必须选择/使用足够的Spark版本!
【讨论】:
以上是关于如何在 Hadoop 上运行 pySpark的主要内容,如果未能解决你的问题,请参考以下文章
无法让 pyspark 作业在 hadoop 集群的所有节点上运行
如何使用 AWS Lambda 在 AWS EMR 上运行 PySpark
如何将 Pyspark 连接到在 docker 上运行的 datastax Cassandra?
在 AWS EMR 上的 PySpark 脚本上找不到 com.amazon.ws.emr.hadoop.fs.EmrFileSystem