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], ...>