Scala: как получить диапазон строк в кадре данных

у меня естьDataFrame создан бегомsqlContext.read паркетной пилки.

DataFrame состоит из 300 м рядов. Мне нужно использовать эти строки в качестве входных данных для другой функции, но я хочу сделать это небольшими партиями, чтобы предотвратить ошибку OOM.

В настоящее время я используюdf.head(1000000) читать первые 1М строк, но я не могу найти способ прочитать последующие строки. Я старалсяdf.collect(), но это дает мне ошибку Java OOM.

Я хочу перебрать этот фрейм данных. Я попытался добавить еще один столбец с помощью API withColumn (), чтобы сгенерировать уникальный набор значений для итерации, но ни один из существующих столбцов в кадре данных не имеет исключительно уникальных значений.

Например, я пробовал valdf = df1.withColumn("newColumn", df1("col") + 1) так же какval df = df1.withColumn("newColumn",lit(i+=1))оба из которых не возвращают последовательный набор значений.

Любой другой способ получить первые n строк кадра данных, а затем следующие n строк, что-то, что работает как функция диапазонаSqlContext?

Ответы на вопрос(1)

Ваш ответ на вопрос