gpt4 book ai didi

apache-spark - 与 pyspark 不同,spark-submit 会抛出错误

转载 作者:行者123 更新时间:2023-12-04 05:05:54 25 4
gpt4 key购买 nike

我一直在使用 Ipython 笔记本测试脚本并将 pyspark 传递给它。我想要完成的一切都进展顺利。

我还使用 pyspark 在没有笔记本的情况下从命令行运行了它并且有效。

使用版本1.3.1

使用spark-submit将其作为作业提交时

spark-submit --master local[*] myscript.py

我收到以下错误:

x_map = rdd.map(lambda s: (s[1][1],s[1][3])).distinct().toDF().toPandas()

AttributeError: 'PipelinedRDD' object has no attribute 'toDF'

我的脚本的开头如下所示:

from pyspark import SparkContext
sc = SparkContext(appName="Whatever")

from pyspark.sql.types import *
from pyspark.sql import Row
import statsmodels.api as sm
import pandas as pd
import numpy as np
import sys
[..] other python modules

rdd = sc.textFile(input_file)
rdd = rdd.map(lambda line: (line.split(",")[1],[x for x in line.split(",")])).sortByKey()

x_map = rdd.map(lambda s: (s[1][1],s[1][3])).distinct().toDF().toPandas()

最佳答案

正如您可以在此链接中阅读的那样:http://spark.apache.org/docs/1.3.1/api/python/pyspark.sql.html

When created, SQLContext adds a method called toDF to RDD, which could be used to convert an RDD into a DataFrame, it’s a shorthand for SQLContext.createDataFrame()

因此,为了在 RDD 中使用 toDF 方法,您需要创建一个 sqlContext 并使用 SparkContext 对其进行初始化:

from pyspark.sql import SQLContext
...
sqlContext = SQLContext(sc)

关于apache-spark - 与 pyspark 不同,spark-submit 会抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32372592/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com