{"id":154653,"date":"2026-01-28T11:24:39","date_gmt":"2026-01-28T10:24:39","guid":{"rendered":"https:\/\/multi.liora.io\/?p=154653"},"modified":"2026-02-06T09:44:09","modified_gmt":"2026-02-06T08:44:09","slug":"pyspark-todo-sobre-la-biblioteca-python","status":"publish","type":"post","link":"https:\/\/liora.io\/es\/pyspark-todo-sobre-la-biblioteca-python","title":{"rendered":"PySpark : Todo sobre la biblioteca Python"},"content":{"rendered":"<p><strong><b>Cuando hablamos de procesamiento de bases de datos en python, pensamos inmediatamente en la biblioteca pandas. Sin embargo, cuando se trata de bases de datos demasiado masivas, los c\u00e1lculos se vuelven demasiado lentos. Afortunadamente, existe otra biblioteca de python, bastante cercana a pandas, que permite procesar cantidades muy grandes de datos : PySpark.&nbsp;<\/b><\/strong><\/p>\n<b>Apache Spark<\/b> es un Framework de c\u00f3digo abierto desarrollado por el AMPLab de la UC Berkeley que permite procesar bases de datos masivas mediante <b>computaci\u00f3n distribuida<\/b>, una t\u00e9cnica que consiste en explotar varias unidades de computaci\u00f3n distribuidas en <b>clusters<\/b> en beneficio de un mismo proyecto para dividir el tiempo de ejecuci\u00f3n de una consulta. Spark fue desarrollado en <b>Scala<\/b> y es mejor en su lenguaje nativo. Sin embargo, la biblioteca <b>PySpark<\/b> ofrece utilizarla con el lenguaje <a href=\"https:\/\/liora.io\/es\/python-o-r-que-elegir\">Python<\/a>, manteniendo un rendimiento similar al de las implementaciones de Scala. Por lo tanto, Pyspark es una buena alternativa a la biblioteca Pandas cuando se quiere tratar con grandes conjuntos de datos que consumen demasiado tiempo de c\u00e1lculo.\n\n<b>Arquitectura de Spark :<\/b>\n\nEn primer lugar, es importante entender las bases&nbsp; del funcionamiento de Spark.\n\nCuando interact\u00faas con Spark a trav\u00e9s de PySpark, env\u00edas instrucciones al Driver. Es el conductor que coordina todas las operaciones. Puede comunicarse con el controlador a trav\u00e9s de un objeto <b>SparkContext<\/b>. Este objeto coordina los diferentes c\u00e1lculos en los distintos clusters. La gran ventaja de Spark es que el c\u00f3digo es completamente independiente del SparkContext. Por lo tanto, puede desarrollar su c\u00f3digo localmente en cualquier m\u00e1quina.\n\n&nbsp;En este art\u00edculo, presentaremos algunos de los elementos centrales de Spark, empezando por los RDD, la estructura m\u00e1s b\u00e1sica de Spark. A continuaci\u00f3n, veremos el tipo DataFrame, una estructura m\u00e1s rica que los RDD, optimizada para el machine learning.\n<h2 class=\"wp-block-heading\" id=\"h-rdd-datos-distribuidos-resistentes\">RDD &#8211; Datos distribuidos resistentes<\/h2>\nUn RDD es la representaci\u00f3n de Spark de un <b>array de datos.<\/b> Es una colecci\u00f3n de elementos que puede utilizarse para contener tuples, diccionarios, listas\u2026\n\nLa ventaja de un RDD reside en su capacidad para evaluar el c\u00f3digo de forma perezosa: el lanzamiento de los c\u00e1lculos se pospone hasta que sea absolutamente necesario. Por ejemplo, al importar un archivo, s\u00f3lo se crea un puntero al mismo. En realidad, el c\u00e1lculo s\u00f3lo se realiza en el \u00faltimo momento, cuando se quiere visualizar o utilizar un resultado. Para profundizar en la <b>manipulaci\u00f3n de un RDD<\/b>, puede utilizar la documentaci\u00f3n disponible aqu\u00ed\n\n&nbsp;Un RDD se lee l\u00ednea por l\u00ednea, lo que lo hace <b>eficiente para procesar archivos de texto <\/b>(contar el n\u00famero de ocurrencias de cada palabra en la integral de los miserables, por ejemplo), pero es una <b>estructura inadecuada para c\u00e1lculos por columna. <\/b>Por lo tanto, para realizar machine learning&nbsp; necesitamos introducir una nueva estructura: DataFrames.&nbsp;\n<h2 class=\"wp-block-heading\" id=\"h-dataframe-pyspark\">DataFrame pyspark<\/h2>\nEl DataFrame de pyspark es<b> la estructura m\u00e1s optimizada en Machine Learning<\/b>. Utiliza las bases subyacentes de un RDD pero se ha estructurado en columnas adem\u00e1s de filas en una<a href=\"https:\/\/liora.io\/es\/sql-todo-lo-que-necesitas-saber-sobre-el-lenguaje-de-programacion-de-bases-de-datos\"> estructura SQL<\/a>. Su forma est\u00e1 inspirada en el DataFrame del m\u00f3dulo Pandas.\n\nGracias a la estructura de DataFrame, podemos por tanto realizar potentes c\u00e1lculos a trav\u00e9s de un lenguaje familiar (ya que es similar a pandas), a la vez que evitamos el coste de entrada de aprender un nuevo lenguaje funcional: Scala.\n\n<b>Spark SQL<\/b> es un m\u00f3dulo de Spark que permite trabajar con <b>datos estructurados<\/b>. Por lo tanto, dentro de este m\u00f3dulo se ha desarrollado el Spark DataFrame.\n\nSpark SQL tiene una documentaci\u00f3n de una sola p\u00e1gina que es bastante rica tanto en ejemplos como en explicaciones. Al contrario de lo que pueda encontrar en Internet, esta documentaci\u00f3n es el \u00fanico documento que est\u00e1 siempre actualizado con la \u00faltima versi\u00f3n de Spark.\n\nEste art\u00edculo es s\u00f3lo una introducci\u00f3n a las principales nociones de Pyspark. Nuestros cursos de formaci\u00f3n contienen un m\u00f3dulo entero sobre el aprendizaje de esta herramienta esencial para el manejo de datos masivos. Si quieres dominar esta herramienta, d\u00e9jate tentar por uno de <a href=\"https:\/\/liora.io\/es\/formacion-data-scientist\">nuestros cursos de formaci\u00f3n en ciencia de datos<\/a>.\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\"><div class=\"wp-block-button \"><a class=\"wp-block-button__link wp-element-button \" href=\"\/es\/nuestros-cursos-de-data\">Descubrir nuestros cursos de Data<\/a><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Cuando hablamos de procesamiento de bases de datos en python, pensamos inmediatamente en la biblioteca pandas. Sin embargo, cuando se trata de bases de datos demasiado masivas, los c\u00e1lculos se vuelven demasiado lentos. Afortunadamente, existe otra biblioteca de python, bastante cercana a pandas, que permite procesar cantidades muy grandes de datos : PySpark.<\/p>\n","protected":false},"author":85,"featured_media":44186,"comment_status":"open","ping_status":"open","sticky":false,"template":"elementor_theme","format":"standard","meta":{"_acf_changed":false,"editor_notices":[],"footnotes":""},"categories":[2440],"class_list":["post-154653","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data-ia"],"acf":[],"_links":{"self":[{"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/posts\/154653","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/users\/85"}],"replies":[{"embeddable":true,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/comments?post=154653"}],"version-history":[{"count":3,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/posts\/154653\/revisions"}],"predecessor-version":[{"id":183178,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/posts\/154653\/revisions\/183178"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/media\/44186"}],"wp:attachment":[{"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/media?parent=154653"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/categories?post=154653"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}