我正在尝试获取 FileSystem 对象,以便我可以使用云存储中的文件,而无需使用 dbutils 实用程序功能。这将允许我的代码与数据块一起在任何平台上运行。我正在使用 Databricks Unity 目录启用的工作区,当我尝试运行下面的代码行时,它给我错误:找不到 SparkContext。
代码:
import org.apache.hadoop.fs.{FileSystem, FileUtil, Path}
val fs = FileSystem.get(spark.sparkContext.hadoopConfiguration)
错误文字:
cmd4.sc:2: value sparkContext is not a member of org.apache.spark.sql.SparkSession
val fs = FileSystem.get(spark.sparkContext.hadoopConfiguration)
^Compilation Failed
我也尝试过运行spark.sparkContext,它给出了相同的错误。 我在 databricks 集群上运行此程序,版本为 DBR 版本 13.3 LTS 且 Access 模式为 Shared。
我不知道或无法弄清楚这是否是与 Unity 目录相关的问题或其他问题,因为之前我能够在 databricks 集群上运行此代码,而无需与集群关联的 Unity 目录标签。
寻找任何可以帮助我解决此错误的想法/建议/解决方案。
我遇到了类似的问题,并通过在配置中将集群的访问模式更改为“单用户”来解决它。
“共享”选项功能有限,尤其是 Scala 预览版,这可能会导致您遇到错误。
希望这可以帮助您解决问题!