Я пытаюсь найти источник ошибки в Spark 2.0.0, у меня есть карта, которая содержит имена таблиц в качестве ключей и фрейм данных в качестве значения, я просматриваю ее и в конце использую spark-avro (3.0.0 -preview2) для записи всего в каталоги S3. Он отлично работает локально (конечно, с локальным путем вместо пути s3), но когда я запускаю его на Amazon EMR, он работает некоторое время, а затем сообщает, что папка уже существует, и закрывается (что означало бы, что такое же значение ключа используется в этом цикле for более одного раза, верно?). Возможно, это проблема с потоковой передачей?
for ((k, v) <- tableMap) {
val currTable: DataFrame = tableMap(k)
val decryptedCurrTable = currTable.withColumn("data", decryptUDF(currTable("data")))
val decryptedCurrTableData = sparkSession.sqlContext.read.json(decryptedCurrTable.select("data").rdd.map(row => row.toString()))
decryptedCurrTable.write.avro(s"s3://..../$k/table")
decryptedCurrTableData.write.avro(s"s3://..../$k/tableData")