繁体   English   中英

praw - 将评论放入 spark df 的可扩展方式

[英]praw - scalable way to put comments into spark df

我正在使用 praw 与 reddit API 合作。 我过滤了 subreddit 的所有评论,现在想将数据放入 spark 数据框中。

一种方法(我尝试过)是将 append 的所有内容放到一个列表中,然后将其放入一个 df 中。 但这不可扩展。 我也不想将其下载/保存在额外的文件中。 我现在想知道是否有一种可扩展的方式将评论放入 df 中?

提前谢谢你的帮助!

到目前为止,这是我的代码(但已实现列表):

subreddit = reddit.subreddit('Refugees').new(limit = None)

comments = []
for submission in subreddit:
    #replace_more to solve error
    submission.comments.replace_more(limit = 0)
    for comment in submission.comments:
            #get comments
            comments.append(comment.body)
            if len(comment.replies) > 0:
                #dig deeper and get replies
                for reply in comment.replies:
                    comments.append(reply.body)
from pyspark.sql import SparkSession
from pyspark.sql.types import ArrayType
from pyspark.sql.types import StructField
from pyspark.sql.types import StructType
from pyspark.sql.types import StringType
from pyspark.sql.types import IntegerType
from pyspark.sql.functions import col,isnan, when, count
from pyspark.sql.functions import initcap
from pyspark.sql.functions import countDistinct


import findspark

findspark.init("/usr/local/spark/")

spark = SparkSession.builder \
   .master("local[*]") \
   .appName("project") \
   .config("spark.executor.memory", "1gb") \
   .getOrCreate()
schema = StructType([
    StructField('Comments', StringType(), True),
])
df = spark.createDataFrame([(c,) for c in comments], schema = schema)
print(df.schema)
df.show(70)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM