{"id":4377,"date":"2024-03-14T01:23:54","date_gmt":"2024-03-14T01:23:54","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-scan-and-filter-data-in-hbase\/"},"modified":"2025-07-31T06:56:12","modified_gmt":"2025-07-31T06:56:12","slug":"how-to-scan-and-filter-data-in-hbase","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-scan-and-filter-data-in-hbase\/","title":{"rendered":"HBase Scan &#038; Filter: Complete Guide"},"content":{"rendered":"<p>In HBase, data can be scanned and filtered using the Scan object. This object allows users to specify the table to scan, starting and ending row keys, and add filters to filter the scanned results.<\/p>\n<p>The following is a sample code demonstrating how to scan and filter data in HBase.<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-type\">Configuration<\/span> <span class=\"hljs-variable\">conf<\/span> <span class=\"hljs-operator\">=<\/span> HBaseConfiguration.create();\r\n<span class=\"hljs-type\">Connection<\/span> <span class=\"hljs-variable\">connection<\/span> <span class=\"hljs-operator\">=<\/span> ConnectionFactory.createConnection(conf);\r\n\r\n<span class=\"hljs-type\">TableName<\/span> <span class=\"hljs-variable\">tableName<\/span> <span class=\"hljs-operator\">=<\/span> TableName.valueOf(<span class=\"hljs-string\">\"my_table\"<\/span>);\r\n<span class=\"hljs-type\">Table<\/span> <span class=\"hljs-variable\">table<\/span> <span class=\"hljs-operator\">=<\/span> connection.getTable(tableName);\r\n\r\n<span class=\"hljs-type\">Scan<\/span> <span class=\"hljs-variable\">scan<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">Scan<\/span>();\r\nscan.withStartRow(Bytes.toBytes(<span class=\"hljs-string\">\"start_row_key\"<\/span>));\r\nscan.withStopRow(Bytes.toBytes(<span class=\"hljs-string\">\"end_row_key\"<\/span>));\r\n\r\n<span class=\"hljs-type\">Filter<\/span> <span class=\"hljs-variable\">filter<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">SingleColumnValueFilter<\/span>(\r\n        Bytes.toBytes(<span class=\"hljs-string\">\"cf\"<\/span>),\r\n        Bytes.toBytes(<span class=\"hljs-string\">\"col\"<\/span>),\r\n        CompareOperator.EQUAL,\r\n        Bytes.toBytes(<span class=\"hljs-string\">\"value\"<\/span>)\r\n);\r\nscan.setFilter(filter);\r\n\r\n<span class=\"hljs-type\">ResultScanner<\/span> <span class=\"hljs-variable\">scanner<\/span> <span class=\"hljs-operator\">=<\/span> table.getScanner(scan);\r\n<span class=\"hljs-keyword\">for<\/span> (Result result : scanner) {\r\n    <span class=\"hljs-comment\">\/\/ \u5904\u7406\u626b\u63cf\u7ed3\u679c<\/span>\r\n    <span class=\"hljs-keyword\">for<\/span> (Cell cell : result.rawCells()) {\r\n        System.out.println(<span class=\"hljs-string\">\"Row key: \"<\/span> + Bytes.toString(CellUtil.cloneRow(cell)) +\r\n                           <span class=\"hljs-string\">\" Value: \"<\/span> + Bytes.toString(CellUtil.cloneValue(cell)));\r\n    }\r\n}\r\n\r\nscanner.close();\r\ntable.close();\r\nconnection.close();\r\n<\/code><\/pre>\n<p>In the example above, a Scan object is first created and the start row key, end row key, and filter are set. Then a ResultScanner object is obtained through the table.getScanner(scan) method to retrieve the scan results. Finally, iterate through the ResultScanner object to process the results of each row of data.<\/p>\n<p>It&#8217;s important to note that there are other types of filters available in HBase, such as PrefixFilter, RowFilter, and FamilyFilter. Users can choose the appropriate filter based on their specific needs to filter scan results.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In HBase, data can be scanned and filtered using the Scan object. This object allows users to specify the table to scan, starting and ending row keys, and add filters to filter the scanned results. The following is a sample code demonstrating how to scan and filter data in HBase. Configuration conf = HBaseConfiguration.create(); Connection [&hellip;]<\/p>\n","protected":false},"author":10,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[342,3869,304,91,3868],"class_list":["post-4377","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-data-processing","tag-filter","tag-hbase","tag-nosql","tag-scan"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>HBase Scan &amp; Filter: Complete Guide - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Learn efficient HBase data scanning and filtering techniques with practical code examples.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-to-scan-and-filter-data-in-hbase\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"HBase Scan &amp; Filter: Complete Guide\" \/>\n<meta property=\"og:description\" content=\"Learn efficient HBase data scanning and filtering techniques with practical code examples.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-scan-and-filter-data-in-hbase\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-14T01:23:54+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-07-31T06:56:12+00:00\" \/>\n<meta name=\"author\" content=\"Jackson Davis\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jackson Davis\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-scan-and-filter-data-in-hbase\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-scan-and-filter-data-in-hbase\/\"},\"author\":{\"name\":\"Jackson Davis\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/55a10b8b0457c35884c25677889ad350\"},\"headline\":\"HBase Scan &#038; Filter: Complete Guide\",\"datePublished\":\"2024-03-14T01:23:54+00:00\",\"dateModified\":\"2025-07-31T06:56:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-scan-and-filter-data-in-hbase\/\"},\"wordCount\":145,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"Data Processing\",\"filter\",\"HBase\",\"NoSQL\",\"scan\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-scan-and-filter-data-in-hbase\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-scan-and-filter-data-in-hbase\/\",\"name\":\"HBase Scan & Filter: Complete Guide - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-14T01:23:54+00:00\",\"dateModified\":\"2025-07-31T06:56:12+00:00\",\"description\":\"Learn efficient HBase data scanning and filtering techniques with practical code examples.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-scan-and-filter-data-in-hbase\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-scan-and-filter-data-in-hbase\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-scan-and-filter-data-in-hbase\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"HBase Scan &#038; Filter: Complete Guide\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/55a10b8b0457c35884c25677889ad350\",\"name\":\"Jackson Davis\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/2fdb47d6df1226e92380d96973782572a97b0675d098bb914410dec348eb5d29?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/2fdb47d6df1226e92380d96973782572a97b0675d098bb914410dec348eb5d29?s=96&d=mm&r=g\",\"caption\":\"Jackson Davis\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/jacksondavis\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"HBase Scan & Filter: Complete Guide - Blog - Silicon Cloud","description":"Learn efficient HBase data scanning and filtering techniques with practical code examples.","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:\/\/www.silicloud.com\/blog\/how-to-scan-and-filter-data-in-hbase\/","og_locale":"en_US","og_type":"article","og_title":"HBase Scan & Filter: Complete Guide","og_description":"Learn efficient HBase data scanning and filtering techniques with practical code examples.","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-scan-and-filter-data-in-hbase\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-14T01:23:54+00:00","article_modified_time":"2025-07-31T06:56:12+00:00","author":"Jackson Davis","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Jackson Davis","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-scan-and-filter-data-in-hbase\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-scan-and-filter-data-in-hbase\/"},"author":{"name":"Jackson Davis","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/55a10b8b0457c35884c25677889ad350"},"headline":"HBase Scan &#038; Filter: Complete Guide","datePublished":"2024-03-14T01:23:54+00:00","dateModified":"2025-07-31T06:56:12+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-scan-and-filter-data-in-hbase\/"},"wordCount":145,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["Data Processing","filter","HBase","NoSQL","scan"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-scan-and-filter-data-in-hbase\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-scan-and-filter-data-in-hbase\/","name":"HBase Scan & Filter: Complete Guide - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-14T01:23:54+00:00","dateModified":"2025-07-31T06:56:12+00:00","description":"Learn efficient HBase data scanning and filtering techniques with practical code examples.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-scan-and-filter-data-in-hbase\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-scan-and-filter-data-in-hbase\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-scan-and-filter-data-in-hbase\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"HBase Scan &#038; Filter: Complete Guide"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/55a10b8b0457c35884c25677889ad350","name":"Jackson Davis","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/2fdb47d6df1226e92380d96973782572a97b0675d098bb914410dec348eb5d29?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2fdb47d6df1226e92380d96973782572a97b0675d098bb914410dec348eb5d29?s=96&d=mm&r=g","caption":"Jackson Davis"},"url":"https:\/\/www.silicloud.com\/blog\/author\/jacksondavis\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/4377","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=4377"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/4377\/revisions"}],"predecessor-version":[{"id":149033,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/4377\/revisions\/149033"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=4377"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=4377"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=4377"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}