انباره داده HIVE

سلام دوستان عزیزم. قبل از هر چیزی بگم من این مطلب رو در وب سایت دنیای بیگ دیتا نشر دادم که اونجا هم می تونین راجع به مباحث بیگ دیتا بیشتر مطالعه کنید.

آشنایی با Hive

انباره داده Hive که در Facebook توسط مهندسان این شرکت توسعه داده شده است یک رابط کاربری شبیه به SQL دارد که بروی ساختار فایل سیستم آپاچی هدوپ یا سایر ساختارهای سازگار نظیر Amazon S3 اجرا می شود و به منظور خلاصه سازی داده ها، پرس و جو و تجزیه و تحلیل آنها بکار می رود. در نتیجه دستورات بسیار شبیه به SQL خواهند بود. انباره داده Hive به منظور ایجاد قابلیت پرس و جوهای مبتنی بر زبان قدرتمند SQL بر روی داده های Structured در HDFS توسعه پیدا کرد. در بیانی ساده تر Hive ابزاری به منظور تبدیل دستورات SQL به فرآیند Map Reduce می باشد. پس دستورات Hive در قالب Map Reduce Jobs اجرا می شوند. پس متوجه شدیم مزیت کلیدی این ابزار توانایی کار با  ستورات SQL در اکوسیستم هدوپ می باشد. همانطور که در عنوان مقاله نیز می بینم، ، Hive یک انبار داده در اکوسیستم هدوپ است که مسئولیت خواندن، نوشتن و مدیریت مجموعه داده‌های بزرگ را در یک محیط توزیع شده و با استفاده از واسطی مانند SQL، برعهده دارد.

انباره داده Hive با دارا بودن CLI – خط فرمان خود، پیاده سازی دستورات HQL را مقدور می سازد و همانطور که ادامه نیز اشاره خواهیم داشت با استفاده از درایور پایگاه داده‌ی جاوا (JDBC) و درایور پایگاه داده‌ی اشیاء (ODBC) اتصال ما به دیتابیس های مدنظرمان را مقدور می سازد

این انباره داده از یک زبان پرس و جو مشابه SQL به نام HiveQL بهره می برد که  پرس و جوها را به صورت صریح به موتورهای پردازشی نظیر Map Reduce, Tez یا Spark تبدیل می کند. از جمله ویژگی های Hive می توان به موارد ذیل اشاره کرد:

  1. امکان ساخت UDF – User Defined Functions به منظور پیش پردازش داده
  2. ذخیره سازی Metadata – فراداده در RDBMS که به طور قابل توجهی زمان انجام کنترل های معنایی در هنگام اجرای پرس و جو را کاهش می دهد.
  3. امکان Indexing روی رکوردهای دیتابیس به منظور افزایش سرعت و عملکرد پرس و جو
  4. پشتیبانی از فرمت های داده های نظیر Text File. SequenceFile. RCFile. Avro Files. ORC Files. Parquet

مفهومی تحت عنوان Metastore در Hive وجود دارد که به عنوان یک فضا جهت ذخیره سازی Hive Metadata کاربرد دارد. Metastore درون خود از یک دیتابیس رابطه ای کوچک که بطور پیش فرض Apache Derby است بهره می برد که وظیفه ذخیره سازی داده های مربوطه را داراست.

سرویس های موجود در Hive عبارتند از:

HiveServer2
Hive Metastore
HCatalog + WebHcat
Beeline & Hive CLI
Thrift client
FileSystem :: HDFS and other compatible filesystems like S3
Execution engine :: MapReduce, Tez, Spark
Hive Web UI (added in Hive 2.x). Maybe also Tez or Spark UI, but not really

همانطور که مشخص هست Hive Service شامل HiveServer2 که گاها از آن به Thrift Server نام برده می شود، درایور، کامپایلر و یک موتور اجرایی نظیر Map Reduce, Tez یا Spark می باشد. اما تمامی این موارد در HS2 موجود می باشند و خود Hive شامل

HS2(includes hs2 or thrift server, Compiler, Execution Engine)
MetaStore
WebHCat

می باشد.<br/>