#scala #select #apache-spark #dataframe
#scala #выберите #apache-spark #фрейм данных
Вопрос:
Я пытаюсь выбрать несколько столбцов из фрейма данных для вставки в таблицу, используя следующие методы,
var result = cassandraDf.select(columnNames.map(c => col(c)): _*)
и
var result = cassandraDf.select(columnNames.head, columnNames.tail: _*)
Оба метода вызывают у меня java.lang.Исключение ArrayIndexOutOfBoundsException: 25, у меня 26 столбцов в фрейме данных
Есть ли какие-либо ограничения при выборе столбцов в фрейме данных?
Спасибо, Эш
Комментарии:
1. Я использую этот синтаксис все время без проблем. Какую версию spark вы используете? Что находится внутри
columnNames
? ЧтоcassandraDF.show()
возвращает?2. cassandraDF.show работает хорошо, но результата нет. Я использую версию spark 1.6. У меня огромный DF, объединяющий несколько таблиц, и мне нужно выбрать несколько столбцов, которые имеют имена столбцов.
3. Имена столбцов имеют 26 столбцов в последовательности, которые я передаю в DF. Но ошибка java.lang. Исключение ArrayIndexOutOfBoundsException: 25
4. приведите некоторый пример. С предоставленной вами информацией ваша ошибка не воспроизводима. Чтобы ответить на ваш вопрос: нет ограничений (с которыми я столкнулся) при выборе столбцов в dataframe (я только что провел тест в своей оболочке spark 1.6.2 с 4000 столбцами, чтобы быть уверенным)
5. Спасибо, просто хотел подтвердить, есть ли какие-либо ограничения. Если ограничений нет, то это должно быть что-то не так с логикой. Я закрою это.