Это большой текстовый файл данных обзоров Amazon, который мне нужно очистить и обобщить в RDD с использованием PySpark.Данные выглядят следующим образом:
['__ label__2 Great CD: My GREAT ... Когда я нахожусь в ... "',
'__ label__1 Abcd: It ......
# loading to train and test RDDs
train = sc.textFile("/FileStore/tables/train_ft-bfd00.txt", 2)
test = sc.textFile("/FileStore/tables/test_ft-41af5.txt", 2)
# https://www.kaggle.com/abantikabasak/ml-assignment-4
def amazon_data(listt):
Lst=[]
for line in listt:
#print(line)
#print(type(line))
line=str(line)
txtline=line.split('__label__')[1] #Choose the Right hand side of __label__
#print("Textline"+str(txtline))
txtline=re.sub('[!?:;,.|''""]','',txtline) #Substitute these characters with ''
#print("Textline"+str(txtline))
temp=txtline.split(' ') #Split at spaces
#print("Temp"+str(temp))
sentiment="good" if(temp[0]=="2") else "bad"
sentence=temp[1:len(temp)]
#print("Sentence:\n"+str(sentence))
sentence[len(sentence)-1]=sentence[len(sentence)-1][0:len(sentence[len(sentence)-1])-3]
#print("Sentence:\n"+str(sentence))
sentence=' '.join(sentence)
#print("Sentence:\n"+str(sentence))
Lst.append([sentiment,sentence])
DFrame=pd.DataFrame(Lst,columns=("Sentiment_class_label","Review_Text"))
DFrame.to_csv("Sentiment.csv")
#DFrame.toPandas().to_csv("Sentiment.csv")
#DFrame.write.csv('mycsv.csv')
df.map(lambda x: amazon_data(x))
import pandas as pd
InputFile="Sentiment.csv"
DFrame=pd.read_csv(InputFile,index_col=0)
print(DFrame.head(10))
Мне пришлось изменить amazon_data (df) на df.map (лямбда x: amazon_data (x)), потому что RDD не повторялся. Итак, Out [101]: PythonRDD [88] в RDD в PythonRDD.scala: 55
Но после этого определения amazon_data (): работает, я не могу напечатать DFrame. FileNotFoundError: Файл b'Sentiment.csv 'не существует