PySpark - Амазонский анализ настроений - проблема RDD - PullRequest
0 голосов
/ 30 января 2019

Это большой текстовый файл данных обзоров 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 'не существует

...