

{"id":1639,"date":"2017-02-17T16:53:35","date_gmt":"2017-02-17T16:53:35","guid":{"rendered":"http:\/\/data-flair.training\/blogs\/?p=1639"},"modified":"2017-02-17T16:53:35","modified_gmt":"2017-02-17T16:53:35","slug":"apache-hbase-tutorial","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/apache-hbase-tutorial\/","title":{"rendered":"Apache HBase Tutorial &#8211; A Complete Guide for Newbies"},"content":{"rendered":"<p>Today we will look at the Apache HBase tutorial<strong>.<\/strong>\u00a0HBase is a Hadoop project which is Open Source, distributed\u00a0Hadoop\u00a0database which has its genesis in the Google\u2019sBigtable. In this Apache HBase Tutorial, we will study a\u00a0NoSQL DataBase.<\/p>\n<p>Moreover, we will see the main components of HBase and its characteristics. Also, we will cover how to store <strong>Big data<\/strong> with HBase and prerequisites to set HBase cluster. At last, we will discuss the need for Apache HBase.<\/p>\n<p>So, let&#8217;s start the Apache HBase Tutorial.<\/p>\n<h2>A NoSQL DataBase<\/h2>\n<p>It is a non-relational column-oriented distributed database that runs on top of <strong>HDFS<\/strong>. It is a NoSQL open source database which stores data in rows and columns. The cell is the intersection of rows and columns.<\/p>\n<p>To track changes in the cell, versioning makes it possible to retrieve any version of contents. Versioning makes difference between <strong>HBase tables<\/strong> and <strong>RDBMS (Relational Database Management System)<\/strong>.<\/p>\n<p>Each cell value includes a \u201cversion\u201d attribute, which is nothing more than a timestamp identifying the cell. Each value in the map is an uninterrupted array of bytes.<\/p>\n<p>The map is indexed by a row key, column key, and times. It&#8217;s Implementation are scalable, sparse, persistent, and multidimensional-sorted maps.<\/p>\n<h2>Why we use HBase?<\/h2>\n<p>As per Gartner analyst Merv Adrian, \u201cAnyone who wants to keep data within an HDFS environment and wants to do anything other than brute-force reading of the entire file system [with <strong>MapReduce<\/strong>] needs to look at HBase. For random access, you need to have HBase.&#8221;<\/p>\n<p>It\u00a0allows fast random reads and writes that cannot be handled by <strong>Hadoop<\/strong>. Also, relational databases cannot handle the variety of data that is growing. In this manner, it finds a huge application in industry.<\/p>\n<h2>Apache HBase Components<\/h2>\n<p>The main components of HBase are:<\/p>\n<ul>\n<li>It&#8217;s HMaster\u00a0handles negotiating load balancing across all Region Servers and maintain the state of the Hadoop cluster. It is not part of the actual data storage or retrieval path.<\/li>\n<li>RegionServer is nodes that are deployed on each machine and hosts data and processes I\/O requests.<\/li>\n<li><strong>ZooKeeper<\/strong> is an open-source server which enables reliable distributed coordination. It is a centralized service that maintains configuration information, naming, providing distributed synchronization, and providing group services. Hence, It is not operational without ZooKeeper.<\/li>\n<\/ul>\n<h2>Characteristics of HBase<\/h2>\n<p>It has many features due to which it is very popular among industries. Goibibo uses it for customer profiling while Facebook Messenger uses its architecture. Many other companies like NetFlix, LinkedIn, Sears, Yahoo!, Flurry, and Adobe Explorys etc. also use HBase in production. Its important features are:<\/p>\n<h3>a) Consistency<\/h3>\n<p>It also provides consistent reads and writes. Hence, we can use it for high-speed requirements if we do not need RDBMS-supported features such as full transaction support or typed columns.<\/p>\n<h3>b) Sharding<\/h3>\n<p>Since supporting file system distributes the data, It offers transparent, automatic splitting, and redistribution of its content.<\/p>\n<h3>c) High Availability<\/h3>\n<p>It also supports LAN and WAN failover and recovery. At the core, there is a master server, which\u00a0handles monitoring the region servers and all metadata for the cluster.<\/p>\n<h3>d) Client API<\/h3>\n<p>It also offers programmatic access through Java APIs<\/p>\n<h2>Storing Data with HBase<\/h2>\n<p>It is a NoSQL database which does not understand structured query and also well suited for sparse data set. It also updates efficiently for sequential or batch write, update, or delete. Also stores data in-memory and has low latency.<\/p>\n<p>Hence, HBase is useful when large amounts of information need to be stored, updated, and processed often at high speed. For examples lookups and large scans of the data.<\/p>\n<p>It can also store reference data (demographic data, IP address geolocation lookup tables, and product dimensional data), thus make it available for Hadoop tasks.<\/p>\n<h2>Apache HBase Cluster<\/h2>\n<p>To run this, an Amazon EMR cluster should meet certain requirements:<\/p>\n<ul>\n<li>It runs only on persistent clusters, which are created by the Amazon EMR command line interface (CLI) and Amazon EMR console.<\/li>\n<li>An<strong> Amazon EC2 <\/strong>key pair must be set at the time of creating the HBase cluster. Its shell needs the Secure Shell (SSH) network protocol to connect with the master node.<\/li>\n<\/ul>\n<ul>\n<li>Its clusters are supported on the beta version AMI and Hadoop 20.205 or later.<\/li>\n<li>The CLI and Amazon EMR console automatically set the correct AMI on its clusters.<\/li>\n<li>It supports the following instance types: m1.large, m1.xlarge, c1.xlarge, m2.2xlarge, m2.4xlarge, cc1.4xlarge, cc2.8xlarge, hi1.4xlarge, or hs1.8xlarge.<\/li>\n<\/ul>\n<h2>Summary of Apache HBase Tutorial<\/h2>\n<p>Hence, in this Apache HBase Tutorial,\u00a0 we discussed a brief introduction of HBase with NoSQL database. Moreover, we saw HBase characteristics, components and the need for HBase.<\/p>\n<p>Also, we saw how to store data in HBase. At last, we discussed Cluster in HBase. Furthermore, if you have any query regarding Apache HBase Tutorial, feel free to ask in the comment tab.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today we will look at the Apache HBase tutorial.\u00a0HBase is a Hadoop project which is Open Source, distributed\u00a0Hadoop\u00a0database which has its genesis in the Google\u2019sBigtable. In this Apache HBase Tutorial, we will study a\u00a0NoSQL&#46;&#46;&#46;<\/p>\n","protected":false},"author":7,"featured_media":43075,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[23],"tags":[794,797,5381,5393,5394,5426,5441,5491,9124,16386],"class_list":["post-1639","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-hbase","tag-apache-hbase","tag-apache-hbase-tutorial","tag-hbase","tag-hbase-architecture","tag-hbase-basics","tag-hbase-features","tag-hbase-introduction","tag-hbase-tutorial","tag-nosql","tag-zookeeper-in-hbase"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Apache HBase Tutorial - A Complete Guide for Newbies - DataFlair<\/title>\n<meta name=\"description\" content=\"Apache HBase tutorial for beginners - Learn Hbase, need, features, architecture, Characteristics, components of HBase, Storing Data with HBase, cluster\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/data-flair.training\/blogs\/apache-hbase-tutorial\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Apache HBase Tutorial - A Complete Guide for Newbies - DataFlair\" \/>\n<meta property=\"og:description\" content=\"Apache HBase tutorial for beginners - Learn Hbase, need, features, architecture, Characteristics, components of HBase, Storing Data with HBase, cluster\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/apache-hbase-tutorial\/\" \/>\n<meta property=\"og:site_name\" content=\"DataFlair\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DataFlairWS\/\" \/>\n<meta property=\"article:published_time\" content=\"2017-02-17T16:53:35+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/02\/Apache-HBase-Tutorial-01.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"DataFlair Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:site\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"DataFlair Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Apache HBase Tutorial - A Complete Guide for Newbies - DataFlair","description":"Apache HBase tutorial for beginners - Learn Hbase, need, features, architecture, Characteristics, components of HBase, Storing Data with HBase, cluster","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/data-flair.training\/blogs\/apache-hbase-tutorial\/","og_locale":"en_US","og_type":"article","og_title":"Apache HBase Tutorial - A Complete Guide for Newbies - DataFlair","og_description":"Apache HBase tutorial for beginners - Learn Hbase, need, features, architecture, Characteristics, components of HBase, Storing Data with HBase, cluster","og_url":"https:\/\/data-flair.training\/blogs\/apache-hbase-tutorial\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2017-02-17T16:53:35+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/02\/Apache-HBase-Tutorial-01.jpg","type":"image\/jpeg"}],"author":"DataFlair Team","twitter_card":"summary_large_image","twitter_creator":"@DataFlairWS","twitter_site":"@DataFlairWS","twitter_misc":{"Written by":"DataFlair Team","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/apache-hbase-tutorial\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/apache-hbase-tutorial\/"},"author":{"name":"DataFlair Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/beb0cab24b7aa54423a3b50e669a9dcd"},"headline":"Apache HBase Tutorial &#8211; A Complete Guide for Newbies","datePublished":"2017-02-17T16:53:35+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/apache-hbase-tutorial\/"},"wordCount":812,"commentCount":2,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/apache-hbase-tutorial\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/02\/Apache-HBase-Tutorial-01.jpg","keywords":["apache hbase","Apache HBase Tutorial","hbase","hbase architecture","hbase basics","hbase features","hbase introduction","hbase tutorial","nosql","zookeeper in HBase"],"articleSection":["HBase Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/apache-hbase-tutorial\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/apache-hbase-tutorial\/","url":"https:\/\/data-flair.training\/blogs\/apache-hbase-tutorial\/","name":"Apache HBase Tutorial - A Complete Guide for Newbies - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/apache-hbase-tutorial\/#primaryimage"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/apache-hbase-tutorial\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/02\/Apache-HBase-Tutorial-01.jpg","datePublished":"2017-02-17T16:53:35+00:00","description":"Apache HBase tutorial for beginners - Learn Hbase, need, features, architecture, Characteristics, components of HBase, Storing Data with HBase, cluster","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/apache-hbase-tutorial\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/apache-hbase-tutorial\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/apache-hbase-tutorial\/#primaryimage","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/02\/Apache-HBase-Tutorial-01.jpg","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/02\/Apache-HBase-Tutorial-01.jpg","width":1200,"height":628,"caption":"Apache HBase Tutorial - A Complete Guide for 2018"},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/apache-hbase-tutorial\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog Home","item":"https:\/\/data-flair.training\/blogs\/"},{"@type":"ListItem","position":2,"name":"HBase Tutorials","item":"https:\/\/data-flair.training\/blogs\/category\/hbase\/"},{"@type":"ListItem","position":3,"name":"Apache HBase Tutorial &#8211; A Complete Guide for Newbies"}]},{"@type":"WebSite","@id":"https:\/\/data-flair.training\/blogs\/#website","url":"https:\/\/data-flair.training\/blogs\/","name":"DataFlair","description":"Learn Today. Lead Tomorrow.","publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/data-flair.training\/blogs\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/data-flair.training\/blogs\/#organization","name":"DataFlair","url":"https:\/\/data-flair.training\/blogs\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","width":106,"height":48,"caption":"DataFlair"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DataFlairWS\/","https:\/\/x.com\/DataFlairWS","https:\/\/www.linkedin.com\/company\/dataflair-web-services-pvt-ltd\/","https:\/\/www.youtube.com\/user\/DataFlairWS"]},{"@type":"Person","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/beb0cab24b7aa54423a3b50e669a9dcd","name":"DataFlair Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/c322416204232f4dd97ef3901b0a499a5d34d7ba7fe333f4bfe53a907873d293?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c322416204232f4dd97ef3901b0a499a5d34d7ba7fe333f4bfe53a907873d293?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c322416204232f4dd97ef3901b0a499a5d34d7ba7fe333f4bfe53a907873d293?s=96&d=mm&r=g","caption":"DataFlair Team"},"description":"DataFlair Team specializes in creating clear, actionable content on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. Backed by industry expertise, we make learning easy and career-oriented for beginners and pros alike.","url":"https:\/\/data-flair.training\/blogs\/author\/dfteam3\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/1639","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/comments?post=1639"}],"version-history":[{"count":0,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/1639\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media\/43075"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=1639"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=1639"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=1639"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}