Spark内部没有捆绑hadoop库的发行版。它需要设置指向提供的hadoop库的SPARK_DIST_CLASSPATH变量。
除此之外,还有“建立Spark”,说明不同版本的hdfs之间的不兼容性:
因为HDFS在不同版本之间不是协议兼容的,如果您愿意 要从HDFS读取,您需要根据具体情况构建Spark 您环境中的HDFS版本。你可以通过 hadoop.version属性。如果未设置,Spark将针对Hadoop构建 默认为2.2.0。请注意,特定Hadoop版本需要某些构建配置文件
我是否理解这是仅仅涉及捆绑特定版本的hadoop的Spark发行版?只要运行时可用的jar具有Spark在源代码中使用的类和方法,“Hadoop Free”就可以在任何hadoop版本上运行吗?所以我可以安全地使用hadoop-client 2.6编译Spark并在Hadoop 2.7+上运行?