Sarang - Tipe Data

Bab ini membawa Anda melalui berbagai tipe data di Hive, yang terlibat dalam pembuatan tabel. Semua tipe data di Hive diklasifikasikan menjadi empat tipe, yang diberikan sebagai berikut:

  • Jenis Kolom
  • Literals
  • Nilai Null
  • Jenis Kompleks

Jenis Kolom

Tipe kolom digunakan sebagai tipe data kolom dari sarang. Mereka adalah sebagai berikut:

Jenis Integral

Tipe data integer dapat ditentukan menggunakan tipe data integral, INT. Ketika jangkauan data melebihi jangkauan INT, Anda perlu menggunakan BIGINT dan jika jangkauan data lebih kecil dari INT, Anda menggunakan SMALLINT. TINYINT lebih kecil dari SMALLINT.

Tabel berikut menggambarkan berbagai tipe data INT:

Tipe Postfix Contoh
TINYINT Y 10T
SMALLINT S 10S
INT - 10
BIGINT L 10L

Jenis String

Tipe data tipe string dapat ditentukan menggunakan tanda kutip tunggal ('') atau tanda kutip ganda (""). Ini berisi dua tipe data: VARCHAR dan CHAR. Hive mengikuti karakter escape tipe C.

Tabel berikut menggambarkan berbagai tipe data CHAR:

Tipe data Panjangnya
VARCHAR 1 hingga 65355
ARANG 255

Stempel waktu

Mendukung stempel waktu UNIX tradisional dengan presisi nanodetik opsional. Ini mendukung format java.sql.Timestamp "YYYY-MM-DD HH: MM: SS.fffffffff" dan format "yyyy-mm-hh jj: mm: ss.ffffffffff".

tanggal

Nilai DATE dijelaskan dalam format tahun / bulan / hari dalam format {{YYYY-MM-DD}}.

Desimal

Jenis DECIMAL di Hive sama dengan format Desimal Besar di Jawa. Ini digunakan untuk merepresentasikan presisi arbitrer yang tidak dapat diubah. Sintaks dan contohnya adalah sebagai berikut:

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

Jenis Persatuan

Union adalah kumpulan tipe data yang heterogen. Anda dapat membuat sebuah instance menggunakancreate union. Sintaks dan contohnya adalah sebagai berikut:

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}

Literals

Literal berikut digunakan di Hive:

Jenis Titik Mengambang

Jenis titik mengambang tidak lain adalah angka dengan titik desimal. Umumnya tipe data ini terdiri dari tipe data DOUBLE.

Jenis Desimal

Data tipe desimal tidak lain adalah nilai floating point dengan range lebih tinggi dari tipe data DOUBLE. Kisaran tipe desimal adalah sekitar -10 -308 10 308 .

Nilai Nihil

Nilai yang hilang diwakili oleh nilai khusus NULL.

Jenis Kompleks

Tipe data kompleks Hive adalah sebagai berikut:

Array

Array di Hive digunakan dengan cara yang sama seperti di Java.

Syntax: ARRAY<data_type>

Maps

Peta di Hive mirip dengan Peta Java.

Syntax: MAP<primitive_type, data_type>

Structs

Structs in Hive mirip dengan menggunakan data kompleks dengan komentar.

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