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には次のようなスキーマのテーブルが作成されました。