Amazon Athena의 데이터 형식 - Amazon Athena

Amazon Athena의 데이터 형식

CREATE TABLE을 실행할 때 각 열에 포함할 수 있는 열 이름과 데이터 형식을 지정합니다. 생성한 테이블은 AWS Glue Data Catalog에 저장됩니다.

다른 쿼리 엔진과의 상호 운용성을 높이기 위해 Athena는 CREATE TABLE과 같은 DDL 문에 Apache Hive 데이터 유형 이름을 사용합니다. SELECT, CTAS, INSERT INTO 등과 같은 DML 쿼리의 경우 Athena는 Trino 데이터 유형 이름을 사용합니다. 다음 표는 Athena에서 지원되는 데이터 유형을 보여줍니다. DDL 및 DML 유형이 이름, 가용성 또는 구문 측면에서 다른 경우 별도의 열에 표시됩니다.

DDL DML 설명
BOOLEAN 값은 truefalse입니다.
TINYINT 2의 보수 형식의 부호 있는 8비트 정수로, 최솟값은 -27, 최댓값은 27-1입니다.
SMALLINT 2의 보수 형식의 부호 있는 16비트 정수로, 최솟값은 -215, 최댓값은 215-1입니다.
INT, INTEGER 2의 보수 형식의 부호 있는 32비트 값으로, 최솟값은 -231, 최댓값은 231-1입니다.
BIGINT 2의 보수 형식의 부호 있는 64비트 정수로, 최솟값은 -263, 최댓값은 263-1입니다.
FLOAT REAL 32비트 부호 포함 단정밀도 부동 소수점 숫자입니다. 범위는 1.40129846432481707e-45에서 3.40282346638528860e+38로, 양수 또는 음수입니다. 부동 소수점 산술에 대한 IEEE 표준(IEEE 754)을 따릅니다.
DOUBLE 64비트 부호 포함 배정밀도 부동 소수점 숫자입니다. 범위는 4.94065645841246544e-324d에서 1.79769313486231570e+308d로, 양수 또는 음수입니다. 부동 소수점 산술에 대한 IEEE 표준(IEEE 754)을 따릅니다.
DECIMAL(precision, scale) precision은 총 자릿수이고, scale(선택 사항)은 소수부의 자릿수이며, 기본값은 0입니다. 예를 들어 decimal(11,5), decimal(15) 형식 정의를 사용합니다. precision 최대값은 38이고, scale 최대값은 38입니다.
CHAR, CHAR(length)

길이가 1~255자로 지정된 고정 길이 문자 데이터입니다(예: char(10)). length가 지정되면 읽을 때 문자열이 지정된 길이만큼 잘립니다. 기본 데이터 문자열이 더 긴 경우 기본 데이터 문자열은 변경되지 않습니다.

자세한 내용은 CHAR Hive 데이터 형식을 참조하세요.

STRING VARCHAR 가변 길이 문자 데이터.
VARCHAR(length) 최대 읽기 길이를 가진 가변 길이 문자 데이터. 읽을 때 문자열이 지정된 길이만큼 잘립니다. 기본 데이터 문자열이 더 긴 경우 기본 데이터 문자열은 변경되지 않습니다.
BINARY VARBINARY 가변 길이 이진 데이터.
TIME 밀리초 단위의 정밀도의 하루 중 시간.
사용할 수 없음 TIME(precision) 특정 정밀도의 하루 중 시간. TIME(3)TIME과 동일합니다.
사용할 수 없음 TIME WITH TIME ZONE 시간대의 하루 중 시간. 시간대는 UTC 기준 오프셋으로 지정되어야 합니다.
날짜 년, 월, 일 단위로 구성된 달력 날짜.
TIMESTAMP TIMESTAMP, TIMESTAMP WITHOUT TIME ZONE 밀리초 단위의 정밀도의 달력 날짜와 하루 중 시간.
사용할 수 없음 TIMESTAMP(precision), TIMESTAMP(precision) WITHOUT TIME ZONE 특정 정밀도의 달력 날짜 및 하루 중 시간. TIMESTAMP(3)TIMESTAMP과 동일합니다.
사용할 수 없음 TIMESTAMP(시간대 사용) 시간대의 달력 날짜 및 하루 중 시간. 시간대는 UTC로부터의 오프셋, IANA 시간대 이름 또는 UTC, UT, Z 또는 GMT를 사용하여 지정될 수 있습니다.
사용할 수 없음 TIMESTAMP(precision) WITH TIME ZONE 시간대에서 특정 정밀도의 달력 날짜 및 하루 중 시간입니다.
사용할 수 없음 INTERVAL YEAR TO MONTH 하나 이상의 달 간격
사용할 수 없음 INTERVAL DAY TO SECOND 하나 이상의 초, 분, 시간 또는 일 간격
ARRAY<element_type> ARRAY[element_type] 값으로 구성된 배열. 모든 값은 동일한 데이터 형식이어야 합니다.
MAP<key_type, value_type> MAP(key_type, value_type) 키로 값을 조회할 수 있는 맵입니다. 모든 키가 동일한 데이터 형식이고 모든 값이 동일한 데이터 형식이어야 합니다. 예: map<string, integer>.
STRUCT<field_name_1:field_type_1, field_name_2:field_type_2, …> ROW(field_name_1 field_type_1, field_name_2 field_type_2, …) 이름이 지정된 필드와 값이 포함된 데이터 구조입니다.
사용할 수 없음 JSON JSON 값 유형은 JSON 객체, JSON 배열, JSON 번호, JSON 문자열, true, false 또는 null가 될 수 있습니다.
사용할 수 없음 UUID UUID(범용 고유 식별자).
사용할 수 없음 IPADDRESS IPv4 주소 또는 IPv6 주소.
사용할 수 없음 HyperLogLog 이러한 데이터 유형은 대략적인 함수 내부를 지원합니다. 각 유형에 대한 자세한 내용은 Trino 설명서의 해당 항목을 참조하세요.
P4HyperLogLog
SetDigest
QDigest
TDigest