从 Pyspark 对表格中的日期进行排序时出错

Posted

技术标签:

【中文标题】从 Pyspark 对表格中的日期进行排序时出错【英文标题】:Getting an error while sorting the date in a table from Pyspark 【发布时间】:2021-09-15 07:05:47 【问题描述】:

调用 o84.collectToPython 时出错。 org.apache.parquet.column.values.dictionary.PlainValuesDictionary$PlainIntegerDictionary

raw_customers = glueContext.create_dynamic_frame.from_catalog(database = "postgresql_processed", table_name = "prodplfm_plf_customers").toDF()
latest_partition=raw_customers.select("process_date").orderBy(desc("process_date")).limit(1).collect()[0][0]
customers=raw_customers.filter("process_date='"+latest_partition+"'")
customers.createOrReplaceTempView("customers")

【问题讨论】:

请分享您尝试排序的数据。 主表位于 s3 文件夹中,如 s3://profectus-rawdata/PostgreSQL/prodplfm_plf_customers/ 在其中我们有多个包含日期的文件夹,如.. process_date=2019-09-01/ |进程日期=2019-03-02/ |进程日期=2019-03-03/ 。在每个这些文件夹中,我们都有一个镶木地板文件。但是那个 parquet 文件不包含 process_date 列。 以上代码是别人写的…… @Lucasz 我能表达我的观点吗? 我不确定如何进一步帮助您。请尝试将所有相关信息放在您的帖子中。 【参考方案1】:

我的一个分区中存在架构不匹配。我删除了那个分区->删除了胶水数据库->再次运行爬虫,它工作了。

【讨论】:

以上是关于从 Pyspark 对表格中的日期进行排序时出错的主要内容,如果未能解决你的问题,请参考以下文章

如何对mySQL数据库中某些特定字段进行排序?

如何按日期对我的表格视图中的数组进行排序

如何按创建日期对文件管理器数组进行排序

按日期将pyspark数据集分成两个[重复]

当 Swift 中表格中的特定内容发生更改时更改表格的标题

怎样在EXCEL中给年龄进行排序?