pyspark agg 告诉我列名称中有错误的字符,但名称似乎正确

塔戈尔

我使用 spark 2.3.2,我想聚合 2 列,但.agg()函数告诉我列名有问题,但我没有看到。

一些带有实际列名的伪代码:

df = spark.read.parquet('./my_files')

[... doing some stuff with the data everything works fine ...]

df2 = df.groupBy(AD_ID).agg({'pagerank':'sum','pagerankRAW':'sum'})

当我这样做时,火花会抛出异常:AnalysisException: 'Attribute name "sum(pagerankRAW)" contains invalid character(s) among " ,;{}()\\n\\t=". Please use alias to rename it.;'但我没有看到无效字符......我的列名中只有字母。当我'pagerankRAW':'sum'从中删除时,dict我得到了同样的错误,但这次是sum(pagerank)

那我做错了什么?

约瑟林 G。

看起来很奇怪,pyspark应该能够处理括号

我在使用时使用了不同的语法agg()

我会使用.agg(sum("pagerank"), sum("pagerankRAW")),但没有收到此错误

我不认为你可以使用alias()你的语法,因为我不知道把它放在哪里

带别名 .agg(sum("pagerank").alias("pagerank"), sum("pagerankRAW").alias("pagerankRAW))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章