Hive-데이터 유형

이 장에서는 테이블 생성과 관련된 Hive의 다양한 데이터 유형에 대해 설명합니다. Hive의 모든 데이터 유형은 다음과 같이 네 가지 유형으로 분류됩니다.

  • 컬럼 유형
  • Literals
  • Null 값
  • 복잡한 유형

컬럼 유형

열 유형은 Hive의 열 데이터 유형으로 사용됩니다. 다음과 같습니다.

적분 유형

정수형 데이터는 정수형 데이터 형 INT를 사용하여 지정할 수 있습니다. 데이터 범위가 INT 범위를 초과 할 경우 BIGINT를 사용해야하며 데이터 범위가 INT보다 작 으면 SMALLINT를 사용합니다. TINYINT는 SMALLINT보다 작습니다.

다음 표는 다양한 INT 데이터 유형을 설명합니다.

유형 접미사
TINYINT 와이 10 년
SMALLINT 에스 10 초
INT - 10
BIGINT 10L

문자열 유형

문자열 유형 데이터 유형은 작은 따옴표 ( '') 또는 큰 따옴표 ( "")를 사용하여 지정할 수 있습니다. 여기에는 VARCHAR 및 CHAR의 두 가지 데이터 유형이 포함됩니다. Hive는 C 유형 이스케이프 문자를 따릅니다.

다음 표는 다양한 CHAR 데이터 유형을 설명합니다.

데이터 형식 길이
VARCHAR 1에서 65355
255

타임 스탬프

선택적 나노초 정밀도로 기존 UNIX 타임 스탬프를 지원합니다. java.sql.Timestamp 형식“YYYY-MM-DD HH : MM : SS.fffffffff”및 형식“yyyy-mm-dd hh : mm : ss.ffffffffff”를 지원합니다.

날짜

DATE 값은 {{YYYY-MM-DD}} 형식의 년 / 월 / 일 형식으로 설명됩니다.

소수점

Hive의 DECIMAL 유형은 Java의 Big Decimal 형식과 동일합니다. 불변의 임의 정밀도를 나타내는 데 사용됩니다. 구문 및 예는 다음과 같습니다.

DECIMAL(precision, scale)
decimal(10,0)

조합 유형

Union은 이기종 데이터 유형의 모음입니다. 다음을 사용하여 인스턴스를 만들 수 있습니다.create union. 구문 및 예는 다음과 같습니다.

UNIONTYPE<int, double, array<string>, struct<a:int,b:string>>

{0:1} 
{1:2.0} 
{2:["three","four"]} 
{3:{"a":5,"b":"five"}} 
{2:["six","seven"]} 
{3:{"a":8,"b":"eight"}} 
{0:9} 
{1:10.0}

리터럴

다음 리터럴은 Hive에서 사용됩니다.

부동 소수점 유형

부동 소수점 유형은 소수점이있는 숫자 일뿐입니다. 일반적으로 이러한 유형의 데이터는 DOUBLE 데이터 유형으로 구성됩니다.

소수 유형

10 진수 유형 데이터는 DOUBLE 데이터 유형보다 범위가 더 큰 부동 소수점 값입니다. 소수 유형의 범위는 약 -10 -308 10 행 308 .

Null 값

누락 된 값은 특수 값 NULL로 표시됩니다.

복잡한 유형

Hive 복합 데이터 유형은 다음과 같습니다.

배열

Hive의 배열은 Java에서 사용되는 것과 동일한 방식으로 사용됩니다.

Syntax: ARRAY<data_type>

지도

Hive의 맵은 Java 맵과 유사합니다.

Syntax: MAP<primitive_type, data_type>

구조체

Hive의 구조체는 주석이있는 복잡한 데이터를 사용하는 것과 유사합니다.

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