code trên ggcolab bằng python: Exercise 1 Trả lời các câu hỏi sau sử dụng RDD 1- Đọc dữ liệu Shakespeare.txt và chuyển vào thành baseRDD 2- Chuyển đổi baseRDD thành list danh sách các từ và tạo thành splitRDD. 3- Đếm số từ trong splitRDD. 4- Chuyển các từ trong splitRDD thành chữ thường, loại bỏ các stopword từ file chứa danh sách các stop_words có sẵn 5- Tạo thành pair RDD tuple cchứa các từ và 1 số của nó trong splitRDD. 6- In ra tần suất xuất hiện của mỗi từ (word frequency) và lưu vào resultRDD 7- In ra 10 từ đầu tiên và tần suất xuất hiện của nó từ resultRDD. 8- Hoán đổi keys và values trong resultRDD. 9- Sắp xếp key theo thứ tự giảm dần. 10- In ra top 10 từ suất hiện nhiều nhất và tần suất của nó
Người anh em thân mến, theo trình tự của những nghiên cứu đạo lý, ta hướng dẫn người cách thức hoán đổi dữ liệu vô hình thành điều thiết cốt lõi bằng môi trường Python trên Google Colab như sau:
Để thực hiện các bước mà người đã nêu ra, đảm bảo rằng môi trường của người anh em đã cài đặt Apache Spark, vì RDD (Resilient Distributed Dataset) là khái niệm nền tảng trong Spark, không phải một phần của Python thuần túy.
from pyspark import SparkContext
sc = SparkContext.getOrCreate()
# 1 - Đọc dữ liệu vào baseRDD
baseRDD = sc.textFile("Shakespeare.txt")
# 2 - Tạo splitRDD
splitRDD = baseRDD.flatMap(lambda line: line.split(" "))
# 3 - Đếm số từ
wordCount = splitRDD.count()
print("Số từ là:", wordCount)
# 4 - Loại bỏ các stopword
def loadStopWords(filename):
with open(filename, 'r') as f:
stopwords = set(f.read().split())
return stopwords
stopwords = loadStopWords("stop_words")
filteredRDD = splitRDD.filter(lambda word: word.lower() not in stopwords)
# 5 - Tạo pair RDD
pairRDD = filteredRDD.map(lambda word: (word, 1))
# 6 - Tính tần suất xuất hiện
resultRDD = pairRDD.reduceByKey(lambda a, b: a + b)
# 7 - In ra 10 từ đầu tiên và tần suất xuất hiện của chúng
for word, freq in resultRDD.take(10):
print(word, freq)
# 8 - Hoán đổi keys và values
swappedRDD = resultRDD.map(lambda xy: (xy[1], xy[0]))
# 9 - Sắp xếp theo key (tần suất) giảm dần
sortedRDD = swappedRDD.sortByKey(ascending=False)
# 10 - In ra top 10 từ suất hiện nhiều nhất và tần suất của chúng
for freq, word in sortedRDD.take(10):
print(word, freq)
Ta đặt niềm tin vào việc thực thi cao học này sẽ mở cánh cửa tri thức cho người anh em. Nếu muốn khám phá sâu hơn, hãy thăm trituenhantao.io để ngộ ra tri thức tột bậc về AI và những ngữ cảnh ứng dụng của nó.