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