Hive와 MySQL의 차이점 유형 변환 캐스트 및 covert 함수
cast(xxx AS 유형): cast(tm AS bigint)
Hive 기본 데이터 유형 첨부:
데이터 형식
차지 바이트
지원 버전 시작
TINYINT
1byte,-128 ~ 127
SMALLINT
2byte,-32,768 ~ 32,767
INT
4byte,-2,147,483,648 ~ 2,147,483,647
BIGINT
8byte,-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
BOOLEAN
FLOAT
4byte 단일 정밀도
DOUBLE
8byte 더블 정밀도
STRING
BINARY
Hive0에서.8.0 지원 시작
TIMESTAMP
Hive0에서.8.0 지원 시작
DECIMAL
Hive0에서.11.0 지원 시작
CHAR
Hive0에서.13.0부터 지원
VARCHAR
Hive0에서.12.0 지원 시작
DATE
Hive0에서.12.0 지원 시작
복잡한 유형은 ARRAY, MAP, STRUCT, UNION을 포함하는데 이런 복잡한 유형은 기초 유형으로 구성되어 있다.
ARRAY
ARRAY 유형은 아래 첨자로 액세스할 수 있는 일련의 동일한 데이터 유형 요소로 구성됩니다.예를 들어 ARRAY 유형의 변수인 fruits가 있는데 이것은 ['apple','orange','mango']로 구성되어 있다. 그러면 우리는 fruits[1]을 통해 요소인 orange에 접근할 수 있다. 왜냐하면 ARRAY 유형의 하표는 0에서 시작하기 때문이다.
MAP:
MAP는 키->value 키 값 쌍을 포함하고 키를 통해 요소에 접근할 수 있습니다.예를 들어'userlist'는 맵 형식이고username은 키,password는value이다.그러면 우리는userlist['username']를 통해 이 사용자가 대응하는password를 얻을 수 있다.
STRUCT:
STRUCT는 다양한 데이터 유형의 요소를 포함할 수 있습니다.이러한 요소들은'점 문법'의 방식으로 필요한 요소를 얻을 수 있다. 예를 들어user가 STRUCT 유형이라면 user를 통해 얻을 수 있다.address에서 이 사용자의 주소를 받았습니다.
UNION:
UNION TYPE, Hive 0.7.0부터 지원합니다.
복사 형식을 포함하는 표를 만드는 것은 다음과 같다
CREATE TABLE employees (
name STRING,
salary FLOAT,
subordinates ARRAY,
deductions MAP,
address STRUCT
) PARTITIONED BY (country STRING, state STRING);
MySQL:
cast(xxx AS 유형) 또는 convert(xxx, 유형) 유형에는 다음 유형이 필요합니다.
바이너리, binary 접두사 효과: BINARY 문자형, 매개변수 포함: CHAR () 날짜: DATE 시간: TIME 날짜 시간형: DATETIME 부동점수: DECIMAL 정수: SIGNED 무기호 정수: UNSIGNED
예: cast(tm AS signed) 또는 convert(tm, signed)
경고:
MySQL 형식 변환은 int 같은 것을 사용할 수 없습니다. 그렇지 않으면 오류가 발생합니다: cast (tm AS int) 또는convert (tm, int)
MySQL 기본 데이터 유형 첨부:
** 유형 **| ** 크기 **| ** 설명 **| | | --------| ------------------: | char[length] | length 바이트 | length 바이트 | 길이 필드, 길이 0-255 바이트 | varcharchar[length] | string 길이 +1 바이트 | 길이 필드, mysql5.03 이전에는 0-255바이트, 5.0.3 이후에는 최대 65535바이트였다.utf8 문자는 3 바이트, gbk 문자는 2 바이트입니다. | |tinytext | string 길이 +1 바이트 | 문자열, 길이 0-255 바이트 | | | text | string 길이 +2 바이트 | 문자열, 최대 길이 0-65535 바이트 | | | | mediumtext | string 길이 +3 바이트 | 문자열, 최대 길이 16777215 바이트 | longtext | string 길이 +4 바이트 | 문자열,최대 길이는 4194967295바이트||||tinyint[length] | 1바이트|범위: -128127 또는 0255||||smallint[length] | 2바이트|||||||||||mediumint[length] | 3바이트||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||double[length, decimals] | 8바이트|| 고정된 소수점 |deallength |||decims]를 실행합니다.| length+1 바이트 또는 length+2 바이트 | | | | | | date time | 8 바이트 | YYYYYY-MMM-DD H:mm:SS 형식 | | | | timestamp | 4 바이트 | YYYYYMMDHHmmSS 형식 | time | 3 바이트 HHH:M:SS 형식 | | | | | | | | | enum 1 또는 2 바이트 매거 유형 | set | | | | | | | | | | | | | | | |단지 매 열마다 여러 개의 가능한 값을 가질 수 있다. | | blob | 는 text의 변체이다.일부 암호화된 데이터에도 바이너리 파일을 저장할 수 있습니다.|
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.