Hive - Loại dữ liệu
Chương này sẽ đưa bạn qua các kiểu dữ liệu khác nhau trong Hive, có liên quan đến việc tạo bảng. Tất cả các loại dữ liệu trong Hive được phân loại thành bốn loại, cụ thể như sau:
- Các loại cột
- Literals
- Giá trị rỗng
- Loại phức tạp
Các loại cột
Kiểu cột được sử dụng làm kiểu dữ liệu cột của Hive. Chúng như sau:
Các loại tích phân
Dữ liệu kiểu số nguyên có thể được chỉ định bằng cách sử dụng kiểu dữ liệu tích phân, INT. Khi phạm vi dữ liệu vượt quá phạm vi INT, bạn cần sử dụng BIGINT và nếu phạm vi dữ liệu nhỏ hơn INT, bạn sử dụng SMALLINT. TINYINT nhỏ hơn SMALLINT.
Bảng sau mô tả các kiểu dữ liệu INT khác nhau:
Kiểu | Postfix | Thí dụ |
---|---|---|
TINYINT | Y | 10 năm |
SMALLINT | S | 10S |
INT | - | 10 |
BIGINT | L | 10L |
Các loại chuỗi
Kiểu dữ liệu kiểu chuỗi có thể được chỉ định bằng cách sử dụng dấu nháy đơn ('') hoặc dấu nháy kép (""). Nó chứa hai kiểu dữ liệu: VARCHAR và CHAR. Hive đi theo các nhân vật thoát kiểu C.
Bảng sau mô tả các kiểu dữ liệu CHAR khác nhau:
Loại dữ liệu | Chiều dài |
---|---|
VARCHAR | 1 đến 65355 |
CHAR | 255 |
Dấu thời gian
Nó hỗ trợ dấu thời gian UNIX truyền thống với độ chính xác nano giây tùy chọn. Nó hỗ trợ định dạng java.sql.Timestamp “YYYY-MM-DD HH: MM: SS.fffffffff” và định dạng “yyyy-mm-dd hh: mm: ss.ffffffffff”.
ngày
Giá trị DATE được mô tả ở định dạng năm / tháng / ngày trong biểu mẫu {{YYYY-MM-DD}}.
Số thập phân
Kiểu DECIMAL trong Hive cũng giống như định dạng Big Decimal của Java. Nó được sử dụng để biểu diễn độ chính xác tùy ý bất biến. Cú pháp và ví dụ như sau:
DECIMAL(precision, scale)
decimal(10,0)
Các loại liên minh
Union là một tập hợp các kiểu dữ liệu không đồng nhất. Bạn có thể tạo một phiên bản bằng cách sử dụngcreate union. Cú pháp và ví dụ như sau:
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}
Chữ viết
Các ký tự sau được sử dụng trong Hive:
Các loại dấu chấm động
Các loại dấu phẩy động không có gì khác ngoài các số có dấu thập phân. Nói chung, loại dữ liệu này bao gồm kiểu dữ liệu DOUBLE.
Loại thập phân
Dữ liệu kiểu thập phân không là gì ngoài giá trị dấu phẩy động với phạm vi cao hơn kiểu dữ liệu DOUBLE. Phạm vi của loại thập phân là khoảng -10 -308 đến 10 308 .Giá trị rỗng
Các giá trị bị thiếu được biểu thị bằng giá trị đặc biệt NULL.
Loại phức tạp
Các kiểu dữ liệu phức tạp của Hive như sau:
Mảng
Mảng trong Hive được sử dụng giống như cách chúng được sử dụng trong Java.
Syntax: ARRAY<data_type>
Bản đồ
Bản đồ trong Hive tương tự như Bản đồ Java.
Syntax: MAP<primitive_type, data_type>
Cấu trúc
Các cấu trúc trong Hive tương tự như việc sử dụng dữ liệu phức tạp với nhận xét.
Syntax: STRUCT<col_name : data_type [COMMENT col_comment], ...>