{"id":2505,"date":"2017-01-23T15:24:50","date_gmt":"2017-01-23T15:24:49","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2505"},"modified":"2023-06-21T05:42:57","modified_gmt":"2023-06-21T12:42:57","slug":"transferring-data-from-cassandra-to-couchbase-using-spark","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/transferring-data-from-cassandra-to-couchbase-using-spark\/","title":{"rendered":"Transferencia de datos de Cassandra a Couchbase usando Spark"},"content":{"rendered":"<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><em><a style=\"text-decoration: none\" href=\"https:\/\/www.linkedin.com\/in\/shiv4nsh\"><span style=\"font-size: 14.6667px;font-family: Arial;color: #1155cc;background-color: transparent;text-decoration: underline;vertical-align: baseline\">Shivansh Srivastava<\/span><\/a><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\"> es un desarrollador pol\u00edglota y aficionado a Scala y Spark.<\/span><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">\u00a0Le gusta contribuir a proyectos de c\u00f3digo abierto, y ha contribuido a muchos proyectos como Apache Iota, Apache Spark, Apache Carbondata, <\/span><a style=\"text-decoration: none\" href=\"https:\/\/github.com\/couchbase\/couchbase-spark-connector\"><span style=\"font-size: 14.6667px;font-family: Arial;color: #1155cc;background-color: transparent;text-decoration: underline;vertical-align: baseline\">Conector Couchbase-Spark<\/span><\/a><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">Akka, Alpakka y muchos otros proyectos. Tiene un gran inter\u00e9s en las pr\u00f3ximas tecnolog\u00edas como IoT, DeepLearning, etc. C<\/span><\/em><em><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">n la actualidad ocupa el puesto de Ingeniero de Software Senior en Chirpanywhere Inc, una startup basada en IoT, donde gestiona muchos aspectos, desde la programaci\u00f3n del hardware hasta el dise\u00f1o de toda la soluci\u00f3n y su despliegue.\u00a0<\/span><\/em><\/p>\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">Hay muchos <\/span><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;font-weight: bold;vertical-align: baseline\">Bases de datos NoSQL<\/span><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\"> en el mercado como Cassandra, MongoDB, Couchbase y otros, y cada uno tiene pros y contras. <\/span><\/p>\n<p><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;font-weight: bold;vertical-align: baseline\">Tipos de bases de datos NoSQL<\/span><\/p>\n<p><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">Existen principalmente cuatro tipos de bases de datos NoSQL, a saber:<\/span><\/p>\n<ol style=\"margin-top: 0pt;margin-bottom: 0pt\">\n<li dir=\"ltr\" style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.6667px;background-color: transparent;vertical-align: baseline\">Columna<\/span><\/p>\n<\/li>\n<li dir=\"ltr\" style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.6667px;background-color: transparent;vertical-align: baseline\">Almac\u00e9n de claves y valores<\/span><\/p>\n<\/li>\n<li dir=\"ltr\" style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.6667px;background-color: transparent;vertical-align: baseline\">Orientaci\u00f3n documental<\/span><\/p>\n<\/li>\n<li dir=\"ltr\" style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.6667px;background-color: transparent;vertical-align: baseline\">Gr\u00e1fico<\/span><\/p>\n<\/li>\n<\/ol>\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">Las bases de datos que admiten m\u00e1s de un formato se denominan \"multimodelo\", como Couchbase, que admite bases de datos clave-valor y orientadas a documentos.<\/span><\/p>\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">A veces elegimos la base de datos equivocada para nuestra aplicaci\u00f3n y nos damos cuenta de esta dura verdad m\u00e1s adelante.<\/span><\/p>\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;font-weight: bold;vertical-align: baseline\">\u00bfY despu\u00e9s? \u00bfQu\u00e9 debemos hacer?<\/span><\/p>\n<p><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">Tal es el caso de nuestra experiencia, en la que utiliz\u00e1bamos Cassandra como base de datos y m\u00e1s tarde descubrimos que no satisfac\u00eda todas nuestras necesidades. Necesit\u00e1bamos encontrar una nueva base de datos y descubrimos que Couchbase era la adecuada.<\/span><\/p>\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">La principal dificultad fue averiguar c\u00f3mo deb\u00edamos transferir nuestros datos de <\/span><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;font-weight: bold;vertical-align: baseline\">De Cassandra a Couchbase<\/span><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">porque no hab\u00eda ning\u00fan plugin disponible.<\/span><\/p>\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">En esta entrada del blog voy a describir el c\u00f3digo que escrib\u00ed que transfiere datos de Cassandra a Couchbase usando Spark.<\/span><\/p>\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">Todo el c\u00f3digo est\u00e1 disponible aqu\u00ed: <\/span><a style=\"text-decoration: none\" href=\"https:\/\/github.com\/shiv4nsh\/cassandra-couchbase-transfer-plugin\"><span style=\"font-size: 18px;font-family: Arial;color: #4078c0;background-color: #fafafa;text-decoration: underline;vertical-align: baseline\">cassandra-couchbase-transfer-plugin<\/span><\/a><\/p>\n<h2 dir=\"ltr\" style=\"line-height: 1.38;margin-top: 18pt;margin-bottom: 0pt\"><span style=\"font-size: 21.3333px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">Explicaci\u00f3n del c\u00f3digo<\/span><\/h2>\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><br class=\"kix-line-break\" \/><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">Aqu\u00ed, estoy leyendo datos de Cassandra y escribi\u00e9ndolos de nuevo en Couchbase. Este sencillo c\u00f3digo resuelve nuestro problema.<\/span><\/p>\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">Los pasos a seguir son:<\/span><\/p>\n<ol style=\"margin-top: 0pt;margin-bottom: 0pt\">\n<li dir=\"ltr\" style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.6667px;background-color: transparent;font-weight: bold;vertical-align: baseline\">Lectura de la configuraci\u00f3n: <\/span><br class=\"kix-line-break\" \/><span style=\"font-size: 12px;color: #000080;font-weight: bold;vertical-align: baseline\">val <\/span><span style=\"font-size: 12px;color: #660e7a;font-style: italic;vertical-align: baseline\">config <\/span><span style=\"font-size: 12px;vertical-align: baseline\">= ConfigFactory.<\/span><span style=\"font-size: 12px;font-style: italic;vertical-align: baseline\">carga<\/span><span style=\"font-size: 12px;vertical-align: baseline\">()<\/span><br class=\"kix-line-break\" \/><span style=\"font-size: 12px;color: #808080;font-style: italic;vertical-align: baseline\">\/\/Configuraci\u00f3n de la base de datos<\/span><br class=\"kix-line-break\" \/><span style=\"font-size: 12px;color: #000080;font-weight: bold;vertical-align: baseline\">val <\/span><span style=\"font-size: 12px;color: #660e7a;font-style: italic;vertical-align: baseline\">bucketName <\/span><span style=\"font-size: 12px;vertical-align: baseline\">= <\/span><span style=\"font-size: 12px;color: #660e7a;font-style: italic;vertical-align: baseline\">config<\/span><span style=\"font-size: 12px;vertical-align: baseline\">.getString(<\/span><span style=\"font-size: 12px;color: #008000;font-weight: bold;vertical-align: baseline\">\"couchbase.bucketName\"<\/span><span style=\"font-size: 12px;vertical-align: baseline\">)<\/span><br class=\"kix-line-break\" \/><span style=\"font-size: 12px;color: #000080;font-weight: bold;vertical-align: baseline\">val <\/span><span style=\"font-size: 12px;color: #660e7a;font-style: italic;vertical-align: baseline\">couchbaseHost <\/span><span style=\"font-size: 12px;vertical-align: baseline\">= <\/span><span style=\"font-size: 12px;color: #660e7a;font-style: italic;vertical-align: baseline\">config<\/span><span style=\"font-size: 12px;vertical-align: baseline\">.getString(<\/span><span style=\"font-size: 12px;color: #008000;font-weight: bold;vertical-align: baseline\">\"couchbase.host\"<\/span><span style=\"font-size: 12px;vertical-align: baseline\">)<\/span><br class=\"kix-line-break\" \/><span style=\"font-size: 12px;color: #808080;font-style: italic;vertical-align: baseline\">\/\/Configuraci\u00f3n de Cassandra<\/span><br class=\"kix-line-break\" \/><span style=\"font-size: 12px;color: #000080;font-weight: bold;vertical-align: baseline\">val <\/span><span style=\"font-size: 12px;color: #660e7a;font-style: italic;vertical-align: baseline\">keypaceName <\/span><span style=\"font-size: 12px;vertical-align: baseline\">= <\/span><span style=\"font-size: 12px;color: #660e7a;font-style: italic;vertical-align: baseline\">config<\/span><span style=\"font-size: 12px;vertical-align: baseline\">.getString(<\/span><span style=\"font-size: 12px;color: #008000;font-weight: bold;vertical-align: baseline\">\"cassandra.keyspaceName\"<\/span><span style=\"font-size: 12px;vertical-align: baseline\">)<\/span><br class=\"kix-line-break\" \/><span style=\"font-size: 12px;color: #000080;font-weight: bold;vertical-align: baseline\">val <\/span><span style=\"font-size: 12px;color: #660e7a;font-style: italic;vertical-align: baseline\">tableName <\/span><span style=\"font-size: 12px;vertical-align: baseline\">= <\/span><span style=\"font-size: 12px;color: #660e7a;font-style: italic;vertical-align: baseline\">config<\/span><span style=\"font-size: 12px;vertical-align: baseline\">.getString(<\/span><span style=\"font-size: 12px;color: #008000;font-weight: bold;vertical-align: baseline\">\"cassandra.tableName\"<\/span><span style=\"font-size: 12px;vertical-align: baseline\">)<\/span><br class=\"kix-line-break\" \/><span style=\"font-size: 12px;color: #000080;font-weight: bold;vertical-align: baseline\">val <\/span><span style=\"font-size: 12px;color: #660e7a;font-style: italic;vertical-align: baseline\">idFeild <\/span><span style=\"font-size: 12px;vertical-align: baseline\">= <\/span><span style=\"font-size: 12px;color: #660e7a;font-style: italic;vertical-align: baseline\">config<\/span><span style=\"font-size: 12px;vertical-align: baseline\">.getString(<\/span><span style=\"font-size: 12px;color: #008000;font-weight: bold;vertical-align: baseline\">\"cassandra.idFeild\"<\/span><span style=\"font-size: 12px;vertical-align: baseline\">)<\/span><br class=\"kix-line-break\" \/><span style=\"font-size: 12px;color: #000080;font-weight: bold;vertical-align: baseline\">val <\/span><span style=\"font-size: 12px;color: #660e7a;font-style: italic;vertical-align: baseline\">cassandraHost <\/span><span style=\"font-size: 12px;vertical-align: baseline\">= <\/span><span style=\"font-size: 12px;color: #660e7a;font-style: italic;vertical-align: baseline\">config<\/span><span style=\"font-size: 12px;vertical-align: baseline\">.getString(<\/span><span style=\"font-size: 12px;color: #008000;font-weight: bold;vertical-align: baseline\">\"cassandra.host\"<\/span><span style=\"font-size: 12px;vertical-align: baseline\">)<\/span><br class=\"kix-line-break\" \/><span style=\"font-size: 12px;color: #000080;font-weight: bold;vertical-align: baseline\">val <\/span><span style=\"font-size: 12px;color: #660e7a;font-style: italic;vertical-align: baseline\">cassandraPort <\/span><span style=\"font-size: 12px;vertical-align: baseline\">= <\/span><span style=\"font-size: 12px;color: #660e7a;font-style: italic;vertical-align: baseline\">config<\/span><span style=\"font-size: 12px;vertical-align: baseline\">.getInt(<\/span><span style=\"font-size: 12px;color: #008000;font-weight: bold;vertical-align: baseline\">\"cassandra.port\"<\/span><span style=\"font-size: 12px;vertical-align: baseline\">)<\/span><\/p>\n<\/li>\n<li dir=\"ltr\" style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.6667px;background-color: transparent;font-weight: bold;vertical-align: baseline\">Establecimiento de la configuraci\u00f3n de Spark y creaci\u00f3n de la sesi\u00f3n de Spark:<\/span><br class=\"kix-line-break\" \/><span style=\"font-size: 12px;color: #000080;font-weight: bold;vertical-align: baseline\">val <\/span><span style=\"font-size: 12px;color: #660e7a;font-style: italic;vertical-align: baseline\">conf <\/span><span style=\"font-size: 12px;vertical-align: baseline\">= <\/span><span style=\"font-size: 12px;color: #000080;font-weight: bold;vertical-align: baseline\">nuevo <\/span><span style=\"font-size: 12px;vertical-align: baseline\">SparkConf()<\/span><br class=\"kix-line-break\" \/><span style=\"font-size: 12px;vertical-align: baseline\">\u00a0\u00a0.setAppName(<\/span><span style=\"font-size: 12px;color: #008000;font-weight: bold;vertical-align: baseline\">s \"CouchbaseCassandraTransferPlugin\"<\/span><span style=\"font-size: 12px;vertical-align: baseline\">)<\/span><br class=\"kix-line-break\" \/><span style=\"font-size: 12px;vertical-align: baseline\">\u00a0.setMaster(<\/span><span style=\"font-size: 12px;color: #008000;font-weight: bold;vertical-align: baseline\">\"local[*]\"<\/span><span style=\"font-size: 12px;vertical-align: baseline\">)<\/span><br class=\"kix-line-break\" \/><span style=\"font-size: 12px;vertical-align: baseline\">\u00a0.set(<\/span><span style=\"font-size: 12px;color: #008000;font-weight: bold;vertical-align: baseline\">s \"com.couchbase.bucket.<\/span><span style=\"font-size: 12px;color: #00b8bb;font-weight: bold;vertical-align: baseline\">$<\/span><span style=\"font-size: 12px;color: #660e7a;font-style: italic;vertical-align: baseline\">bucketName<\/span><span style=\"font-size: 12px;color: #008000;font-weight: bold;vertical-align: baseline\">&#8220;<\/span><span style=\"font-size: 12px;vertical-align: baseline\">, <\/span><span style=\"font-size: 12px;color: #008000;font-weight: bold;vertical-align: baseline\">&#8220;&#8221;<\/span><span style=\"font-size: 12px;vertical-align: baseline\">)<\/span><br class=\"kix-line-break\" \/><span style=\"font-size: 12px;vertical-align: baseline\">\u00a0.set(<\/span><span style=\"font-size: 12px;color: #008000;font-weight: bold;vertical-align: baseline\">\"com.couchbase.nodes\"<\/span><span style=\"font-size: 12px;vertical-align: baseline\">, <\/span><span style=\"font-size: 12px;color: #660e7a;font-style: italic;vertical-align: baseline\">couchbaseHost<\/span><span style=\"font-size: 12px;vertical-align: baseline\">)<\/span><br class=\"kix-line-break\" \/><span style=\"font-size: 12px;vertical-align: baseline\">\u00a0.set(<\/span><span style=\"font-size: 12px;color: #008000;font-weight: bold;vertical-align: baseline\">\"spark.cassandra.connection.host\"<\/span><span style=\"font-size: 12px;vertical-align: baseline\">, <\/span><span style=\"font-size: 12px;color: #660e7a;font-style: italic;vertical-align: baseline\">cassandraHost<\/span><span style=\"font-size: 12px;vertical-align: baseline\">)<\/span><br class=\"kix-line-break\" \/><span style=\"font-size: 12px;vertical-align: baseline\">\u00a0.set(<\/span><span style=\"font-size: 12px;color: #008000;font-weight: bold;vertical-align: baseline\">\"spark.cassandra.connection.port\"<\/span><span style=\"font-size: 12px;vertical-align: baseline\">, <\/span><span style=\"font-size: 12px;color: #660e7a;font-style: italic;vertical-align: baseline\">cassandraPort<\/span><span style=\"font-size: 12px;vertical-align: baseline\">.toString)<\/span><br class=\"kix-line-break\" \/><span style=\"font-size: 12px;color: #000080;font-weight: bold;vertical-align: baseline\">val <\/span><span style=\"font-size: 12px;color: #660e7a;font-style: italic;vertical-align: baseline\">chispa <\/span><span style=\"font-size: 12px;vertical-align: baseline\">= SparkSession.<\/span><span style=\"font-size: 12px;font-style: italic;vertical-align: baseline\">constructor<\/span><span style=\"font-size: 12px;vertical-align: baseline\">().config(<\/span><span style=\"font-size: 12px;color: #660e7a;font-style: italic;vertical-align: baseline\">conf<\/span><span style=\"font-size: 12px;vertical-align: baseline\">).getOrCreate()<\/span><br class=\"kix-line-break\" \/><span style=\"font-size: 12px;color: #000080;font-weight: bold;vertical-align: baseline\">val <\/span><span style=\"font-size: 12px;color: #660e7a;font-style: italic;vertical-align: baseline\">sc <\/span><span style=\"font-size: 12px;vertical-align: baseline\">= <\/span><span style=\"font-size: 12px;color: #660e7a;font-style: italic;vertical-align: baseline\">chispa<\/span><span style=\"font-size: 12px;vertical-align: baseline\">.sparkContext<\/span><\/p>\n<\/li>\n<li dir=\"ltr\" style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.6667px;background-color: transparent;font-weight: bold;vertical-align: baseline\">Lectura de datos de Cassandra:<\/span><br class=\"kix-line-break\" \/><span style=\"font-size: 14.6667px;background-color: transparent;vertical-align: baseline\">\u00a0\u00a0<\/span><span style=\"font-size: 12px;color: #000080;font-weight: bold;vertical-align: baseline\">val <\/span><span style=\"font-size: 12px;color: #660e7a;font-style: italic;vertical-align: baseline\">cassandraRDD <\/span><span style=\"font-size: 12px;vertical-align: baseline\">= <\/span><span style=\"font-size: 12px;color: #660e7a;font-style: italic;vertical-align: baseline\">chispa<\/span><span style=\"font-size: 12px;vertical-align: baseline\">.leer<\/span><br class=\"kix-line-break\" \/><span style=\"font-size: 12px;vertical-align: baseline\">\u00a0\u00a0.format(<\/span><span style=\"font-size: 12px;color: #008000;font-weight: bold;vertical-align: baseline\">\"org.apache.spark.sql.cassandra\"<\/span><span style=\"font-size: 12px;vertical-align: baseline\">)<\/span><br class=\"kix-line-break\" \/><span style=\"font-size: 12px;vertical-align: baseline\">\u00a0\u00a0.opciones(<\/span><span style=\"font-size: 12px;color: #660e7a;font-style: italic;vertical-align: baseline\">Mapa<\/span><span style=\"font-size: 12px;vertical-align: baseline\">(<\/span><span style=\"font-size: 12px;color: #008000;font-weight: bold;vertical-align: baseline\">\"mesa\" <\/span><span style=\"font-size: 12px;vertical-align: baseline\">-&gt; <\/span><span style=\"font-size: 12px;color: #660e7a;font-style: italic;vertical-align: baseline\">tableName<\/span><span style=\"font-size: 12px;vertical-align: baseline\">, <\/span><span style=\"font-size: 12px;color: #008000;font-weight: bold;vertical-align: baseline\">\"espacio clave\" <\/span><span style=\"font-size: 12px;vertical-align: baseline\">-&gt; <\/span><span style=\"font-size: 12px;color: #660e7a;font-style: italic;vertical-align: baseline\">keypaceName<\/span><span style=\"font-size: 12px;vertical-align: baseline\">))<\/span><br class=\"kix-line-break\" \/><span style=\"font-size: 12px;vertical-align: baseline\">\u00a0\u00a0.load()<\/span><\/p>\n<\/li>\n<li dir=\"ltr\" style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.6667px;background-color: transparent;font-weight: bold;vertical-align: baseline\">Comprobaci\u00f3n del campo id:<\/span><br class=\"kix-line-break\" \/><span style=\"font-size: 14.6667px;background-color: transparent;vertical-align: baseline\">El campo id se comprueba para ver si existe. Luego se usa como id en Couchbase o se genera un id aleatorio y se asigna al documento.<\/span><br class=\"kix-line-break\" \/><span style=\"font-size: 12px;color: #000080;font-weight: bold;vertical-align: baseline\">importar <\/span><span style=\"font-size: 12px;vertical-align: baseline\">org.apache.spark.sql.functions._<\/span><br class=\"kix-line-break\" \/><span style=\"font-size: 12px;color: #000080;font-weight: bold;vertical-align: baseline\">val <\/span><span style=\"font-size: 12px;color: #660e7a;font-style: italic;vertical-align: baseline\">uuidUDF <\/span><span style=\"font-size: 12px;vertical-align: baseline\">= <\/span><span style=\"font-size: 12px;font-style: italic;vertical-align: baseline\">udf<\/span><span style=\"font-size: 12px;vertical-align: baseline\">(CouchbaseHelper.<\/span><span style=\"font-size: 12px;font-style: italic;vertical-align: baseline\">getUUID <\/span><span style=\"font-size: 12px;vertical-align: baseline\">_)<\/span><br class=\"kix-line-break\" \/><span style=\"font-size: 12px;color: #000080;font-weight: bold;vertical-align: baseline\">val <\/span><span style=\"font-size: 12px;color: #660e7a;font-style: italic;vertical-align: baseline\">rddToBeWritten <\/span><span style=\"font-size: 12px;vertical-align: baseline\">= <\/span><span style=\"font-size: 12px;color: #000080;font-weight: bold;vertical-align: baseline\">si <\/span><span style=\"font-size: 12px;vertical-align: baseline\">(<\/span><span style=\"font-size: 12px;color: #660e7a;font-style: italic;vertical-align: baseline\">cassandraRDD<\/span><span style=\"font-size: 12px;vertical-align: baseline\">.columns.contains(<\/span><span style=\"font-size: 12px;color: #660e7a;font-style: italic;vertical-align: baseline\">idFeild<\/span><span style=\"font-size: 12px;vertical-align: baseline\">)) {<\/span><br class=\"kix-line-break\" \/><span style=\"font-size: 12px;vertical-align: baseline\">\u00a0\u00a0<\/span><span style=\"font-size: 12px;color: #660e7a;font-style: italic;vertical-align: baseline\">cassandraRDD<\/span><span style=\"font-size: 12px;vertical-align: baseline\">.withColumn(<\/span><span style=\"font-size: 12px;color: #008000;font-weight: bold;vertical-align: baseline\">\"META_ID\"<\/span><span style=\"font-size: 12px;vertical-align: baseline\">, <\/span><span style=\"font-size: 12px;color: #660e7a;font-style: italic;vertical-align: baseline\">cassandraRDD<\/span><span style=\"font-size: 12px;vertical-align: baseline\">(<\/span><span style=\"font-size: 12px;color: #660e7a;font-style: italic;vertical-align: baseline\">idFeild<\/span><span style=\"font-size: 12px;vertical-align: baseline\">))<\/span><br class=\"kix-line-break\" \/><span style=\"font-size: 12px;vertical-align: baseline\">} <\/span><span style=\"font-size: 12px;color: #000080;font-weight: bold;vertical-align: baseline\">si no <\/span><span style=\"font-size: 12px;vertical-align: baseline\">{<\/span><br class=\"kix-line-break\" \/><span style=\"font-size: 12px;vertical-align: baseline\">\u00a0\u00a0<\/span><span style=\"font-size: 12px;color: #660e7a;font-style: italic;vertical-align: baseline\">cassandraRDD<\/span><span style=\"font-size: 12px;vertical-align: baseline\">.withColumn(<\/span><span style=\"font-size: 12px;color: #008000;font-weight: bold;vertical-align: baseline\">\"META_ID\"<\/span><span style=\"font-size: 12px;vertical-align: baseline\">, <\/span><span style=\"font-size: 12px;color: #660e7a;font-style: italic;vertical-align: baseline\">uuidUDF<\/span><span style=\"font-size: 12px;vertical-align: baseline\">())<\/span><br class=\"kix-line-break\" \/><span style=\"font-size: 12px;vertical-align: baseline\">}<\/span><br class=\"kix-line-break\" \/><br class=\"kix-line-break\" \/><span style=\"font-size: 14.6667px;background-color: transparent;font-weight: bold;vertical-align: baseline\">En otro archivo:<\/span><br class=\"kix-line-break\" \/><span style=\"font-size: 12px;color: #000080;font-weight: bold;vertical-align: baseline\">objeto <\/span><span style=\"font-size: 12px;vertical-align: baseline\">CouchbaseHelper {<\/span><br class=\"kix-line-break\" \/><span style=\"font-size: 12px;color: #000080;font-weight: bold;vertical-align: baseline\">def <\/span><span style=\"font-size: 12px;vertical-align: baseline\">getUUID: <\/span><span style=\"font-size: 12px;color: #20999d;vertical-align: baseline\">Cadena <\/span><span style=\"font-size: 12px;vertical-align: baseline\">= UUID.<\/span><span style=\"font-size: 12px;font-style: italic;vertical-align: baseline\">randomUUID<\/span><span style=\"font-size: 12px;vertical-align: baseline\">().toString<\/span><br class=\"kix-line-break\" \/><span style=\"font-size: 12px;vertical-align: baseline\">}<\/span><\/p>\n<\/li>\n<li dir=\"ltr\" style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.6667px;background-color: transparent;font-weight: bold;vertical-align: baseline\">Escribir en Couchbase:<\/span><br class=\"kix-line-break\" \/><span style=\"font-size: 12px;color: #660e7a;font-style: italic;vertical-align: baseline\">rddToBeWritten<\/span><span style=\"font-size: 12px;vertical-align: baseline\">.write.couchbase()<\/span><\/p>\n<\/li>\n<\/ol>\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">Puedes ejecutar este c\u00f3digo directamente para transferir datos de Cassandra a Couchbase <\/span><span style=\"font-size: 14.6667px;font-family: Arial;color: #333333;vertical-align: baseline\">-<\/span><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\"> todo lo que necesitas hacer es alguna configuraci\u00f3n.<\/span><\/p>\n<h2 dir=\"ltr\" style=\"line-height: 1.38;margin-top: 18pt;margin-bottom: 6pt\"><span style=\"font-size: 21.3333px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">Configuraciones<\/span><\/h2>\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">Todas las configuraciones se pueden realizar mediante la configuraci\u00f3n de los par\u00e1metros <\/span><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;font-weight: bold;vertical-align: baseline\">variables de entorno<\/span><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">.<\/span><\/p>\n<ol style=\"margin-top: 0pt;margin-bottom: 0pt\">\n<li dir=\"ltr\" style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.6667px;background-color: transparent;font-weight: bold;vertical-align: baseline\">Configuraci\u00f3n de Couchbase:<\/span><\/p>\n<\/li>\n<\/ol>\n<div dir=\"ltr\" style=\"margin-left: 1.5pt\">\n<table style=\"border: none\">\n<tbody>\n<tr style=\"height: 0px\">\n<td style=\"vertical-align: top;padding: 7px 7px 7px 7px;border: solid #000000 1px\">\n<p dir=\"ltr\" style=\"line-height: 1.2;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;font-weight: bold;vertical-align: baseline\">Nombre de la configuraci\u00f3n<\/span><\/p>\n<\/td>\n<td style=\"vertical-align: top;padding: 7px 7px 7px 7px;border: solid #000000 1px\">\n<p dir=\"ltr\" style=\"line-height: 1.2;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;font-weight: bold;vertical-align: baseline\">Valor por defecto<\/span><\/p>\n<\/td>\n<td style=\"vertical-align: top;padding: 7px 7px 7px 7px;border: solid #000000 1px\">\n<p dir=\"ltr\" style=\"line-height: 1.2;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;font-weight: bold;vertical-align: baseline\">Descripci\u00f3n<\/span><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 0px\">\n<td style=\"vertical-align: top;padding: 7px 7px 7px 7px;border: solid #000000 1px\">\n<p dir=\"ltr\" style=\"line-height: 1.2;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 12px;font-family: Arial;color: #660e7a;font-weight: bold;vertical-align: baseline\">COUCHBASE_URL<\/span><\/p>\n<\/td>\n<td style=\"vertical-align: top;padding: 7px 7px 7px 7px;border: solid #000000 1px\">\n<p dir=\"ltr\" style=\"line-height: 1.2;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 12px;font-family: Arial;color: #008000;font-weight: bold;vertical-align: baseline\">\"localhost\"<\/span><\/p>\n<\/td>\n<td style=\"vertical-align: top;padding: 7px 7px 7px 7px;border: solid #000000 1px\">\n<p dir=\"ltr\" style=\"line-height: 1.2;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">El nombre de host para Couchbase.<\/span><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 0px\">\n<td style=\"vertical-align: top;padding: 7px 7px 7px 7px;border: solid #000000 1px\">\n<p dir=\"ltr\" style=\"line-height: 1.2;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 12px;font-family: Arial;color: #660e7a;font-weight: bold;vertical-align: baseline\">COUCHBASE_BUCKETNAME<\/span><\/p>\n<\/td>\n<td style=\"vertical-align: top;padding: 7px 7px 7px 7px;border: solid #000000 1px\">\n<p dir=\"ltr\" style=\"line-height: 1.2;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 12px;font-family: Arial;color: #008000;font-weight: bold;vertical-align: baseline\">\"foobar\"<\/span><\/p>\n<\/td>\n<td style=\"vertical-align: top;padding: 7px 7px 7px 7px;border: solid #000000 1px\">\n<p dir=\"ltr\" style=\"line-height: 1.2;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">El nombre del cubo al que deben transferirse los datos.<\/span><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<ol style=\"margin-top: 0pt;margin-bottom: 0pt\" start=\"2\">\n<li dir=\"ltr\" style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.6667px;background-color: transparent;font-weight: bold;vertical-align: baseline\">Configuraci\u00f3n de Cassandra:<\/span><\/p>\n<\/li>\n<\/ol>\n<div dir=\"ltr\" style=\"margin-left: 0pt\">\n<table style=\"border: none\">\n<tbody>\n<tr style=\"height: 0px\">\n<td style=\"vertical-align: top;padding: 7px 7px 7px 7px;border: solid #000000 1px\">\n<p dir=\"ltr\" style=\"line-height: 1.2;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;font-weight: bold;vertical-align: baseline\">Nombre de la configuraci\u00f3n<\/span><\/p>\n<\/td>\n<td style=\"vertical-align: top;padding: 7px 7px 7px 7px;border: solid #000000 1px\">\n<p dir=\"ltr\" style=\"line-height: 1.2;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;font-weight: bold;vertical-align: baseline\">Valor por defecto<\/span><\/p>\n<\/td>\n<td style=\"vertical-align: top;padding: 7px 7px 7px 7px;border: solid #000000 1px\">\n<p dir=\"ltr\" style=\"line-height: 1.2;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;font-weight: bold;vertical-align: baseline\">Descripci\u00f3n<\/span><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 0px\">\n<td style=\"vertical-align: top;padding: 7px 7px 7px 7px;border: solid #000000 1px\">\n<p dir=\"ltr\" style=\"line-height: 1.2;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 12px;font-family: Arial;color: #660e7a;font-weight: bold;vertical-align: baseline\">CASSANDRA_URL<\/span><\/p>\n<\/td>\n<td style=\"vertical-align: top;padding: 7px 7px 7px 7px;border: solid #000000 1px\">\n<p dir=\"ltr\" style=\"line-height: 1.2;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 12px;font-family: Arial;color: #008000;font-weight: bold;vertical-align: baseline\">\"localhost\"<\/span><\/p>\n<\/td>\n<td style=\"vertical-align: top;padding: 7px 7px 7px 7px;border: solid #000000 1px\">\n<p dir=\"ltr\" style=\"line-height: 1.2;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">El nombre de host para Cassandra.<\/span><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 0px\">\n<td style=\"vertical-align: top;padding: 7px 7px 7px 7px;border: solid #000000 1px\">\n<p dir=\"ltr\" style=\"line-height: 1.2;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 12px;font-family: Arial;color: #660e7a;font-weight: bold;vertical-align: baseline\">PUERTO DE CASANDRA<\/span><\/p>\n<\/td>\n<td style=\"vertical-align: top;padding: 7px 7px 7px 7px;border: solid #000000 1px\">\n<p dir=\"ltr\" style=\"line-height: 1.2;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 12px;font-family: Arial;color: #0000ff;font-weight: bold;vertical-align: baseline\">9042<\/span><\/p>\n<\/td>\n<td style=\"vertical-align: top;padding: 7px 7px 7px 7px;border: solid #000000 1px\">\n<p dir=\"ltr\" style=\"line-height: 1.2;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">El puerto para el Cassandra.<\/span><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 0px\">\n<td style=\"vertical-align: top;padding: 7px 7px 7px 7px;border: solid #000000 1px\">\n<p dir=\"ltr\" style=\"line-height: 1.2;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 12px;font-family: Arial;color: #660e7a;font-weight: bold;vertical-align: baseline\">NOMBRE_CLAVE_CASSANDRA<\/span><\/p>\n<\/td>\n<td style=\"vertical-align: top;padding: 7px 7px 7px 7px;border: solid #000000 1px\">\n<p dir=\"ltr\" style=\"line-height: 1.2;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 12px;font-family: Arial;color: #008000;font-weight: bold;vertical-align: baseline\">\"foobar\"<\/span><\/p>\n<\/td>\n<td style=\"vertical-align: top;padding: 7px 7px 7px 7px;border: solid #000000 1px\">\n<p dir=\"ltr\" style=\"line-height: 1.2;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">El nombre del espacio de claves de Cassandra<\/span><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 0px\">\n<td style=\"vertical-align: top;padding: 7px 7px 7px 7px;border: solid #000000 1px\">\n<p dir=\"ltr\" style=\"line-height: 1.2;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 12px;font-family: Arial;color: #660e7a;font-weight: bold;vertical-align: baseline\">CASSANDRA_TABLENAME<\/span><\/p>\n<\/td>\n<td style=\"vertical-align: top;padding: 7px 7px 7px 7px;border: solid #000000 1px\">\n<p dir=\"ltr\" style=\"line-height: 1.2;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 12px;font-family: Arial;color: #008000;font-weight: bold;vertical-align: baseline\">\"testcouchbase\"<\/span><\/p>\n<\/td>\n<td style=\"vertical-align: top;padding: 7px 7px 7px 7px;border: solid #000000 1px\">\n<p dir=\"ltr\" style=\"line-height: 1.2;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">El nombre de la tabla que debe transferirse.<\/span><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 0px\">\n<td style=\"vertical-align: top;padding: 7px 7px 7px 7px;border: solid #000000 1px\">\n<p dir=\"ltr\" style=\"line-height: 1.2;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 12px;font-family: Arial;color: #660e7a;font-weight: bold;vertical-align: baseline\">CASSANDRA_ID_FEILD_NAME<\/span><\/p>\n<\/td>\n<td style=\"vertical-align: top;padding: 7px 7px 7px 7px;border: solid #000000 1px\">\n<p dir=\"ltr\" style=\"line-height: 1.2;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 12px;font-family: Arial;color: #008000;font-weight: bold;vertical-align: baseline\">\"id\"<\/span><\/p>\n<\/td>\n<td style=\"vertical-align: top;padding: 7px 7px 7px 7px;border: solid #000000 1px\">\n<p dir=\"ltr\" style=\"line-height: 1.2;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">El nombre del campo que debe usarse como id del documento de Couchbase, si el nombre del campo no coincide con ninguna columna da un id aleatorio al documento.<\/span><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>&nbsp;<\/p>\n<h2 dir=\"ltr\" style=\"line-height: 1.38;margin-top: 18pt;margin-bottom: 0pt\"><span style=\"font-size: 21.3333px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">C\u00f3digo en acci\u00f3n<\/span><\/h2>\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;font-weight: bold;vertical-align: baseline\">Cassandra lado:<\/span><\/p>\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">As\u00ed es como se ven los datos en el lado de Cassandra.<\/span><\/p>\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\"><img loading=\"lazy\" decoding=\"async\" style=\"border-width: initial;border-style: none\" src=\"https:\/\/lh4.googleusercontent.com\/hPpTDkKHteHM8QbKXuGhrq6GGCI3EmfEIm-Kjq1sj3tE_VQC1QOqur81z_-uiTdhe_WsgtzmMgK2A4ZJIapyUtgCeQ4GyYAB6WvY6VBtxaNVzW9RXLPje4lV_KHAX_tWJrt9Vm-M\" alt=\"Cassandra1.png\" width=\"624\" height=\"192\" \/><\/span><\/p>\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;font-weight: bold;vertical-align: baseline\">Lado Couchbase:<\/span><\/p>\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;font-weight: bold;vertical-align: baseline\">Caso 1: <\/span><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">Cuando el id existe y el mismo puede ser usado como id de documento Couchbase.<\/span><\/p>\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;font-weight: bold;vertical-align: baseline\"><img loading=\"lazy\" decoding=\"async\" style=\"border-width: initial;border-style: none\" src=\"https:\/\/lh5.googleusercontent.com\/3P-yC_hVaNYPVGVIGSqihpF3Lrc7ipnhCnj61hv-_ht9obTW6AAZay5LgeZDPj962vQkQHUt3GTkgioaNaz4nSLb9pQhjBenwD_cwHDzB5awxFXAlMfcoIqxSHeE6bB38nYMdZPc\" alt=\"Couchbase_with_id.png\" width=\"624\" height=\"148\" \/><\/span><\/p>\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;font-weight: bold;vertical-align: baseline\">Caso 2: <\/span><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">Cuando el nombre del identificador no existe y necesitamos asignar un identificador aleatorio a los documentos.<\/span><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;font-weight: bold;vertical-align: baseline\"><img loading=\"lazy\" decoding=\"async\" style=\"border-width: initial;border-style: none\" src=\"https:\/\/lh4.googleusercontent.com\/39TlV6v8rM_2z9i5trW22E8soam4RsY3KeL1Gtac3Q2cfcsirnzr23XWHRv8Tl-Zl6mH7u-yau1cKmDNiU-Tmjq0S-5HwOfXN9olXBuO4l5ZdGfEcdY77qKsHjBe5COziu3sIQQN\" alt=\"Couchbase_idChanged.png\" width=\"624\" height=\"164\" \/><\/span><\/p>\n<h2 dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 21.3333px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">C\u00f3mo ejecutar el plugin de transferencia Cassandra-Couchbase<\/span><\/h2>\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">Pasos para ejecutar el c\u00f3digo:<\/span><\/p>\n<ol style=\"margin-top: 0pt;margin-bottom: 0pt\">\n<li dir=\"ltr\" style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.6667px;background-color: transparent;vertical-align: baseline\">Descarga el c\u00f3digo del repositorio.<\/span><\/p>\n<\/li>\n<li dir=\"ltr\" style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.6667px;background-color: transparent;vertical-align: baseline\">Configure las variables de entorno de acuerdo con la configuraci\u00f3n.<\/span><\/p>\n<\/li>\n<li dir=\"ltr\" style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><span style=\"font-size: 14.6667px;background-color: transparent;vertical-align: baseline\"><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;vertical-align: baseline\">Ejecute el proyecto con <\/span><span style=\"font-size: 14.6667px;font-family: Arial;color: #000000;background-color: transparent;font-weight: bold;vertical-align: baseline\">ejecutar sbt<\/span><\/span><\/p>\n<\/li>\n<\/ol>\n<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\">Si desea escribir sobre Couchbase y participar en nuestro programa de escritura de la comunidad, \u00bfpor qu\u00e9 no?<a href=\"https:\/\/www.couchbase.com\/blog\/es\/community\/community-writers-program\/\"> m\u00e1s informaci\u00f3n\u00a0<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Shivansh Srivastava is a polyglot developer and a Scala ,Spark aficionado\u00a0He likes to contribute to Open Source projects, and has contributed to many projects like, Apache Iota, Apache Spark, Apache Carbondata, Couchbase-Spark-Connector, Akka, Alpakka and many other projects. He has [&hellip;]<\/p>","protected":false},"author":53,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1816],"tags":[],"ppma_author":[9026],"class_list":["post-2505","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couchbase-server"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.1 (Yoast SEO v26.1.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Transferring Data From Cassandra to Couchbase Using Spark<\/title>\n<meta name=\"description\" content=\"This post focuses on the code that transfers data from Cassandra to Couchbase using Spark. Check out how to configure and run the transfer plugin.\" \/>\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\/transferring-data-from-cassandra-to-couchbase-using-spark\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Transferring Data From Cassandra to Couchbase Using Spark\" \/>\n<meta property=\"og:description\" content=\"This post focuses on the code that transfers data from Cassandra to Couchbase using Spark. Check out how to configure and run the transfer plugin.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/transferring-data-from-cassandra-to-couchbase-using-spark\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-01-23T15:24:49+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-06-21T12:42:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/lh4.googleusercontent.com\/hPpTDkKHteHM8QbKXuGhrq6GGCI3EmfEIm-Kjq1sj3tE_VQC1QOqur81z_-uiTdhe_WsgtzmMgK2A4ZJIapyUtgCeQ4GyYAB6WvY6VBtxaNVzW9RXLPje4lV_KHAX_tWJrt9Vm-M\" \/>\n<meta name=\"author\" content=\"Laura Czajkowski, Developer Community Manager, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Laura Czajkowski, Developer Community Manager, Couchbase\" \/>\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\/transferring-data-from-cassandra-to-couchbase-using-spark\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/transferring-data-from-cassandra-to-couchbase-using-spark\/\"},\"author\":{\"name\":\"Laura Czajkowski, Developer Community Manager, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/5f1a0ece4e644bc8c037686fbc8f3220\"},\"headline\":\"Transferring Data From Cassandra to Couchbase Using Spark\",\"datePublished\":\"2017-01-23T15:24:49+00:00\",\"dateModified\":\"2023-06-21T12:42:57+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/transferring-data-from-cassandra-to-couchbase-using-spark\/\"},\"wordCount\":742,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/transferring-data-from-cassandra-to-couchbase-using-spark\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"articleSection\":[\"Couchbase Server\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/transferring-data-from-cassandra-to-couchbase-using-spark\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/transferring-data-from-cassandra-to-couchbase-using-spark\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/transferring-data-from-cassandra-to-couchbase-using-spark\/\",\"name\":\"Transferring Data From Cassandra to Couchbase Using Spark\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/transferring-data-from-cassandra-to-couchbase-using-spark\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/transferring-data-from-cassandra-to-couchbase-using-spark\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2017-01-23T15:24:49+00:00\",\"dateModified\":\"2023-06-21T12:42:57+00:00\",\"description\":\"This post focuses on the code that transfers data from Cassandra to Couchbase using Spark. Check out how to configure and run the transfer plugin.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/transferring-data-from-cassandra-to-couchbase-using-spark\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/transferring-data-from-cassandra-to-couchbase-using-spark\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/transferring-data-from-cassandra-to-couchbase-using-spark\/#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\/transferring-data-from-cassandra-to-couchbase-using-spark\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Transferring Data From Cassandra to Couchbase Using Spark\"}]},{\"@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\/5f1a0ece4e644bc8c037686fbc8f3220\",\"name\":\"Laura Czajkowski, Developer Community Manager, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/9deb07d5daaa00220534c31768bc4409\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/bc8eebaf25cbe39bc12fd7b1ef92550becc3953ab877a3f0285a59ec2d30b754?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/bc8eebaf25cbe39bc12fd7b1ef92550becc3953ab877a3f0285a59ec2d30b754?s=96&d=mm&r=g\",\"caption\":\"Laura Czajkowski, Developer Community Manager, Couchbase\"},\"description\":\"Laura Czajkowski is the Snr. Developer Community Manager at Couchbase overseeing the community. She\u2019s responsible for our monthly developer newsletter.\",\"url\":\"https:\/\/www.couchbase.com\/blog\/es\/author\/laura-czajkowski\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Transferencia de datos de Cassandra a Couchbase usando Spark","description":"This post focuses on the code that transfers data from Cassandra to Couchbase using Spark. Check out how to configure and run the transfer plugin.","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\/transferring-data-from-cassandra-to-couchbase-using-spark\/","og_locale":"es_MX","og_type":"article","og_title":"Transferring Data From Cassandra to Couchbase Using Spark","og_description":"This post focuses on the code that transfers data from Cassandra to Couchbase using Spark. Check out how to configure and run the transfer plugin.","og_url":"https:\/\/www.couchbase.com\/blog\/es\/transferring-data-from-cassandra-to-couchbase-using-spark\/","og_site_name":"The Couchbase Blog","article_published_time":"2017-01-23T15:24:49+00:00","article_modified_time":"2023-06-21T12:42:57+00:00","og_image":[{"url":"https:\/\/lh4.googleusercontent.com\/hPpTDkKHteHM8QbKXuGhrq6GGCI3EmfEIm-Kjq1sj3tE_VQC1QOqur81z_-uiTdhe_WsgtzmMgK2A4ZJIapyUtgCeQ4GyYAB6WvY6VBtxaNVzW9RXLPje4lV_KHAX_tWJrt9Vm-M","type":"","width":"","height":""}],"author":"Laura Czajkowski, Developer Community Manager, Couchbase","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Laura Czajkowski, Developer Community Manager, Couchbase","Est. reading time":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/transferring-data-from-cassandra-to-couchbase-using-spark\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/transferring-data-from-cassandra-to-couchbase-using-spark\/"},"author":{"name":"Laura Czajkowski, Developer Community Manager, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/5f1a0ece4e644bc8c037686fbc8f3220"},"headline":"Transferring Data From Cassandra to Couchbase Using Spark","datePublished":"2017-01-23T15:24:49+00:00","dateModified":"2023-06-21T12:42:57+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/transferring-data-from-cassandra-to-couchbase-using-spark\/"},"wordCount":742,"commentCount":2,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/transferring-data-from-cassandra-to-couchbase-using-spark\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","articleSection":["Couchbase Server"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/transferring-data-from-cassandra-to-couchbase-using-spark\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/transferring-data-from-cassandra-to-couchbase-using-spark\/","url":"https:\/\/www.couchbase.com\/blog\/transferring-data-from-cassandra-to-couchbase-using-spark\/","name":"Transferencia de datos de Cassandra a Couchbase usando Spark","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/transferring-data-from-cassandra-to-couchbase-using-spark\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/transferring-data-from-cassandra-to-couchbase-using-spark\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2017-01-23T15:24:49+00:00","dateModified":"2023-06-21T12:42:57+00:00","description":"This post focuses on the code that transfers data from Cassandra to Couchbase using Spark. Check out how to configure and run the transfer plugin.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/transferring-data-from-cassandra-to-couchbase-using-spark\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/transferring-data-from-cassandra-to-couchbase-using-spark\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/transferring-data-from-cassandra-to-couchbase-using-spark\/#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\/transferring-data-from-cassandra-to-couchbase-using-spark\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Transferring Data From Cassandra to Couchbase Using Spark"}]},{"@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\/5f1a0ece4e644bc8c037686fbc8f3220","name":"Laura Czajkowski, Directora de la Comunidad de Desarrolladores, Couchbase","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/9deb07d5daaa00220534c31768bc4409","url":"https:\/\/secure.gravatar.com\/avatar\/bc8eebaf25cbe39bc12fd7b1ef92550becc3953ab877a3f0285a59ec2d30b754?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/bc8eebaf25cbe39bc12fd7b1ef92550becc3953ab877a3f0285a59ec2d30b754?s=96&d=mm&r=g","caption":"Laura Czajkowski, Developer Community Manager, Couchbase"},"description":"Laura Czajkowski es la Snr. Developer Community Manager en Couchbase supervisando la comunidad. Es responsable de nuestro bolet\u00edn mensual para desarrolladores.","url":"https:\/\/www.couchbase.com\/blog\/es\/author\/laura-czajkowski\/"}]}},"authors":[{"term_id":9026,"user_id":53,"is_guest":0,"slug":"laura-czajkowski","display_name":"Laura Czajkowski, Developer Community Manager, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/bc8eebaf25cbe39bc12fd7b1ef92550becc3953ab877a3f0285a59ec2d30b754?s=96&d=mm&r=g","author_category":"","last_name":"Czajkowski","first_name":"Laura","job_title":"","user_url":"","description":"Laura Czajkowski es la Snr. Developer Community Manager en Couchbase supervisando la comunidad. Es responsable de nuestro bolet\u00edn mensual para desarrolladores."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/2505","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\/53"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=2505"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/2505\/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=2505"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=2505"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=2505"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=2505"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}