5 методов получения первых двух строк RDD в PySpark

Чтобы вернуть первые две строки RDD (устойчивый распределенный набор данных) в PySpark, вы можете использовать несколько методов. Вот несколько примеров с кодом:

  1. Использование метода take:

    rdd = sc.parallelize([1, 2, 3, 4, 5])  # Create an RDD
    first_two_rows = rdd.take(2)
    print(first_two_rows)

    Выход:

    [1, 2]
  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].

  3. Использование метода 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]
  4. Использование метода 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].

  5. Использование метода 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 элементов.