gpt4 book ai didi

java - 访问Scala变量: 'not found value: variable_name' Issue

转载 作者:行者123 更新时间:2023-12-01 17:25:44 25 4
gpt4 key购买 nike

我有两个 Scala 对象。

  1. 通用代码
  2. dependent_code

在 common_code 中,我有一种方法可以编写通用代码并声明一些变量。我想在我的第二个对象中使用这些变量和代码,但是当我尝试访问这些变量时,我遇到了 common_method not find value: variable name 问题。

我正在使用下面的代码。

object comman_code{
def common_method(args: Array[String]) {
val properties: Properties = new Properties()
val hdfsConf = new Configuration();
val fs: FileSystem = FileSystem.get(hdfsConf);
val is = fs.open(new Path(args(0)));
properties.load(is)
//created sparkSesssion

//Table_Name i want to use in 2nd program
val Table_Name = properties.getProperty("Table_Name")
}
}

object dependent_code {
def main(args: Array[String]):Unit = {
val common_method = helper_class.common_method(args)
val mydf=sparksesssion.sql(s"select * from ${Table_Name}").show() //not able to acess getting not found value: Table_Name
}
}

有人可以建议我如何访问其他对象中的 Table_Name 变量吗?

最佳答案

当您使用 Scala 对象时,它们会自动实例化,您可以轻松访问它们,如下所示。

object common_code {
def common_method(args: Array[String]): String = {
val properties: Properties = new Properties()
val hdfsConf = new Configuration();
val fs: FileSystem = FileSystem.get(hdfsConf);
val is = fs.open(new Path(args(0)));
properties.load(is)
//created sparksesssion
val Table_Name: String = properties.getProperty("Table_Name")
Table_Name
}
}

object dependent_code {
def main(args: Array[String]):Unit = {
val tableName: String = common_code.common_method(args)
val mydf=sparksesssion.sql(s"""select * from ${tableName}""").show()
}
}

关于java - 访问Scala变量: 'not found value: variable_name' Issue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61214719/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com