آموزش Hive

آموزش Hive – انواع داده ای (Data Types)

در این بخش انواع داده ایِ Hive را که در ایجاد جدول به کار میرن، توضیح میدیم. همه ی انواع داده ایِ Hive در یکی از چهار دسته ی زیر قرار میگیرن:

  • نوع داده ایِ Column
  • Literalها
  • مقادیرِ Null
  • مقادیرِ Complex

نوع داده ایِ Column

نوع داده ایِ Column برای تعریف انواع داده ی ستون هایِ Hive استفاده میشن و به شرح زیر هستن:

نوع داده ایِ Integral

می توان نوع داده ای Integer را با انواع داده ایِ integral تعریف کرد، INT. اگه محدوده ی داده ها بیش تر از INT باشه باید از BIGINT استفاده کنین و اگه محدوده ی داده ها کوچک تر از INT باشه باید از SMALLINT استفاده کنین. TINYINT کوچکتر از SMALLINT است.

در جدول زیر انواع مختلف نوع داده ایِ INT را مشاهده می کنین:

نوع

پسوند

مثال

TINYINT

Y

10Y

SMALLINT

S

10S

INT

-

10

BIGINT

L

10L

نوع داده ایِ String

نوع داده ایِ String با تک کوتیشین (‘ ‘) یا دابل کوتیشن (“ “) تعریف میشه. این نوع داده ای حاوی دو نوعِ داده ایِه: VARCHAR و CHAR.

Hive از کاراکترهای نوعِ-C تبعیت می کنه.

جدول زیر انواع داده ای مختلفِ CHAR را نشان میده:

نوع داده ای

طول

VARCHAR

1 تا 65355

CHAR

255

Timestamp

Timestamp از timestamp معمولیِ یونیکس با دقت نانوثانیه (nanosecond) اختیاری پشتیبانی می کنه. همچنین از فرمتِ java.sql.Timestamp “YYYY-MM-DD HH:MM:SS.fffffffff” و فرمتِ “yyyy-mm-dd hh:mm:ss.ffffffffff” هم پشتیبانی می کنه.

Dates

مقادیرِ Date با فرمتِ روز/ماه/سال و به شکلِ {{YYYY-MM-DD}} تعریف میشن.

Decimals

در Hive، نوع داده ایِ DECIMAL مشابه فرمتِ Big Decimal در جاوا است. این نوع داده ای برای نمایش با دقت اختیاری تغیرناپذیر به کار میره. شکل دستوری و مثالی از این نوع داده ای را در ادامه مشاهده می کنین:

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

انواع داده ایِ Union

Union، مجموعه ای از انواع داده ایِ ناهمگون است. می توانید با استفاده از create union یک نمونه از این نوع داده ای ایجاد کنین. شکل دستوری و مثالی از این نوع داده ای را در ادامه مشاهده می کنین:

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}

Litralها

در Hive از Litralهای زیر استفاده میشه:

انواع داده ایِ Floating point

انواع داده ایِ Floating point چیزی به جز اعداد به همراه نقطه اعشار نیستن. به طور کلی، این نوع داده ای از نوع داده ایِ DOUBLE تشکیل شده.

نوع داده ایِ Decimal

نوع داده ایِ Decimal، اعدادی حاوی نقطه اعشار هستن با محدوده ای بزرگ تر از نوع داده ایِ DOUBLE. محدوده ی نوع داده ایِ Decimal حدوداً  -10-308 تا  10308است.

مقادیرِ Null

مقادیر از دست رفته با مقدار خاصِ NULL نمایش داده میشن.

انوع داده ایِ Complex

انوع داده ایِ Complex در Hive به شرح زیر هستن:

آرایه ها (Arrays)

آرایه ها در Hive مشابه روشی که در جاوا از آن ها استفاده میشد، استفاده میشن.

Syntax: ARRAY<data_type>

Mapها

Mapها در Hive مشابه Mapها در جاوا هستن.

Syntax: MAP<primitive_type, data_type>

Structها

Structها در Hive مثل این هستن که از داده ای پیچیده به همراه توضیحات استفاده کنیم.

Syntax: STRUCT<col_name : data_type [COMMENT col_comment], ...>
در صورتی که سوال و یا نظری دارید، از بخش نظرات با ما در میان بگذارید.

خبـرنــامه

Newsletters

در خبــرنـامه سافت اسکیل عضو شویــد تا جدیدترین هـای سایت را بلافاصله در ایمیل خـود دریافت کنیـد

شما چه نظر و یا سوالی درباره این نوشته دارید؟

مبحث آموزشی

آموزش Hive

Learn Hive

پرســیدن سؤال جدید

سؤال های تخصصی خود را از ما بپرسید

دنبال کردن تلگرام کانال سافت اسکیل

https://telegram.me/softskill_ir

عملیات کاربران

خبـرنــامه

Newsletters

در خبــرنـامه سافت اسکیل عضو شویــد تا جدیدترین هـای سایت را بلافاصله در ایمیل خـود دریافت کنیـد

کلیک کنید و سوالات خود را از ما بپرسید
لطفا فرم سوال را پر کنید

سوال شما با موفقیت ثبت شد. برای اینکه بتوانیم به شما اطلاع رسانی کنیم، موارد زیر را وارد کنید:

لطفا چند لحظه منتظر بمانید ...