Как вызывать методы в Scala - PullRequest
0 голосов
/ 14 апреля 2020

Я написал некоторый код в scala и создал один метод внутри него, теперь я хочу вызвать этот метод в другой программе, но я не получаю никакого результата после вызова этого метода.

Первая программа

object helper_class {
  def driver {
    def main(args: Array[String]) {
      val sparksession = SparkSession.builder().appName("app").enableHiveSupport().getOrCreate();
      val filepath: String = args(0)
      val d1 = spark.sql(s"load data inpath '${args(0)}'  into table databasename.tablename")
      //some more reusable code
    }
  }
}

секунда Программа

import  Packagename.helper_class.driver
object child_program {
  def main(args: Array[String]) {
    driver //I want to call this method from  helper_class
  }
}

, если я удаляю def main(args: Array[String]) из 1-го кода, ошибка его выдачи около args(0), поскольку args(0) не найдено args(0) Я планирую чтобы пройти как spark-submit, может кто-нибудь, пожалуйста, помогите мне, как я должен реализовать это.

1 Ответ

0 голосов
/ 14 апреля 2020

Метод main - это ваша точка входа для запуска программы. Он не может быть заключен в другой метод. Таким образом, вы не можете обернуть его в другой метод.

Я думаю, что вы пытаетесь сделать, это загрузить некоторый установочный код Spark и затем использовать этот «драйвер», чтобы сделать что-то еще ... Это мое лучшее предположение о том, как это может работать , Если я порекомендую вам ресурс, вы можете попробовать потрясающую книгу "Scala для нетерпеливых", которая очень быстро поможет вам начать работу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...