PySpark-亚马逊评论情绪分析-RDD问题

时间:2019-01-30 06:06:30

标签: python apache-spark lambda pyspark rdd

这是亚马逊评论的大文本数据文件,我需要使用PySpark在RDD中进行清理和总结。数据如下:

['__ label__2很棒的CD:我的伟大...当我在...“时,

'__ label__1 Abcd:是......

# 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(lambda x:amazon_data(x)),因为RDD没有进行迭代。所以现在 Out [101]:PythonRDD上的PythonRDD [88],位于PythonRDD.scala:55

但是在def amazon_data()之后,我无法打印DFrame。 FileNotFoundError:文件b'Sentiment.csv'不存在

0 个答案:

没有答案