PySpark 和访问 HDFS

PySpark and accessing HDFS

我正在尝试获取已复制到 HDFS 的文件,但我似乎无法弄清楚如何实际连接。例如,我使用以下命令将文件放在 HDFS 中:

hdfs dfs -put ~/spark-1.4.0/XXX/YYY input

工作正常,但现在是从 PySpark 定位它们的问题。 spark 的文档指向:https://spark.apache.org/docs/latest/hadoop-third-party-distributions.html

我使用的是与 hadoop2.6 匹配的 spark 版本,但在上述 link 指向的目录中没有看到任何 conf 文件。

我可以直接访问输入文件吗?还是我需要使用 PySpark 进行更多配置?

因此 Spark 不附带 hadoop-site 或 yarn-site 文件,因为它们是特定于您的 hadoop 安装的。

您应该更新 spark-env.sh 脚本以指向文件所在的配置目录。如果找不到 hadoop-site.xml 文件,您可以尝试 运行ning export 和 grep 获取 CONF 并检查 YARN_CONF_DIRHADOOP_CONF_DIR。如果你找不到其中任何一个,你的 hdfs 命令可能已经找到了你的配置,所以你总是可以 运行 对其进行 strace 并查找它从哪里加载配置文件。