функция lit () должна быть параметризована в spark scala

#apache-spark

#apache-spark

Вопрос:

Я использую lit() функцию в filter преобразовании в моем коде spark, как показано ниже

 filter(to_date(df1("process_date"))>=lit("2019-03-21"))
 

Это хорошо работает, когда параметр to lit() жестко запрограммирован, как показано выше.

Я хочу параметризовать значение, которое я передал lit() функции. Кто-нибудь может рассказать, как этого можно достичь и как spark-submit для этого нужно передать параметр, пожалуйста.

Комментарии:

1. зачем нужен lit? значение df2 = df.filter($»b» === «foo») работает нормально

2. @thebluephantom .. хорошая мысль, я забыл об этом .. 🙂

Ответ №1:

Команда отправки Spark

 spark-submit --class SparkExample spark_example.jar "2019-03-21"
 

Внутренний код

 object SparkExample {
 def main(args: Array[String]): Unit = {
     val date = args(0)
     val df = [...] // your code to create dataframe.
     df.filter(to_date(df1("process_date"))>=lit(date))
 }
}
 

Комментарии:

1. спасибо, Шринивас, вышеупомянутый cde сработал, большое спасибо

2. Пожалуйста, примите решение, если это поможет .. 🙂