如何以编程方式检测 Databricks 环境
2022-09-03 14:35:28
我正在编写一个 spark 作业,该作业需要在本地和 Databricks 上运行。
每个环境(文件路径)中的代码必须略有不同,因此我试图找到一种方法来检测作业是否在Databricks中运行。到目前为止,我发现的最好的方法是在根目录中找到一个“dbfs”目录,如果它在那里,那么假设它正在Databricks上运行。这感觉不是正确的解决方案。有没有人有更好的想法?
我正在编写一个 spark 作业,该作业需要在本地和 Databricks 上运行。
每个环境(文件路径)中的代码必须略有不同,因此我试图找到一种方法来检测作业是否在Databricks中运行。到目前为止,我发现的最好的方法是在根目录中找到一个“dbfs”目录,如果它在那里,那么假设它正在Databricks上运行。这感觉不是正确的解决方案。有没有人有更好的想法?
您可以简单地检查环境变量是否存在,例如:
def isRunningInDatabricks(): Boolean =
sys.env.contains("DATABRICKS_RUNTIME_VERSION")
怎么样:
蟒:
def isLocal():
setting = spark.conf.get("spark.master")
return ("local" in setting)
Scala:
def isLocal(): Boolean = {
val setting = spark.conf.get("spark.master")
return ("local" contains setting)
}