Я пытаюсь создать таблицу искры SQL, создав RDD в программе Scala с числом столбцов 200+. Компиляция (SBT компиляции) не с исключением java.lang.StackOverflowError, когда я создаю мой схемы, как:Spark SQL table max column count
StructField("RT", StringType,nullable = true) ::
StructField("SERIALNO", StringType,nullable = true) ::
StructField("SPORDER", StringType,nullable = true) ::
// ... remaining 200+ columns
Не удается вставить StackTrace как это больше, чем 1.5K линии
При уменьшении количество столбцов до 100-120 компиляция завершается успешно. Кроме того, когда я создаю схему с использованием строки схемы (расщепляя строку схемы и затем создавая ее карту), компиляция завершается успешно (первый пример под заголовком «с программным указанием схемы» в https://spark.apache.org/docs/1.3.0/sql-programming-guide.html).
Что, по-видимому, связано с ручной установкой схемы, которая приводит к исключению?
Создать суть над стеком ошибок и добавить его на вопрос, пожалуйста! Ваш вопрос не спасен, как сейчас, и довольно широко, так что он будет проголосован за закрытие. – eliasah
Я предполагаю, что автоматическое обнаружение схемы использует рекурсию, и это 'tailrec'. Я бы опубликовал вопрос о Spark JIRA. – Reactormonk
@Reactormonk Не нужно сообщать об этом. Это вопрос «Scala», а не проблема Spark. Смотри ниже. – DemetriKots