列印篩選器 (HBase)
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
列印篩選器。
程式碼範例
Java
如要瞭解如何安裝及使用 Bigtable 的用戶端程式庫,請參閱這篇文章。
如要向 Bigtable 進行驗證,請設定應用程式預設憑證。
詳情請參閱「為本機開發環境設定驗證」。
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["難以理解","hardToUnderstand","thumb-down"],["資訊或程式碼範例有誤","incorrectInformationOrSampleCode","thumb-down"],["缺少我需要的資訊/範例","missingTheInformationSamplesINeed","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],[],[[["\u003cp\u003eThis content demonstrates how to use filters within the Bigtable client library in Java to refine data retrieval.\u003c/p\u003e\n"],["\u003cp\u003eThe code sample showcases the application of various filters, including \u003ccode\u003eBinaryComparator\u003c/code\u003e, \u003ccode\u003eColumnCountGetFilter\u003c/code\u003e, \u003ccode\u003eColumnPaginationFilter\u003c/code\u003e, \u003ccode\u003eColumnRangeFilter\u003c/code\u003e, \u003ccode\u003eFamilyFilter\u003c/code\u003e, \u003ccode\u003eQualifierFilter\u003c/code\u003e, \u003ccode\u003eRandomRowFilter\u003c/code\u003e, \u003ccode\u003eRegexStringComparator\u003c/code\u003e, \u003ccode\u003eRowFilter\u003c/code\u003e, \u003ccode\u003eSkipFilter\u003c/code\u003e, and \u003ccode\u003eValueFilter\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe example outlines how to set up a connection to Bigtable, create a scan object, and apply filters to the scan to read and print filtered results from a specified table.\u003c/p\u003e\n"],["\u003cp\u003eThe provided code includes a method to read data with applied filters and a helper method to print the contents of a row retrieved by the filter.\u003c/p\u003e\n"]]],[],null,["# Print filters (HBase)\n\nPrints filters.\n\nCode sample\n-----------\n\n### Java\n\n\nTo learn how to install and use the client library for Bigtable, see\n[Bigtable client libraries](/bigtable/docs/reference/libraries).\n\n\nTo authenticate to Bigtable, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for a local development environment](/docs/authentication/set-up-adc-local-dev-environment).\n\n\n import com.google.cloud.bigtable.hbase.BigtableConfiguration;\n import java.io.IOException;\n import java.time.Instant;\n import java.time.temporal.ChronoUnit;\n import org.apache.hadoop.hbase.Cell;\n import org.apache.hadoop.hbase.TableName;\n import org.apache.hadoop.hbase.client.Connection;\n import org.apache.hadoop.hbase.client.Result;\n import org.apache.hadoop.hbase.client.ResultScanner;\n import org.apache.hadoop.hbase.client.Scan;\n import org.apache.hadoop.hbase.client.Table;\n import org.apache.hadoop.hbase.filter.BinaryComparator;\n import org.apache.hadoop.hbase.filter.ColumnCountGetFilter;\n import org.apache.hadoop.hbase.filter.ColumnPaginationFilter;\n import org.apache.hadoop.hbase.filter.ColumnRangeFilter;\n import org.apache.hadoop.hbase.filter.CompareFilter;\n import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;\n import org.apache.hadoop.hbase.filter.FamilyFilter;\n import org.apache.hadoop.hbase.filter.Filter;\n import org.apache.hadoop.hbase.filter.FilterList;\n import org.apache.hadoop.hbase.filter.FilterList.Operator;\n import org.apache.hadoop.hbase.filter.QualifierFilter;\n import org.apache.hadoop.hbase.filter.RandomRowFilter;\n import org.apache.hadoop.hbase.filter.RegexStringComparator;\n import org.apache.hadoop.hbase.filter.RowFilter;\n import org.apache.hadoop.hbase.filter.SkipFilter;\n import org.apache.hadoop.hbase.filter.ValueFilter;\n import org.apache.hadoop.hbase.util.Bytes;\n\n public class Filters {\n\n // Write your code here.\n // ...\n\n public static void readWithFilter(\n String projectId, String instanceId, String tableId, Scan scan) {\n // Initialize client that will be used to send requests. This client only needs to be created\n // once, and can be reused for multiple requests. After completing all of your requests, call\n // the \"close\" method on the client to safely clean up any remaining background resources.\n try (Connection connection = BigtableConfiguration.connect(projectId, instanceId)) {\n Table table = connection.getTable(TableName.valueOf(tableId));\n\n ResultScanner rows = table.getScanner(scan);\n\n for (Result row : rows) {\n printRow(row);\n }\n } catch (IOException e) {\n System.out.println(\n \"Unable to initialize service client, as a network error occurred: \\n\" + e.toString());\n }\n }\n\n private static void printRow(Result row) {\n System.out.printf(\"Reading data for %s%n\", Bytes.toString(row.rawCells()[0].getRowArray()));\n String colFamily = \"\";\n for (Cell cell : row.rawCells()) {\n String currentFamily = Bytes.toString(cell.getFamilyArray());\n if (!currentFamily.equals(colFamily)) {\n colFamily = currentFamily;\n System.out.printf(\"Column Family %s%n\", colFamily);\n }\n System.out.printf(\n \"\\t%s: %s @%s%n\",\n Bytes.toString(cell.getQualifierArray()),\n Bytes.toString(cell.getValueArray()),\n cell.getTimestamp());\n }\n System.out.println();\n }\n }\n\nWhat's next\n-----------\n\n\nTo search and filter code samples for other Google Cloud products, see the\n[Google Cloud sample browser](/docs/samples?product=bigtable)."]]