PostgreSQLのデータ型とAWS Glue Crawlerのデータ型のマッピング

PostgreSQLのテーブルをAWS Glue CrawlerでクロールしData Catalogにどんなデータ型のテーブルができるかを確認しました。

Data Catalogのデータ型にどうマッピングされるかについては、過去にもやっています。S3上のParquetファイルをクロールさせた場合は以下の記事に書きました。

PostgreSQLの日時型であれば以下の記事に書きました。

今回は、PostgreSQLの数値、日時、文字列ののデータ型で試しました。

結果

PostgreSQLのデータ型と、AWS Glue Crawlerでクロールして作成されたData Catalog上のテーブルのデータ型です。

PostgreSQL AWS Data Catalog
boolean boolean
smallint smallint
integer int
bigint bigint
real double
double precision double
decimal decimal
timestamp without timezone timestamp
timestamp with timezone timestamp
date date
time without timezone timestamp
time with timezone timestamp
varchar string
char string
text string

PostgreSQLのtimestampとtimeはいずれもData Catalogではtimestampになりました。

作業ログ

PostgreSQLのテーブル

用意したPostgreSQLのテーブルは次のとおりです。

CREATE TABLE sample1 (
    col_boolean boolean,
    col_int16 smallint,
    col_int32 integer,
    col_int64 bigint,
    col_float32 real,
    col_float64 double precision,
    col_dec decimal(3, 1),
    col_timestamp timestamp,
    col_timestamptz timestamptz,
    col_date date,
    col_time time,
    col_timetz timetz,
    col_interval interval,
    col_varchar varchar(3),
    col_char char(3),
    col_text text
);

INSERT INTO sample1 VALUES (
    true,
    123,
    123456,
    12345678901,
    12.345,
    12.345,
    12.3,
    '2020-11-05T08:07:10',
    '2020-11-05T08:07:10Z',
    '2020-11-05',
    '08:07:10',
    '08:07:10Z',
    INTERVAL '10000' SECOND,
    'abc',
    'abc',
    'abc'
);

Glue Crawlerの結果

AWS Glue Crawlerでクロールさせたところ、Data Catalogには次のようなスキーマのテーブルが作成されました。

f:id:suzuki-navi:20201105212101p:plain