Чтобы вернуть первые две строки RDD (устойчивый распределенный набор данных) в PySpark, вы можете использовать несколько методов. Вот несколько примеров с кодом:
-
Использование метода
take
:rdd = sc.parallelize([1, 2, 3, 4, 5]) # Create an RDD first_two_rows = rdd.take(2) print(first_two_rows)
Выход:
[1, 2]
-
Использование метода
top
:rdd = sc.parallelize([1, 2, 3, 4, 5]) # Create an RDD first_two_rows = rdd.top(2) print(first_two_rows)
Выход:
[5, 4]
Метод
возвращает N верхних элементов из RDD на основе их естественного порядка. В этом случае, поскольку СДР содержит целые числа и естественный порядок является возрастающим, результатом будет [5, 4].
-
Использование метода
collect
со срезами:rdd = sc.parallelize([1, 2, 3, 4, 5]) # Create an RDD all_rows = rdd.collect() first_two_rows = all_rows[:2] print(first_two_rows)
Выход:
[1, 2]
-
Использование метода
takeOrdered
:rdd = sc.parallelize([1, 2, 3, 4, 5]) # Create an RDD first_two_rows = rdd.takeOrdered(2) print(first_two_rows)
Выход:
[1, 2]
Метод
возвращает первые N элементов из RDD на основе их естественного порядка. В этом случае, поскольку СДР содержит целые числа и естественный порядок является возрастающим, результатом будет [1, 2].
-
Использование метода
zipWithIndex
:rdd = sc.parallelize([1, 2, 3, 4, 5]) # Create an RDD indexed_rdd = rdd.zipWithIndex() first_two_rows = indexed_rdd.filter(lambda x: x[1] < 2).keys() print(first_two_rows.collect())
Выход:
[1, 2]
Метод
связывает каждый элемент RDD с его индексом. Затем мы можем отфильтровать RDD на основе индекса, чтобы получить первые N элементов.