Amazon Redshift で空間データを使用する際の考慮事項
Amazon Redshift で空間データを使用する際の考慮事項は以下のとおりです。
GEOMETRY
あるいはGEOGRAPHY
オブジェクトの最大サイズは、1,048,447 バイトです。Amazon Redshift Spectrum では、空間データをネイティブにサポートしていません。したがって、
GEOMETRY
もしくはGEOGRAPHY
の列がある外部テーブルを作成または修正することはできません。Python のユーザー定義関数 (UDF) のデータでは、
GEOMETRY
とGEOGRAPHY
のデータ型はサポートされません。Amazon Redshift テーブルでは、
GEOMETRY
やGEOGRAPHY
列をソートキーとして、あるいは分散キーとして使用することはできません。SQL ORDER BY、GROUP BY、または DISTINCT 句の中で、
GEOMETRY
やGEOGRAPHY
列を使用することはできません。GEOMETRY
とGEOGRAPHY
列が使用できない SQL 関数は多数あります。GEOMETRY
およびGEOGRAPHY
列に関しては、すべての形式で UNLOAD オペレーションを実行できる訳ではありません。テキストまたはコンマ区切り値 (CSV) ファイルに対しては、GEOMETRY
あるいはGEOGRAPHY
の列を UNLOAD することが可能です。この処理により、GEOMETRY
あるいはGEOGRAPHY
のデータは 16 進数の EWKB 形式で書き込まれます。EWKB データのサイズが 4 MB 以上の場合、後でテーブルにデータをロードできなくなるため、警告が表示されます。GEOMETRY
とGEOGRAPHY
のデータでサポートされている圧縮エンコードは RAW です。JDBC または ODBC ドライバを使用する際は、カスタム型マッピングを使います。この場合、クライアントアプリケーションには、
ResultSet
オブジェクトのどのパラメータが、GEOMETRY
もしくはGEOGRAPHY
のオブジェクトであるかに関する情報が必要です。ResultSetMetadata
のオペレーションにより、タイプVARCHAR
が返されます。SHAPEFILE
から地理的データをコピーするには、まずGEOMETRY
列の中にデータを取り込んだ後、対象のオブジェクトをGEOGRAPHY
オブジェクトにキャストします。
以下に示す非空間関数では、GEOMETRY
と GEOGRAPHY
型の入力または GEOMETRY
と GEOGRAPHY
型の列に対応することができます。
集計関数 COUNT
条件式 COALESCE および NVL
CASE 式
GEOMETRY
およびGEOGRAPHY
でのデフォルトのエンコーディングは RAW です。詳細については、「圧縮エンコード」を参照してください。