У меня есть следующий простой Scala класс, который я позже изменю для соответствия некоторым моделям машинного обучения.
Мне нужно создать файл jar из этого, поскольку я собираюсь запустить эти модели в amazon-emr
. Я новичок в этом процессе. Поэтому я сначала проверил, могу ли я успешно импортировать следующий CSV-файл и записать в другой файл, создав файл JAR с использованием класса Scala, упомянутого ниже.
CSV-файл выглядит следующим образом и содержит в качестве одной из переменных столбец Date
.
+-------------------+-------------+-------+---------+-----+
| Date| x1 | y | x2 | x3 |
+-------------------+-------------+-------+---------+-----+
|0010-01-01 00:00:00|0.099636562E8|6405.29| 57.06|21.55|
|0010-03-31 00:00:00|0.016645123E8|5885.41| 53.54|21.89|
|0010-03-30 00:00:00|0.044308936E8|6260.95|57.080002|20.93|
|0010-03-27 00:00:00|0.124928214E8|6698.46|65.540001|23.44|
|0010-03-26 00:00:00|0.570222885E7|6768.49| 61.0|24.65|
|0010-03-25 00:00:00|0.086162414E8|6502.16|63.950001|25.24|
Ссылка на набор данных: https://drive.google.com/open?id=18E6nf4_lK46kl_zwYJ1CIuBOTPMriGgE
Я создал файл jar из этого файла, используя intelliJ IDEA
. И это было успешно сделано.
object jar1 {
def main(args: Array[String]): Unit = {
val sc: SparkSession = SparkSession.builder()
.appName("SparkByExample")
.getOrCreate()
val data = sc.read.format("csv")
.option("header","true")
.option("inferSchema","true")
.load(args(0))
data.write.format("text").save(args(1))
}
}
После этого я загружаю этот файл jar вместе с файлом csv, упомянутым выше в amazon-s3
, и пытался запустить его в кластере amazon-emr
.
Но это не удалось, и я получил следующее сообщение об ошибке:
ERROR Client: Application diagnostics message: User class threw exception: org.apache.spark.sql.AnalysisException: Text data source does not support timestamp data type.;
Я уверен, что эта ошибка связана с переменной Date
в наборе данных. Но я не знаю, как это исправить.
Может кто-нибудь помочь мне разобраться?
Обновлено:
Я пытался открыть тот же CSV-файл, который упоминал ранее, без даты колонна В этом случае я получаю эту ошибку:
ERROR Client: Application diagnostics message: User class threw exception: org.apache.spark.sql.AnalysisException: Text data source does not support double data type.;
Спасибо