2017-02-11 2 views
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 

ответ

1

date_add не является вашей насущной проблемой ... not found: type {timestamp, Column}

Я не знаю, как вы ожидаете x.getAs[timestamp] работать, если честно, но с другой стороны, вам нужно импортировать.

import org.apache.spark.sql.Column 
import org.apache.spark.sql.functions.date_add 

Теперь попробуйте

val ds2 = ds1.map { x => 
    date_add(ds1("_c0"), x.getAs[Int] ("_c1")) 
} 

(хотя, вы в идеале не должны использовать Dataset.map)

+0

Спасибо так много! Да, я был настолько расстроен, что я старался 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"))) ^ –

+0

И когда я использую 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) –

+0

Новое для искры и все это так невежественно, как действовать. my ds имеет значения. + -------------------- + --- + | _c0 | _c1 | + -------------------- + --- + | 2017-01-01 00:00: ... | 10 | | 2017-02-01 00:00: ... | 28 | + -------------------- + --- + –

Смежные вопросы