Основы Big Data с PySpark
Upendra Devisetty
Science Analyst, CyVerse


Основные трансформации RDD
map(), filter(), flatMap() и union()map() применяет функцию ко всем элементам RDD
RDD = sc.parallelize([1,2,3,4])
RDD_map = RDD.map(lambda x: x * x)
filter() возвращает новый RDD только с элементами, удовлетворяющими условию
RDD = sc.parallelize([1,2,3,4])
RDD_filter = RDD.filter(lambda x: x > 2)
flatMap() возвращает несколько значений для каждого элемента исходного RDD
RDD = sc.parallelize(["hello world", "how are you"])
RDD_flatmap = RDD.flatMap(lambda x: x.split(" "))

inputRDD = sc.textFile("logs.txt")
errorRDD = inputRDD.filter(lambda x: "error" in x.split())
warningsRDD = inputRDD.filter(lambda x: "warnings" in x.split())
combinedRDD = errorRDD.union(warningsRDD)
Действия возвращают результат вычислений над RDD
Основные действия RDD
collect()
take(N)
first()
count()
collect() возвращает все элементы набора данных в виде массива
take(N) возвращает массив из первых N элементов набора данных
RDD_map.collect()
[1, 4, 9, 16]
RDD_map.take(2)
[1, 4]
first() выводит первый элемент RDDRDD_map.first()
[1]
count() возвращает количество элементов в RDDRDD_flatmap.count()
5
Основы Big Data с PySpark