조건부 값 쓰기(HBase)
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
조건부 쓰기 요청을 보냅니다. 이러한 유형의 쓰기는 CheckAndMutateRow API 요청입니다.
더 살펴보기
이 코드 샘플이 포함된 자세한 문서는 다음을 참조하세요.
코드 샘플
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 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 code demonstrates how to send a conditional write request using the CheckAndMutateRow API in Google Cloud Bigtable.\u003c/p\u003e\n"],["\u003cp\u003eThe example uses Java to connect to a Bigtable instance, create a row mutation, and apply a conditional check before writing data.\u003c/p\u003e\n"],["\u003cp\u003eThe code sets up a conditional check to ensure that data is written only if the "os_build" column's value is greater than or equal to "PQ2A.190405".\u003c/p\u003e\n"],["\u003cp\u003eThe provided sample code includes the necessary imports and details how to authenticate and connect to a Bigtable instance.\u003c/p\u003e\n"]]],[],null,["Send a conditional write request. This type of write makes a CheckAndMutateRow API request.\n\nExplore further\n\n\nFor detailed documentation that includes this code sample, see the following:\n\n- [Write examples](/bigtable/docs/writing-data)\n\nCode sample \n\nJava\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 org.apache.hadoop.hbase.TableName;\n import org.apache.hadoop.hbase.client.Connection;\n import org.apache.hadoop.hbase.client.Put;\n import org.apache.hadoop.hbase.client.RowMutations;\n import org.apache.hadoop.hbase.client.Table;\n import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;\n import org.apache.hadoop.hbase.util.Bytes;\n\n public class WriteConditionally {\n\n private static final byte[] COLUMN_FAMILY_NAME = Bytes.toBytes(\"stats_summary\");\n\n public static void writeConditionally(String projectId, String instanceId, String tableId) {\n // String projectId = \"my-project-id\";\n // String instanceId = \"my-instance-id\";\n // String tableId = \"mobile-time-series\";\n\n try (Connection connection = BigtableConfiguration.connect(projectId, instanceId)) {\n Table table = connection.getTable(TableName.valueOf(Bytes.toBytes(tableId)));\n long timestamp = System.currentTimeMillis();\n\n String rowKey = \"phone#4c410523#20190501\";\n RowMutations mutations = new RowMutations(Bytes.toBytes(rowKey));\n\n Put put = new Put(Bytes.toBytes(rowKey));\n put.addColumn(\n COLUMN_FAMILY_NAME, Bytes.toBytes(\"os_name\"), timestamp, Bytes.toBytes(\"android\"));\n mutations.add(put);\n\n table.checkAndMutate(\n Bytes.toBytes(rowKey),\n COLUMN_FAMILY_NAME,\n Bytes.toBytes(\"os_build\"),\n CompareOp.GREATER_OR_EQUAL,\n Bytes.toBytes(\"PQ2A.190405\"),\n mutations);\n\n System.out.print(\"Successfully updated row's os_name\");\n\n } catch (Exception e) {\n System.out.println(\"Error during WriteConditionally: \\n\" + e.toString());\n e.printStackTrace();\n }\n }\n }\n\nWhat's next\n\n\nTo search and filter code samples for other Google Cloud products, see the\n[Google Cloud sample browser](/docs/samples?product=bigtable)."]]