【问题标题】:How do I use unionAll in spark [duplicate]如何在火花中使用 unionAll [重复]
【发布时间】:2021-10-23 15:21:25
【问题描述】:
from pyspark.sql import *
from IPython.core.display import display, HTML
from pyspark.sql.functions import first
from functools import reduce



display(HTML("<style>.container { width:100% !important; }</style>"))

spark = SparkSession \
    .builder \
    .appName("Python Spark SQL basic example") \
    .config("spark.some.config.option") \
    .getOrCreate()


for i in range(2,10):
    globals()['folders{}'.format(i)] = ["./result/20200"+str(i)+"/data1/*.csv"]
    print(globals()['folders{}'.format(i)])
    globals()['df{}'.format(i)]=spark.read.option("header", "false").csv(globals()['folders{}'.format(i)])
    globals()['df{}'.format(i)].createOrReplaceTempView("iris")
    globals()['concat{}'.format(i)]=globals()['df{}'.format(i)].groupBy().pivot("_c0").agg(first('_c7'))
    globals()['concat{}'.format(i)].show()
    

uni2_9=unionAll(concat2, concat3, concat4,concat5,concat6,concat7,concat8,concat9)
uni2_9.show()

我想将数据帧按顺序组合到一个表中。

我之前用过这个。 但现在我在这一行出错了 ---> 30 uni2_9=unionAll([concat2, concat3, concat4,concat5,concat6,concat7,concat8,concat9]) NameError: name 'unionAll' 未定义

如何正确使用spark unionall?

【问题讨论】:

  • 我是这样解决的,但现在不行了
  • 问题中的当前代码没有定义unionAll 函数,因此您得到的是NameError: name 'unionAll' is not defined。可以试试添加功能吗?

标签: python pyspark


【解决方案1】:

错误很明显:

NameError: name 'unionAll' 未定义

这意味着你正在尝试使用一个你没有定义或导入的函数。

看看文档就知道如何使用它了:https://spark.apache.org/docs/2.4.7/api/python/pyspark.sql.html#pyspark.sql.DataFrame.unionAll

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-26
    • 2019-04-30
    • 1970-01-01
    • 2018-08-09
    • 1970-01-01
    • 2020-05-24
    • 2020-04-25
    • 1970-01-01
    相关资源
    最近更新 更多