from pyspark.sql import SparkSession
from pyspark.sql.types import *
from pyspark.sql import functions as F
from pyspark.sql import DataFrame
from functools import reduce
def solve(spark):
sales = (
('John', 'Notebook', 3),
('Peter', 'Mobile phone', 12),
('Sam', 'Camera', 3),
('David', 'Mobile phone', 9),
('Elliot', 'Notebook', 3),
('Elliot', 'Notebook', 3),
('John', 'Mobile phone', 13),
('Peter', 'Mobile phone', 2)
)
data_schema = [StructField('emp_name', StringType(), False), StructField('product',StringType(),False), StructField('qty', IntegerType(), False)]
final_struc = StructType(fields=data_schema)
rdd = spark.sparkContext.parallelize(sales);
df_sales = spark.createDataFrame(rdd, final_struc)
df_sales.distinct()\
.show()
if __name__ == '__main__':
spark = SparkSession.builder.appName("Spark problem solving")\
.master("local[*]")\
.getOrCreate()
solve(spark)