#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. Пожалуйста, примите решение, если это поможет .. 🙂