Hive와 MySQL의 차이점 유형 변환 캐스트 및 covert 함수

3114 단어
Hive:
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의 변체이다.일부 암호화된 데이터에도 바이너리 파일을 저장할 수 있습니다.|

좋은 웹페이지 즐겨찾기