Amazon Athena でサポートされているデータ型 - Amazon Athena

Amazon Athena でサポートされているデータ型

CREATE TABLE を実行するときは、列名と各列に含めることができるデータ型を指定します。Athena は、以下に示すデータ型をサポートしています。JDBC ドライバーがサポートする、Athena、JDBC、Java 間のデータ型マッピングについては、JDBC ドライバーのインストールおよび設定ガイドの「データ型」を参照してくださいい。ODBC ドライバーがサポートする、Athena と SQL 間のデータ型マッピングについては、ODBC ドライバーのインストールおよび設定ガイドの「データ型」を参照してください。

  • BOOLEAN – 値は true および false です。

  • TINYINT – 2 の補数形式の 8 ビット符号付き INTEGER。最小値は -27、最大値は 27-1 です。

  • SMALLINT – 2 の補数形式の 16 ビット符号付き INTEGER。最小値は -215、最大値は 215-1 です。

  • INT および INTEGER – Athena は、2 種類の異なる整数データ型の実装です。

    • INT – Athena では、データ定義言語 (DDL) クエリで、INT データ型を使用します。

    • INTEGER – 他のすべてのクエリでは、Athena は INTEGER データ型を使用します。ここで INTEGER は 2 の補数形式の 32 ビット符号付き値で表されます。最小値は -231、最大値は 231-1 です。

      • ビジネス分析アプリケーションとの互換性を保証するため、JDBC ドライバーは INTEGER 型を返します。

  • BIGINT – 2 の補数形式の 64 ビット符号付き INTEGER。最小値は -263、最大値は 263-1 です。

  • DOUBLE – 64 ビットの倍精度浮動小数点数。

  • FLOAT – 32 ビットの単精度浮動小数点数。Presto の REAL に相当。

  • DECIMAL(precision, scale)precision は桁の合計数であり、scale (オプション) は小数点以下の桁数です。デフォルトは 0 です。たとえば、次のタイプ定義を使用します。DECIMAL(11,5)DECIMAL(15)

    たとえばクエリ DDL 式で特定の小数値を含む行を選択する場合など、小数値をリテラルとして指定するには、DECIMAL 型の定義を指定し、クエリ内で小数値をリテラル (一重引用符) としてリストします。例としては decimal_value = DECIMAL '0.12' のようになります。

  • CHAR– 固定長の文字データ。1〜255 の長さを指定できます (例: char(10))。詳細については、「CHAR Hive データ型」を参照してください。

    注記

    substr 関数を使用して、CHAR データ型から指定された長さの部分文字列を返すには、次の例のように、まず CHAR 値を VARCHAR としてキャストする必要があります。

    substr(cast(col1 as varchar), 1, 4)
  • VARCHAR – 可変長の文字データ。1〜65535 の長さを指定できます (例: varchar(10))。詳細については、「VARCHAR Hive データ型」を参照してください。

  • STRING – 一重引用符または二重引用符で囲まれた文字列リテラル。詳細については、「STRING Hive データ型」を参照してください。

    注記

    文字列以外のデータ型は、Athena で STRING にキャストすることができません。代わりに VARCHAR にキャストします。

  • BINARY – Parquet のデータに使用されます。

  • DATE – UNIX 形式の日付 (例: YYYY-MM-DD)。

  • TIMESTAMP – UNiX 形式の日付と時刻のインスタント (例: yyyy-mm-dd hh:mm:ss[.f...])。たとえば、TIMESTAMP '2008-09-15 03:04:05.324' と指定します。この形式ではセッションのタイムゾーンが使用されます。

  • ARRAY<data_type>

  • MAP<primitive_type, data_type>

  • STRUCT<col_name : data_type [COMMENT col_comment] , ...>