Управление наборами в PySpark: объединение, пересечение, вычитание и декартово произведение

Чтобы добавить наборы в PySpark, вы можете использовать несколько методов. Вот несколько примеров:

  1. Union: метод объединения объединяет два набора в один, удаляя любые повторяющиеся элементы. Например:

    set1 = spark.createDataFrame([(1,), (2,), (3,)], ['value'])
    set2 = spark.createDataFrame([(3,), (4,), (5,)], ['value'])
    union_set = set1.union(set2)
  2. Пересечение: метод пересечения возвращает новый набор, содержащий только элементы, присутствующие в обоих входных наборах. Например:

    set1 = spark.createDataFrame([(1,), (2,), (3,)], ['value'])
    set2 = spark.createDataFrame([(3,), (4,), (5,)], ['value'])
    intersection_set = set1.intersection(set2)
  3. Subtract: метод subtract возвращает новый набор с элементами из первого набора, которых нет во втором наборе. Например:

    set1 = spark.createDataFrame([(1,), (2,), (3,)], ['value'])
    set2 = spark.createDataFrame([(3,), (4,), (5,)], ['value'])
    subtract_set = set1.subtract(set2)
  4. Декартово произведение: метод crossJoin возвращает новый набор, содержащий все возможные комбинации элементов из двух входных наборов. Например:

    set1 = spark.createDataFrame([(1,), (2,)], ['value1'])
    set2 = spark.createDataFrame([(3,), (4,), (5,)], ['value2'])
    cartesian_product = set1.crossJoin(set2)