【问题标题】:How can I read PostgreSQL Table partitions with AWS Glue Crawler?如何使用 AWS Glue Crawler 读取 PostgreSQL 表分区?
【发布时间】:2020-05-27 20:12:18
【问题描述】:

在 Postgresql 11 中创建分区时,我的爬虫无法正确读取 RDS 分区表。

分区DDL的例子是

表:

CREATE TABLE book (
    ID int8 NULL,
    effectivetodate date NULL,
) PARTITION BY RANGE(effectivetodate);

分区:

CREATE TABLE book_historical PARTITION OF portfolio for VALUES FROM ('1000-12-31') TO ('2019-12-31');
CREATE TABLE book_current PARTITION OF portfolio DEFAULT;

观察结果是两张表:

  • book_historical
  • book_current

由爬虫创建,但主表

不存在。

【问题讨论】:

  • 欢迎来到 Stackoverflow。请为您的问题使用正确的格式,以便其他人能够理解并回答它。我建议你阅读询问guidelines of Stackoverflow
  • @Abhishek 看起来更好吗?
  • 是的!很快就会有人回答你的问题...

标签: sql postgresql amazon-web-services pyspark aws-glue


【解决方案1】:

不使用范围,只需传递列名进行分区,爬虫将根据您的列动态分区

CREATE TABLE book (
    ID int8 NULL,
    effectivetodate date NULL,
) PARTITION BY effectivetodate;

【讨论】:

  • 感谢您的回答,舒巴姆。我在 Postgresql 11.6 中工作,直接按字段分区不起作用。我们可以按列表、范围等进行分区。
  • 我以为你在说 Glue 爬虫
  • 是的,我说的是爬虫,但是我们需要在PostgreSQL中创建一个分区,然后爬虫才能爬取分区。所以在我的代码中,我使用日期范围对表进行分区。爬虫无法爬取主表,但能够将分区表作为独立表读取。
  • 有一个数据分组识别分区的选项,你选择了吗?
猜你喜欢
  • 2018-06-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-06
相关资源
最近更新 更多