{"id":7665,"date":"2019-09-13T10:57:08","date_gmt":"2019-09-13T17:57:08","guid":{"rendered":"http:\/\/www.couchbase.com\/blog\/?p=7665"},"modified":"2023-05-25T04:15:24","modified_gmt":"2023-05-25T11:15:24","slug":"ingest-data-into-confluent-kafka-via-couchbase-kafka-connector","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/","title":{"rendered":"Utilizaci\u00f3n del conector Kafka de Couchbase para la ingesta de datos"},"content":{"rendered":"<p class=\"graf graf--p graf--hasDropCapModel graf--hasDropCap\"><span class=\"graf-dropCap\">The p<\/span>remise is very simple: in the world of disparate technologies where one does not works or integrates well together, Couchbase &amp; Confluent Kafka are amazing products and are extremely complementary to each other. Couchbase is linearly scalable, distributed NoSQL JSON database. Its primary use case is for any application\/web service which requires single digit <em class=\"markup--em markup--p-em\">ms<\/em> latency read\/write\/update response. It can be used as System of Record(SoR) or Caching layer for fast mutating transient data or offloading Db2\/Oracle\/SQL Server etc so that downstream services can consume data from Couchbase.<\/p>\n<p class=\"graf graf--p graf--hasDropCapModel graf--hasDropCap\"><span class=\"graf-dropCap\">C<\/span>onfluent Kafka is full-fledged distributed streaming platform which is also linearly scalable and capable of handling trillions of events in a day. Confluent Platform makes it easy to build real-time data pipelines and streaming applications by integrating data from multiple sources and locations into a single, central Event Streaming Platform for your company.<\/p>\n<p class=\"graf graf--p\">In this blog post we will cover how seamlessly we can move data out Couchbase and push into a Confluent kafka topic as replication event.<\/p>\n<p class=\"graf graf--p\">Couchbase Kafka connector transfers documents from Couchbase efficiently and reliably using Couchbase\u2019s internal replication protocol, <a class=\"markup--anchor markup--p-anchor\" href=\"https:\/\/developer.couchbase.com\/documentation\/server\/3.x\/admin\/Concepts\/dcp.html\" target=\"_blank\" rel=\"noopener noreferrer\" data-href=\"https:\/\/developer.couchbase.com\/documentation\/server\/3.x\/admin\/Concepts\/dcp.html\">DCP<\/a>. Every change to or deletion of the document generates a replication event, which is then sent to the configured Kafka topic.<\/p>\n<p class=\"graf graf--p\">Kafka connector can be used to move data out of Couchbase and move data from kafka to Couchbase using sink connector. For this blog purpose we will be configuring and using source connector.<\/p>\n<p class=\"graf graf--p\">At high level the architecture diagram looks like below<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7667\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/09\/Screen-Shot-2019-09-12-at-11.23.48-AM.png\" alt=\"\" width=\"912\" height=\"516\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/09\/Screen-Shot-2019-09-12-at-11.23.48-AM.png 912w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/09\/Screen-Shot-2019-09-12-at-11.23.48-AM-300x170.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/09\/Screen-Shot-2019-09-12-at-11.23.48-AM-768x435.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/09\/Screen-Shot-2019-09-12-at-11.23.48-AM-20x11.png 20w\" sizes=\"auto, (max-width: 912px) 100vw, 912px\" \/><\/p>\n<h3 class=\"graf graf--p\"><strong class=\"markup--strong markup--p-strong\">Pre-requisites<\/strong><\/h3>\n<p class=\"graf graf--p\">Couchbase Cluster running version 5.X or above. Download Couchbase <a class=\"markup--anchor markup--p-anchor\" href=\"https:\/\/www.couchbase.com\/downloads\/\" target=\"_blank\" rel=\"noopener noreferrer\" data-href=\"https:\/\/www.couchbase.com\/downloads\/\">here<\/a><\/p>\n<p class=\"graf graf--p\">Couchbase kafka connector. Download Couchbase kafka connector <a class=\"markup--anchor markup--p-anchor\" href=\"https:\/\/docs.couchbase.com\/kafka-connector\/3.4\/quickstart.html\" target=\"_blank\" rel=\"noopener noreferrer\" data-href=\"https:\/\/docs.couchbase.com\/kafka-connector\/3.4\/quickstart.html\">here<\/a><\/p>\n<p class=\"graf graf--p\">Confluent Kafka. Download Confluent Kafka <a class=\"markup--anchor markup--p-anchor\" href=\"https:\/\/www.confluent.io\/download\/?_ga=2.238347459.212475563.1568179093-799828595.1565135434\" target=\"_blank\" rel=\"noopener noreferrer\" data-href=\"https:\/\/www.confluent.io\/download\/?_ga=2.238347459.212475563.1568179093-799828595.1565135434\">here<\/a><\/p>\n<p class=\"graf graf--p\">Configuring Couchbase cluster is outside of the scope of this blog post. However we will be discussing configuring Confluent kafka and Couchbase kafka connector to move data out of Couchbase.<\/p>\n<h4 class=\"graf graf--p\"><strong class=\"markup--strong markup--p-strong\">Configuring Confluent Kafka<\/strong><\/h4>\n<p class=\"graf graf--p\">Untar the package downloaded above on a VM\/pod. For the purpose of this blog, I have deployed an Ubuntu Pod in kubernetes cluster running on GKE.<\/p>\n<blockquote class=\"graf graf--blockquote\">\n<pre class=\"\">$ tar -zxf confluent-5.2.1\u20132.12.tar.gz<\/pre>\n<\/blockquote>\n<p class=\"graf graf--p\">Make sure before installing confluent kafka machines needs to have java 8 version.<\/p>\n<blockquote class=\"graf graf--blockquote\">\n<pre class=\"\">root@kafkaconnector:\/# java -version<\/pre>\n<\/blockquote>\n<blockquote class=\"graf graf--blockquote\">\n<pre class=\"\">openjdk version \u201c1.8.0_222\u201d<\/pre>\n<\/blockquote>\n<h5 class=\"graf graf--p\">Install\/start kafka<\/h5>\n<blockquote class=\"graf graf--blockquote\">\n<pre class=\"\">$ cd confluent-5.2.1<\/pre>\n<\/blockquote>\n<blockquote class=\"graf graf--blockquote\">\n<pre class=\"\">$ export PATH=$PATH:~\/confluent-5.2.1\/bin\r\n$ confluent start<\/pre>\n<\/blockquote>\n<p class=\"graf graf--p\">kafka has following processes, which all should be up.<\/p>\n<pre class=\"graf graf--p\"><em class=\"markup--em markup--p-em\">zookeeper is [UP]<\/em>\r\n\r\n<em class=\"markup--em markup--p-em\">kafka is [UP]<\/em>\r\n\r\n<em class=\"markup--em markup--p-em\">schema-registry is [UP]<\/em>\r\n\r\n<em class=\"markup--em markup--p-em\">kafka-rest is [UP]<\/em>\r\n\r\n<em class=\"markup--em markup--p-em\">connect is [UP]<\/em>\r\n\r\n<em class=\"markup--em markup--p-em\">ksql-server is [UP]<\/em>\r\n\r\n<em class=\"markup--em markup--p-em\">control-center is [UP]<\/em><\/pre>\n<p class=\"graf graf--p\">Pod running confluent kafka can be exposed via NodePort service to the local machine\/laptop. App pod file is <a href=\"https:\/\/github.com\/ramdhakne\/blogs\/blob\/master\/external-connectivity\/assets\/app_pod.yaml\">here<\/a>. Service yaml file is <a class=\"markup--anchor markup--p-anchor\" href=\"https:\/\/github.com\/ramdhakne\/cb-connectors\/blob\/master\/kafka\/assets\/app_svc.yaml\" target=\"_blank\" rel=\"noopener noreferrer\" data-href=\"https:\/\/github.com\/ramdhakne\/cb-connectors\/blob\/master\/kafka\/assets\/app_svc.yaml\">here<\/a><\/p>\n<pre class=\"graf graf--p\"><em class=\"markup--em markup--p-em\">$ kubectl get svc -n mynamespace<\/em>\r\n\r\n<em class=\"markup--em markup--p-em\">NAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 TYPE\u00a0 \u00a0 \u00a0 CLUSTER-IP\u00a0 \u00a0EXTERNAL-IP PORT(S)\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0AGE<\/em>\r\n\r\n<em class=\"markup--em markup--p-em\">app-service ClusterIP 10.51.248.154\u00a0 \u00a0 &lt;none&gt;\u00a0 \u00a0 \u00a0 \u00a0 \u00a09021\/TCP,8083\/TCP\u00a0 115s<\/em><\/pre>\n<p class=\"graf graf--p\">Port-forward the service on local port 9021<\/p>\n<pre class=\"graf graf--p\"><em class=\"markup--em markup--p-em\">$ kubectl port-forward service\/app-service 9021:9021\u200a\u200a-- namespace cbdb<\/em>\r\n\r\n<em class=\"markup--em markup--p-em\">Forwarding from 127.0.0.1:9021 -&gt; 9021<\/em>\r\n\r\n<em class=\"markup--em markup--p-em\">Forwarding from [::1]:9021 -&gt; 9021<\/em><\/pre>\n<p class=\"graf graf--p\">Hit the URL: <a class=\"markup--anchor markup--p-anchor\" href=\"https:\/\/localhost:9021\" target=\"_blank\" rel=\"noopener noreferrer\" data-href=\"https:\/\/localhost:9021\"><em class=\"markup--em markup--p-em\">https:\/\/localhost:9021<\/em><\/a><\/p>\n<figure class=\"graf graf--figure\"><img decoding=\"async\" class=\"graf-image\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/1*J751RKXgrpim7xG2AMbZBQ.png\" data-image-id=\"1*J751RKXgrpim7xG2AMbZBQ.png\" data-width=\"2874\" data-height=\"1428\" \/><figcaption class=\"imageCaption\">Access Confluent Kafka\u00a0UI<\/figcaption><\/figure>\n<p class=\"graf graf--p\"><strong class=\"markup--strong markup--p-strong\">Configuring Couchbase Kafka Connector<\/strong><\/p>\n<p class=\"graf graf--p\">Unzip the package downloaded from above<\/p>\n<pre class=\"graf graf--p\"><em class=\"markup--em markup--p-em\">$ unzip kafka-connect-couchbase-3.4.5.zip<\/em><\/pre>\n<pre class=\"graf graf--p\"><em class=\"markup--em markup--p-em\">$ cd kafka-connect-couchbase-3.4.5\/<\/em>config<\/pre>\n<p class=\"graf graf--p\">Edit file <em class=\"markup--em markup--p-em\">quickstart-couchbase-source.properties<\/em> with (atleast) following information<\/p>\n<p class=\"graf graf--p\">Cluster Connection string<\/p>\n<pre class=\"graf graf--p\"><em class=\"markup--em markup--p-em\">connection.cluster_address=cb-demo-0000.cb-demo.default.svc.cluster.local<\/em><\/pre>\n<p class=\"graf graf--p\">bucket name and bucket access credentials<\/p>\n<pre class=\"graf graf--p\"><em class=\"markup--em markup--p-em\">connection.bucket=travel-sample\r\nconnection.username=Administrator\r\nconnection.password=pa$$word<\/em><\/pre>\n<p><strong>Note:<\/strong> Enter credentials for bucket you want to move data too. In my example, I am using travel-sample bucket, with bucket user credentials.<\/p>\n<p class=\"graf graf--p\">Export the variable CONFLUENT_HOME<\/p>\n<pre class=\"graf graf--p\"><em class=\"markup--em markup--p-em\">export CONFLUENT_HOME=\/root\/confluent-5.2.1<\/em><\/pre>\n<p class=\"graf graf--p\">Start the kafka connector<\/p>\n<pre class=\"graf graf--p\"><em class=\"markup--em markup--p-em\">env CLASSPATH=.\/* connect-standalone $CONFLUENT_HOME\/etc\/schema-registry\/connect-avro-standalone.properties config\/quickstart-couchbase-source.properties<\/em><\/pre>\n<p class=\"graf graf--p\">When connector is started it created a kafka topic with the name <em class=\"markup--em markup--p-em\">cb-topic <\/em>and we can see all documents from Couchbase <em class=\"markup--em markup--p-em\">travel-sample<\/em> bucket get transferred to kafka topic <em class=\"markup--em markup--p-em\">cb-topic <\/em>as events<\/p>\n<figure class=\"graf graf--figure\"><img decoding=\"async\" class=\"graf-image\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/1*sMvmLmlIrG676cAZA5PCLA.png\" data-image-id=\"1*sMvmLmlIrG676cAZA5PCLA.png\" data-width=\"2852\" data-height=\"330\" \/><figcaption class=\"imageCaption\">Events in kafka topic\u00a0<em class=\"markup--em markup--figure-em\">cb-topic<\/em><\/figcaption><\/figure>\n<h4 class=\"graf graf--p\">Conclusion<\/h4>\n<p class=\"graf graf--p\">In the matter of minutes one can integrate Couchbase and Confluent Kafka. Ease of use, deployment and supportability are key factors in using technology. In this blog post we saw that one can seamlessly move data out of Couchbase into a kafka topic. Once data is in kafka topic, then using KSQL one can create real-time stream processing applications matching business needs.<\/p>\n<h4 class=\"graf graf--p\">References:<\/h4>\n<ol class=\"postList\">\n<li class=\"graf graf--li\"><a class=\"markup--anchor markup--li-anchor\" href=\"https:\/\/docs.confluent.io\/current\/quickstart\/ce-quickstart.html#ce-quickstart\" target=\"_blank\" rel=\"noopener noreferrer\" data-href=\"https:\/\/docs.confluent.io\/current\/quickstart\/ce-quickstart.html#ce-quickstart\">https:\/\/docs.confluent.io\/current\/quickstart\/ce-quickstart.html#ce-quickstart<\/a><\/li>\n<li class=\"graf graf--li\"><a class=\"markup--anchor markup--li-anchor\" href=\"https:\/\/docs.couchbase.com\/kafka-connector\/3.4\/quickstart.html\" target=\"_blank\" rel=\"noopener noreferrer\" data-href=\"https:\/\/docs.couchbase.com\/kafka-connector\/3.4\/quickstart.html\">https:\/\/docs.couchbase.com\/kafka-connector\/3.4\/quickstart.html<\/a><\/li>\n<li class=\"graf graf--li\"><a class=\"markup--anchor markup--li-anchor\" href=\"https:\/\/docs.couchbase.com\/kafka-connector\/3.4\/source-configuration-options.html\" target=\"_blank\" rel=\"noopener noreferrer\" data-href=\"https:\/\/docs.couchbase.com\/kafka-connector\/3.4\/source-configuration-options.html\">https:\/\/docs.couchbase.com\/kafka-connector\/3.4\/source-configuration-options.html<\/a><\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The premise is very simple: in the world of disparate technologies where one does not works or integrates well together, Couchbase &amp; Confluent Kafka are amazing products and are extremely complementary to each other. Couchbase is linearly scalable, distributed NoSQL [&hellip;]<\/p>\n","protected":false},"author":12023,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1814,2242,2225,2389,2201],"tags":[1295,1487],"ppma_author":[9071],"class_list":["post-7665","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-application-design","category-connectors","category-cloud","category-solutions","category-tools-sdks","tag-connectors","tag-kafka"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Utilizing Couchbase Kafka Connector to Ingest Data - The Couchbase Blog<\/title>\n<meta name=\"description\" content=\"In this blog post we will cover how seamlessly we can move data out of Couchbase and push into a Confluent Kafka topic as replication event.\" \/>\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.couchbase.com\/blog\/es\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Utilizing Couchbase Kafka Connector to Ingest Data\" \/>\n<meta property=\"og:description\" content=\"In this blog post we will cover how seamlessly we can move data out of Couchbase and push into a Confluent Kafka topic as replication event.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2019-09-13T17:57:08+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-05-25T11:15:24+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/09\/Screen-Shot-2019-09-12-at-11.23.48-AM.png\" \/>\n<meta name=\"author\" content=\"Ram Dhakne\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ram Dhakne\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\\\/\"},\"author\":{\"name\":\"Ram Dhakne\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/person\\\/219548e728c73c6f1ae06f994ebbfb13\"},\"headline\":\"Utilizing Couchbase Kafka Connector to Ingest Data\",\"datePublished\":\"2019-09-13T17:57:08+00:00\",\"dateModified\":\"2023-05-25T11:15:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\\\/\"},\"wordCount\":593,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2022\\\/11\\\/couchbase-nosql-dbaas.png\",\"keywords\":[\"connectors\",\"kafka\"],\"articleSection\":[\"Application Design\",\"Connectors\",\"Couchbase Capella\",\"Solutions\",\"Tools &amp; SDKs\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\\\/\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\\\/\",\"name\":\"Utilizing Couchbase Kafka Connector to Ingest Data - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2022\\\/11\\\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2019-09-13T17:57:08+00:00\",\"dateModified\":\"2023-05-25T11:15:24+00:00\",\"description\":\"In this blog post we will cover how seamlessly we can move data out of Couchbase and push into a Confluent Kafka topic as replication event.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2022\\\/11\\\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2022\\\/11\\\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Utilizing Couchbase Kafka Connector to Ingest Data\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/admin-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/person\\\/219548e728c73c6f1ae06f994ebbfb13\",\"name\":\"Ram Dhakne\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a1f4aec5276e885840e6a5179ddab527fd6e0e3d2451ca7fcb847e0135cd7e7a?s=96&d=mm&r=g0f4c71d7c27bda26464a202747e04acd\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a1f4aec5276e885840e6a5179ddab527fd6e0e3d2451ca7fcb847e0135cd7e7a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a1f4aec5276e885840e6a5179ddab527fd6e0e3d2451ca7fcb847e0135cd7e7a?s=96&d=mm&r=g\",\"caption\":\"Ram Dhakne\"},\"description\":\"Ram Dhakne is Solutions Consultant - US West at Couchbase. He currently helps Enterprise customers with their digital innovations journey and helping them adopt NoSQL technologies. His current interests are running persistent applications like Couchbase NoSQL server on Kubernetes clusters running on AKS, GKE, ACS and OpenShift, securing end-to-end on kubernetes. In his past life has worked on IaaS platforms (AWS, GCP, Azure &amp; Private Clouds), Enterprise Backup Target Products &amp; Backup Applications.\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/es\\\/author\\\/ram-dhaknecouchbase-com\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Utilizing Couchbase Kafka Connector to Ingest Data - The Couchbase Blog","description":"En esta entrada del blog vamos a cubrir c\u00f3mo sin problemas podemos mover los datos de Couchbase y empujar en un tema Confluent Kafka como evento de replicaci\u00f3n.","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.couchbase.com\/blog\/es\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/","og_locale":"es_MX","og_type":"article","og_title":"Utilizing Couchbase Kafka Connector to Ingest Data","og_description":"In this blog post we will cover how seamlessly we can move data out of Couchbase and push into a Confluent Kafka topic as replication event.","og_url":"https:\/\/www.couchbase.com\/blog\/es\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/","og_site_name":"The Couchbase Blog","article_published_time":"2019-09-13T17:57:08+00:00","article_modified_time":"2023-05-25T11:15:24+00:00","og_image":[{"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/09\/Screen-Shot-2019-09-12-at-11.23.48-AM.png","type":"","width":"","height":""}],"author":"Ram Dhakne","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Ram Dhakne","Est. reading time":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/"},"author":{"name":"Ram Dhakne","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/219548e728c73c6f1ae06f994ebbfb13"},"headline":"Utilizing Couchbase Kafka Connector to Ingest Data","datePublished":"2019-09-13T17:57:08+00:00","dateModified":"2023-05-25T11:15:24+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/"},"wordCount":593,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","keywords":["connectors","kafka"],"articleSection":["Application Design","Connectors","Couchbase Capella","Solutions","Tools &amp; SDKs"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/","url":"https:\/\/www.couchbase.com\/blog\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/","name":"Utilizing Couchbase Kafka Connector to Ingest Data - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2019-09-13T17:57:08+00:00","dateModified":"2023-05-25T11:15:24+00:00","description":"En esta entrada del blog vamos a cubrir c\u00f3mo sin problemas podemos mover los datos de Couchbase y empujar en un tema Confluent Kafka como evento de replicaci\u00f3n.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/ingest-data-into-confluent-kafka-via-couchbase-kafka-connector\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Utilizing Couchbase Kafka Connector to Ingest Data"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"El blog de Couchbase","description":"Couchbase, la base de datos NoSQL","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"El blog de Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/219548e728c73c6f1ae06f994ebbfb13","name":"Ram Dhakne","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/a1f4aec5276e885840e6a5179ddab527fd6e0e3d2451ca7fcb847e0135cd7e7a?s=96&d=mm&r=g0f4c71d7c27bda26464a202747e04acd","url":"https:\/\/secure.gravatar.com\/avatar\/a1f4aec5276e885840e6a5179ddab527fd6e0e3d2451ca7fcb847e0135cd7e7a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a1f4aec5276e885840e6a5179ddab527fd6e0e3d2451ca7fcb847e0135cd7e7a?s=96&d=mm&r=g","caption":"Ram Dhakne"},"description":"Ram Dhakne es Consultor de Soluciones - US West en Couchbase. Actualmente ayuda a los clientes empresariales con su viaje de innovaciones digitales y les ayuda a adoptar tecnolog\u00edas NoSQL. Sus intereses actuales son ejecutar aplicaciones persistentes como el servidor NoSQL Couchbase en cl\u00fasteres Kubernetes que se ejecutan en AKS, GKE, ACS y OpenShift, asegurando de extremo a extremo en kubernetes. En su vida pasada ha trabajado en plataformas IaaS (AWS, GCP, Azure &amp; Private Clouds), Enterprise Backup Target Products &amp; Backup Applications.","url":"https:\/\/www.couchbase.com\/blog\/es\/author\/ram-dhaknecouchbase-com\/"}]}},"acf":[],"authors":[{"term_id":9071,"user_id":12023,"is_guest":0,"slug":"ram-dhaknecouchbase-com","display_name":"Ram Dhakne","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/a1f4aec5276e885840e6a5179ddab527fd6e0e3d2451ca7fcb847e0135cd7e7a?s=96&d=mm&r=g","0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/7665","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/users\/12023"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=7665"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/7665\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=7665"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=7665"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=7665"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=7665"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}