🏢

法人番号システム Web-API で取得できるデータを Amazon RedShift に格納する

はじめに

全国の法人データを分析してみたいと思ったことはありませんか。私はあります。
そんなみなさんのために、Redshiftに取り込む際にDDLを共有します。

法人番号システム Web-API とは

国税庁が提供する、法人番号に関する情報をプログラムから取得するためのインターフェースです。このAPIを利用することで、法人名、所在地、法人番号などの法人基本情報を、システムやアプリケーションに組み込んで自動的に取得・活用することが可能になります。

Amazon Redshift 用 DDL

法人番号システム Web-APIで取得できるデータ構造は、Excelで公開されています。このデータ構造をそのままAmazon Redshiftに投入したくなって寝れない人のためのDDLがこちらです。

corporations.sql
CREATE TABLE public.corporations (
    corporate_number           bigint NOT NULL ENCODE az64,
    process                    smallint ENCODE az64,
    correct                    smallint ENCODE az64,
    update_date                date ENCODE az64,
    change_date                date ENCODE az64,
    name                       character varying(600) ENCODE lzo,
    name_image_id              integer ENCODE az64,
    kind                       smallint ENCODE az64,
    prefecture_name            character varying(40) ENCODE lzo,
    city_name                  character varying(80) ENCODE lzo,
    street_number              character varying(1200) ENCODE lzo,
    address_image_id           integer ENCODE az64,
    prefecture_code            smallint ENCODE az64,
    city_code                  smallint ENCODE az64,
    post_code                  integer ENCODE az64,
    address_outside            character varying(1200) ENCODE lzo,
    address_outside_image_id   integer ENCODE az64,
    close_date                 date ENCODE az64,
    close_cause                smallint ENCODE az64,
    successor_corporate_number bigint ENCODE az64,
    change_cause               character varying(2000) ENCODE lzo,
    assignment_date            date ENCODE az64,
    latest                     integer ENCODE az64,
    en_name                    character varying(1200) ENCODE lzo,
    en_prefecture_name         character varying(36) ENCODE lzo,
    en_city_name               character varying(1200) ENCODE lzo,
    en_address_outside         character varying(2400) ENCODE lzo,
    furigana                   character varying(2000) ENCODE lzo,
    hihyoji                    integer ENCODE az64,
    PRIMARY KEY (corporate_number)
)
DISTSTYLE AUTO
SORTKEY (corporate_number);

Discussion