{"id":369,"date":"2021-10-01T13:54:19","date_gmt":"2021-10-01T12:54:19","guid":{"rendered":"http:\/\/justmakeit.es\/?p=369"},"modified":"2021-10-01T13:54:19","modified_gmt":"2021-10-01T12:54:19","slug":"cosas-con-java-datasets","status":"publish","type":"post","link":"http:\/\/justmakeit.es\/?p=369","title":{"rendered":"Cosas con Java Datasets"},"content":{"rendered":"\n<p>Unas cuantas cositas que se pueden hacer con un Dataset:<\/p>\n\n\n\n<p>Para realizar un filtrado de un Dataset por un listado de datos\u2026, lo que viene siendo un SELECT WHERE xxx IN(\u2026.)<br>Inicialmente pensaba que deber\u00eda usar el m\u00e9todo <em>dataset.isin() <\/em>para realizar un filtrado, pero se puede usar el <em>dataset.isInCollection()<\/em> que resulta m\u00e1s c\u00f3modo por no necesitar utilizar una <em>scala.collection.Seq<\/em><\/p>\n\n\n\n<pre class=\"wp-block-code has-normal-font-size\"><code>List<String> list = new ArrayList<String>();\nlist.add(\"P3730\");\nlist.add(\"P3731\");\n\nDataset<Row> dstmp = ds.where(ds.col(\"nombrecolumna\").isInCollection(list));<\/code><\/pre>\n\n\n\n<p>Si finalmente resulta necesario utilizar una <em>scala.collection.Seq<\/em> para el <em>dataset.isin()<\/em>, la manera de convertir un <em>java.util.List<\/em> en un <em>Seq <\/em>es la siguiente:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>List<<strong>Object<\/strong>> list = new ArrayList<<strong>Object<\/strong>>();\r\nlist.add(\"P3730\");\r\nlist.add(\"P3447\");\r\n\r\t\t\r\nscala.collection.Seq<<strong>Object<\/strong>> seq = JavaConverters.asScalaIteratorConverter(list.iterator()).asScala().toSeq();<\/code><\/pre>\n\n\n\n<p>En este segundo caso es <strong>importante<\/strong> que el List a convertir sea de tipo <em>List<<strong>Object<\/strong>><\/em>, porque si se crea de tipo <em>List<String><\/em> no funcionar\u00e1.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Unas cuantas cositas que se pueden hacer con un Dataset: Para realizar un filtrado de un Dataset por un listado &hellip; <a href=\"http:\/\/justmakeit.es\/?p=369\" class=\"btn btn-readmore\">Read More <span class=\"screen-reader-text\"> \u00abCosas con Java Datasets\u00bb<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[49,36],"class_list":["post-369","post","type-post","status-publish","format-standard","hentry","category-cosos","tag-dataset","tag-java"],"_links":{"self":[{"href":"http:\/\/justmakeit.es\/index.php?rest_route=\/wp\/v2\/posts\/369","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/justmakeit.es\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/justmakeit.es\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/justmakeit.es\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/justmakeit.es\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=369"}],"version-history":[{"count":1,"href":"http:\/\/justmakeit.es\/index.php?rest_route=\/wp\/v2\/posts\/369\/revisions"}],"predecessor-version":[{"id":370,"href":"http:\/\/justmakeit.es\/index.php?rest_route=\/wp\/v2\/posts\/369\/revisions\/370"}],"wp:attachment":[{"href":"http:\/\/justmakeit.es\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=369"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/justmakeit.es\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=369"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/justmakeit.es\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=369"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}