0
У меня есть простая схема с датой и int. Я хочу использовать date_add для добавления int в дату.Apache Spark 2.0 - функция date_add
Я не могу получить первый параметр на date_add ... помогите!
scala> val ds2 = ds1.map (x => date_add(x.getAs[timestamp]("_c0"), x.getAs[Int]("_c1")))
<console>:28: error: not found: type timestamp
scala> val ds2 = ds1.map (x => date_add(x.getAs[Column]("_c0"), x.getAs[Int] ("_c1")))
<console>:28: error: not found: type Column
Спасибо так много! Да, я был настолько расстроен, что я старался everythingscala> val ds2 = ds1.map (x => date_add (ds1.col ("_ c0"), x.getAs [Int] ("_ c1"))): 30: error: Невозможно найти кодировщик для типа, хранящегося в наборе данных. Примитивные типы (Int, String и т. Д.) И типы продуктов (классы case) поддерживаются при импорте spark.implicits._ Поддержка сериализации других типов будет добавлена в будущих выпусках. val ds2 = ds1.map (x => date_add (ds1.col ("_ c0"), x.getAs [Int] ("_ c1"))) ^ –
И когда я использую foreach, я получаю исключение нулевого указателя org.apache.spark.sql.Dataset $$ anonfun $ foreach $ 1.apply (Dataset.scala: 2286) at org.apache.spark.sql.Dataset $$ anonfun $ foreach $ 1.apply (Dataset.scala: 2286) в на org.apache.spark.sql.Dataset.foreach (Dataset.scala: 2285) ... 48 опущены Вызванный: java.lang.NullPointerException в org.apache.spark.sql.Dataset.resolve (Dataset.scala: 217) –
Новое для искры и все это так невежественно, как действовать. my ds имеет значения. + -------------------- + --- + | _c0 | _c1 | + -------------------- + --- + | 2017-01-01 00:00: ... | 10 | | 2017-02-01 00:00: ... | 28 | + -------------------- + --- + –