Made byBobr AI

Tipos de Ficheros en Big Data y Web Scraping: Guía Completa

Aprende las diferencias entre JSON, HTML, SQL, NoSQL, CSV y Parquet para Big Data y Web Scraping. Incluye ventajas, limitaciones y ejemplos prácticos en Python.

#big-data#web-scraping#python#json#parquet#sql#nosql#análisis-de-datos
Watch
Pitch
ACTIVIDAD DE APRENDIZAJE
TIPOS DE FICHEROS
en Big Data & Web Scraping
Análisis de JSON, HTML, Bases de Datos SQL/NoSQL, CSV y Parquet — definiciones, usos, ventajas, limitaciones y ejemplos en Python
JSON
HTML
SQL
NoSQL
CSV
Parquet
Investigación sobre formatos de ficheros para entornos de análisis de datos
File Types Infographic Collage
Made byBobr AI
01
JSON
JavaScript Object Notation
SEMI-ESTRUCTURADO
{ }
{}

DEFINICIÓN

Formato de texto ligero para intercambio de datos basado en pares clave-valor. Derivado de JavaScript, legible por humanos y máquinas. Soporta tipos: strings, números, arrays y objetos anidados.

USOS EN BIG DATA / WEB SCRAPING

APIs REST y GraphQL
Web Scraping de sitios dinámicos
Almacenamiento de documentos (MongoDB)
Configuración de pipelines de datos
Intercambio entre microservicios

VENTAJAS

Flexible y extensible
Soporte nativo en JavaScript
Amplio soporte en todas las plataformas
Ideal para datos anidados/jerárquicos

LIMITACIONES ⚠️

Mayor tamaño que CSV o Parquet
Sin esquema fijo (puede causar inconsistencias)
Lento para consultas analíticas masivas
No óptimo para datos tabulares
Python Logo

Ejemplo en Python

Se usa la librería json para leer y escribir archivos .json. Con pandas se puede cargar con read_json(). Para scraping, requests + json() parsea respuestas de APIs. Para archivos grandes: uso de ijson para streaming.

Nivel de estructura: Semi-estructurado — los datos tienen etiquetas pero no un esquema rígido obligatorio

Made byBobr AI
02
HTML
HyperText Markup Language
SEMI-ESTRUCTURADO
<>

DEFINICIÓN

Lenguaje de marcado estándar para estructurar páginas web mediante etiquetas (html, body, div, p, a). No es un formato de datos puro, pero es la fuente principal en Web Scraping al contener toda la información visible de un sitio.

USOS EN BIG DATA / WEB SCRAPING

Fuente primaria en Web Scraping
Extracción de tablas con pandas
Parsing con BeautifulSoup / lxml
Minería de texto desde la web
Recolección de precios, noticias y reviews
Automatización con Selenium

VENTAJAS

Universalmente disponible
Rica en metadatos y atributos
Fácil de parsear en Python
Acceso sin necesidad de APIs

LIMITACIONES ⚠️

Estructura irregular por sitio
Frágil ante cambios de diseño
Requiere limpieza intensa de datos
JS dinámico requiere Selenium
Python Logo

Ejemplo en Python

Se usa requests para descargar el HTML de una URL. BeautifulSoup parsea las etiquetas y extrae textos, enlaces o tablas. Para sitios dinámicos (JavaScript) se usa Selenium o Playwright. pandas.read_html() extrae tablas HTML automáticamente.

Nivel de estructura: Semi-estructurado — el marcado define jerarquía pero el contenido no sigue un esquema de datos uniforme

Made byBobr AI
03
BASES DE DATOS
SQL / NoSQL
SQL
NoSQL
ESTRUCTURADO
SEMI/NO ESTRUCTURADO
SQL — Structured Query Language ESTRUCTURADO
Definición: Sistema de gestión de bases de datos relacionales. Datos organizados en tablas con filas y columnas, con relaciones definidas. Ejemplos: PostgreSQL, MySQL, SQLite.
Usos Big Data: Data warehouses, ETL pipelines, almacenamiento transaccional, reportes estructurados
NoSQL — Not Only SQL SEMI-ESTRUCTURADO
Definición: Bases de datos no relacionales que soportan múltiples modelos: documentos (MongoDB), clave-valor (Redis), columnar (Cassandra), grafos (Neo4j).
Usos Big Data: Almacenamiento masivo de logs, datos de sensores IoT, redes sociales, catálogos de productos
VENTAJAS SQL
Integridad referencial • Transacciones ACID • Consultas complejas con JOIN • Estándar universal
VENTAJAS NoSQL
Escalabilidad horizontal • Esquema flexible • Alto rendimiento en escritura masiva • Ideal para datos no estructurados
LIMITACIONES
SQL: Difícil de escalar horizontalmente • Esquema rígido • Costoso para cambios de estructura
NoSQL: Sin ACID completo en muchos casos • Curva de aprendizaje • Consultas menos expresivas
PYTHON
SQL: sqlite3, SQLAlchemy, pandas.read_sql() para consultar y cargar datos relacionales
NoSQL: pymongo para MongoDB, redis-py para Redis. Pandas puede convertir documentos JSON de MongoDB a DataFrames
SQL = Estructurado (esquema fijo) | NoSQL = Semi o no estructurado (esquema flexible o inexistente)
Made byBobr AI
04
CSV
Comma-Separated Values
ESTRUCTURADO
Fichero Adicional #1
DEFINICIÓN
Formato de texto plano donde los valores se separan por comas (o punto y coma). Representa datos tabulares con filas y columnas. La primera fila suele ser el encabezado.
Ejemplo de Fichero: nombre,edad,ciudad
Ana,25,Madrid
Luis,30,Lima
USOS EN BIG DATA / WEB SCRAPING
Exportación de datos de scraping
Datasets de Machine Learning
Intercambio entre herramientas (Excel, R, Python)
Ingesta en bases de datos
Almacenamiento de logs tabulares
Kaggle datasets y fuentes abiertas
VENTAJAS ✅
Extremadamente simple y ligero
Compatible con cualquier herramienta
Fácil lectura humana
Sin dependencias ni librerías especiales
LIMITACIONES ⚠️
No soporta datos anidados o jerárquicos
Sin tipos de datos nativos (todo es texto)
Ineficiente para archivos muy grandes
Problemas con comas dentro de valores
Sin compresión nativa
Ejemplo en Python
Con pandas se usa read_csv() para cargar el archivo y to_csv() para exportar. La librería csv nativa permite lectura fila por fila (ideal para archivos grandes). En scraping, DictWriter convierte diccionarios scrapeados directamente a CSV. Para Big Data, se combina con Dask o Spark.
PANDAS SNIPPET
import pandas as pd

# Leer CSV
df = pd.read_csv('datos.csv')

# Exportar a CSV
df.to_csv('out.csv',
          index=False)
Nivel de estructura: Estructurado — filas y columnas con separador fijo. Simple pero sin soporte para complejidad de datos.
name,score | "Alice",95 | "Bob",87
Made byBobr AI
05
PARQUET
Apache Parquet Format
ESTRUCTURADO
Fichero Adicional #2
Optimizado para Big Data

DEFINICIÓN

Formato de almacenamiento columnar binario de código abierto del ecosistema Apache. A diferencia de CSV (orientado a filas), Parquet almacena datos por columnas, lo que permite compresión superior y consultas más rápidas. Incluye esquema integrado (schema). Muy usado en Hadoop, Spark y AWS.

USOS EN BIG DATA

  • Data Lakes (AWS S3, Azure, GCP)
  • Apache Spark y Hadoop
  • Consultas analíticas con columnas selectivas
  • Almacenamiento eficiente de datasets masivos
  • Sustituto moderno del CSV en Big Data
  • Apache Hive, Presto, Athena

VENTAJAS

  • Compresión ~10x mejor que CSV
  • Lecturas de columnas puntuales rápidas
  • Esquema integrado (evita errores de tipo)
  • Ideal para terabytes de datos
  • Soporte para datos anidados

⚠️ LIMITACIONES

  • No legible por humanos (binario)
  • Requiere librerías (pyarrow, fastparquet)
  • Edición manual imposible
  • No ideal para datos pequeños o streaming web

EJEMPLO EN PYTHON

import pandas as pd

# Pandas
df.to_parquet('data.parquet')
df = pd.read_parquet('file.parquet')

# PySpark
df = spark.read.parquet('...')
Ideal para pipelines ETL: se scrappea en JSON/CSV y se convierte a Parquet para almacenamiento analítico altamente eficiente. Reduce costos de storage cloud hasta un 75%.
Nivel de estructura: ESTRUCTURADO
Esquema estricto integrado directamente en el archivo. Arquitectura orientada a columnas diseñada para máximo rendimiento analítico en procesamiento distribuido.
Row Format (CSV)
VS
Column Format (Parquet)
Made byBobr AI
06
COMPARATIVA GENERAL
Los 5 tipos de ficheros analizados
JSON
HTML
SQL
NoSQL
CSV
Parquet
FICHERO
ESTRUCTURA
USO EN BIG DATA
WEB SCRAPING
LIBRERÍA PYTHON
RENDIMIENTO
JSON
Semi-estructurado
★★★☆☆
★★★★★
json, pandas
Medio
HTML
Semi-estructurado
★★☆☆☆
★★★★★
BeautifulSoup, Selenium
Bajo
SQL
Estructurado
★★★★☆
★★☆☆☆
SQLAlchemy, sqlite3
Alto
NoSQL
Semi-estructurado
★★★★★
★★★☆☆
pymongo, redis-py
Muy Alto
CSV
Estructurado
★★★☆☆
★★★★☆
pandas read_csv
Bajo-Medio
Parquet
Estructurado
★★★★★
★☆☆☆☆
pyarrow, PySpark
Muy Alto
🌐
🌐 Mejor para Scraping
HTML + JSON son la combinación ideal para extraer datos de sitios web
📊
📊 Mejor para Big Data
Parquet + NoSQL dominan el análisis y almacenamiento a gran escala
🔧
🔧 Mas Universal
CSV es el formato más interoperable entre todas las herramientas de datos

La seleccion del formato correcto depende del volumen, velocidad, variedad y veracidad de los datos - las 4 V's del Big Data

Made byBobr AI
CONCLU-
SIONES
Reflexión Final
La elección del formato de fichero impacta directamente el rendimiento, escalabilidad y mantenibilidad de cualquier pipeline de datos.
01
No existe un formato universal perfecto — cada tipo de fichero tiene un contexto óptimo de uso según el volumen, estructura y velocidad requerida.
02
JSON y HTML son esenciales en Web Scraping ya que representan la forma natural en que la web expone su información, estructurada o no.
03
SQL y NoSQL no son competidores sino complementarios — las organizaciones modernas usan ambos según las necesidades transaccionales vs. analíticas.
04
CSV sigue siendo relevante por su simplicidad y universalidad, pero Parquet lo supera ampliamente en entornos de Big Data por compresión y velocidad.
05
Python es el lenguaje ecosistema más completo para trabajar con todos estos formatos, con librerías especializadas para cada uno: pandas, json, BeautifulSoup, SQLAlchemy, pymongo y pyarrow.
Actividad de Aprendizaje — Tipos de Ficheros
BIG DATA    WEB SCRAPING    PYTHON    ANÁLISIS DE DATOS
Made byBobr AI
Bobr AI

DESIGNER-MADE
PRESENTATION,
GENERATED FROM
YOUR PROMPT

Create your own professional slide deck with real images, data charts, and unique design in under a minute.

Generate For Free

Tipos de Ficheros en Big Data y Web Scraping: Guía Completa

Aprende las diferencias entre JSON, HTML, SQL, NoSQL, CSV y Parquet para Big Data y Web Scraping. Incluye ventajas, limitaciones y ejemplos prácticos en Python.

ACTIVIDAD DE APRENDIZAJE

TIPOS DE FICHEROS

en Big Data & Web Scraping

Análisis de JSON, HTML, Bases de Datos SQL/NoSQL, CSV y Parquet — definiciones, usos, ventajas, limitaciones y ejemplos en Python

Investigación sobre formatos de ficheros para entornos de análisis de datos

01

JSON

JavaScript Object Notation

SEMI-ESTRUCTURADO

DEFINICIÓN

Formato de texto ligero para intercambio de datos basado en pares clave-valor. Derivado de JavaScript, legible por humanos y máquinas. Soporta tipos: strings, números, arrays y objetos anidados.

USOS EN BIG DATA / WEB SCRAPING

APIs REST y GraphQL

Web Scraping de sitios dinámicos

Almacenamiento de documentos (MongoDB)

Configuración de pipelines de datos

Intercambio entre microservicios

VENTAJAS

Flexible y extensible

Soporte nativo en JavaScript

Amplio soporte en todas las plataformas

Ideal para datos anidados/jerárquicos

LIMITACIONES

Mayor tamaño que CSV o Parquet

Sin esquema fijo (puede causar inconsistencias)

Lento para consultas analíticas masivas

No óptimo para datos tabulares

Ejemplo en Python

Se usa la librería json para leer y escribir archivos .json. Con pandas se puede cargar con read_json(). Para scraping, requests + json() parsea respuestas de APIs. Para archivos grandes: uso de ijson para streaming.

Nivel de estructura: Semi-estructurado — los datos tienen etiquetas pero no un esquema rígido obligatorio

02

HTML

HyperText Markup Language

SEMI-ESTRUCTURADO

DEFINICIÓN

Lenguaje de marcado estándar para estructurar páginas web mediante etiquetas (html, body, div, p, a). No es un formato de datos puro, pero es la fuente principal en Web Scraping al contener toda la información visible de un sitio.

USOS EN BIG DATA / WEB SCRAPING

Fuente primaria en Web Scraping

Extracción de tablas con pandas

Parsing con BeautifulSoup / lxml

Minería de texto desde la web

Recolección de precios, noticias y reviews

Automatización con Selenium

VENTAJAS

Universalmente disponible

Rica en metadatos y atributos

Fácil de parsear en Python

Acceso sin necesidad de APIs

LIMITACIONES

Estructura irregular por sitio

Frágil ante cambios de diseño

Requiere limpieza intensa de datos

JS dinámico requiere Selenium

Ejemplo en Python

Se usa requests para descargar el HTML de una URL. BeautifulSoup parsea las etiquetas y extrae textos, enlaces o tablas. Para sitios dinámicos (JavaScript) se usa Selenium o Playwright. pandas.read_html() extrae tablas HTML automáticamente.

Nivel de estructura: Semi-estructurado — el marcado define jerarquía pero el contenido no sigue un esquema de datos uniforme

03

BASES DE DATOS

SQL / NoSQL

SQL — Structured Query Language

Sistema de gestión de bases de datos relacionales. Datos organizados en tablas con filas y columnas, con relaciones definidas. Ejemplos: PostgreSQL, MySQL, SQLite.

Data warehouses, ETL pipelines, almacenamiento transaccional, reportes estructurados

ESTRUCTURADO

NoSQL — Not Only SQL

Bases de datos no relacionales que soportan múltiples modelos: documentos (MongoDB), clave-valor (Redis), columnar (Cassandra), grafos (Neo4j).

Almacenamiento masivo de logs, datos de sensores IoT, redes sociales, catálogos de productos

SEMI-ESTRUCTURADO

VENTAJAS SQL

Integridad referencial • Transacciones ACID • Consultas complejas con JOIN • Estándar universal

VENTAJAS NoSQL

Escalabilidad horizontal • Esquema flexible • Alto rendimiento en escritura masiva • Ideal para datos no estructurados

LIMITACIONES

Difícil de escalar horizontalmente • Esquema rígido • Costoso para cambios de estructura

Sin ACID completo en muchos casos • Curva de aprendizaje • Consultas menos expresivas

PYTHON

sqlite3, SQLAlchemy, pandas.read_sql() para consultar y cargar datos relacionales

pymongo para MongoDB, redis-py para Redis. Pandas puede convertir documentos JSON de MongoDB a DataFrames

SQL = Estructurado (esquema fijo) | NoSQL = Semi o no estructurado (esquema flexible o inexistente)

04

CSV

Comma-Separated Values

ESTRUCTURADO

Fichero Adicional #1

DEFINICIÓN

Formato de texto plano donde los valores se separan por comas (o punto y coma). Representa datos tabulares con filas y columnas. La primera fila suele ser el encabezado.

USOS EN BIG DATA / WEB SCRAPING

Exportación de datos de scraping

Datasets de Machine Learning

Intercambio entre herramientas (Excel, R, Python)

Ingesta en bases de datos

Almacenamiento de logs tabulares

Kaggle datasets y fuentes abiertas

VENTAJAS ✅

Extremadamente simple y ligero

Compatible con cualquier herramienta

Fácil lectura humana

Sin dependencias ni librerías especiales

LIMITACIONES ⚠️

No soporta datos anidados o jerárquicos

Sin tipos de datos nativos (todo es texto)

Ineficiente para archivos muy grandes

Problemas con comas dentro de valores

Sin compresión nativa

Ejemplo en Python

Con pandas se usa read_csv() para cargar el archivo y to_csv() para exportar. La librería csv nativa permite lectura fila por fila (ideal para archivos grandes). En scraping, DictWriter convierte diccionarios scrapeados directamente a CSV. Para Big Data, se combina con Dask o Spark.

Nivel de estructura: Estructurado — filas y columnas con separador fijo. Simple pero sin soporte para complejidad de datos.

05

PARQUET

Apache Parquet Format

ESTRUCTURADO

Fichero Adicional #2

Optimizado para Big Data

DEFINICIÓN

Formato de almacenamiento columnar binario de código abierto del ecosistema Apache. A diferencia de CSV (orientado a filas), Parquet almacena datos por columnas, lo que permite compresión superior y consultas más rápidas. Incluye esquema integrado (schema). Muy usado en Hadoop, Spark y AWS.

USOS EN BIG DATA

EJEMPLO EN PYTHON

Ideal para pipelines ETL: se scrappea en JSON/CSV y se convierte a Parquet para almacenamiento analítico altamente eficiente. Reduce costos de storage cloud hasta un 75%.

Esquema estricto integrado directamente en el archivo. Arquitectura orientada a columnas diseñada para máximo rendimiento analítico en procesamiento distribuido.

06

COMPARATIVA GENERAL

Los 5 tipos de ficheros analizados

JSON

HTML

SQL

NoSQL

CSV

Parquet

FICHERO

ESTRUCTURA

USO EN BIG DATA

WEB SCRAPING

LIBRERÍA PYTHON

RENDIMIENTO

JSON

Semi-estructurado

★★★☆☆

★★★★★

json, pandas

Medio

HTML

Semi-estructurado

★★☆☆☆

★★★★★

BeautifulSoup, Selenium

Bajo

SQL

Estructurado

★★★★☆

★★☆☆☆

SQLAlchemy, sqlite3

Alto

NoSQL

Semi-estructurado

★★★★★

★★★☆☆

pymongo, redis-py

Muy Alto

CSV

Estructurado

★★★☆☆

★★★★☆

pandas read_csv

Bajo-Medio

Parquet

Estructurado

★★★★★

★☆☆☆☆

pyarrow, PySpark

Muy Alto

Mejor para Scraping

HTML + JSON son la combinación ideal para extraer datos de sitios web

Mejor para Big Data

Parquet + NoSQL dominan el análisis y almacenamiento a gran escala

Mas Universal

CSV es el formato más interoperable entre todas las herramientas de datos

La seleccion del formato correcto depende del volumen, velocidad, variedad y veracidad de los datos - las 4 V's del Big Data

CONCLU-

SIONES

Reflexión Final

La elección del formato de fichero impacta directamente el rendimiento, escalabilidad y mantenibilidad de cualquier pipeline de datos.

<strong style="color: #FFFFFF; font-weight: 600;">No existe un formato universal perfecto</strong> &mdash; cada tipo de fichero tiene un contexto óptimo de uso según el volumen, estructura y velocidad requerida.

<strong style="color: #FFFFFF; font-weight: 600;">JSON y HTML</strong> son esenciales en Web Scraping ya que representan la forma natural en que la web expone su información, estructurada o no.

<strong style="color: #FFFFFF; font-weight: 600;">SQL y NoSQL</strong> no son competidores sino complementarios &mdash; las organizaciones modernas usan ambos según las necesidades transaccionales vs. analíticas.

<strong style="color: #FFFFFF; font-weight: 600;">CSV</strong> sigue siendo relevante por su simplicidad y universalidad, pero <strong style="color: #FFFFFF; font-weight: 600;">Parquet</strong> lo supera ampliamente en entornos de Big Data por compresión y velocidad.

<strong style="color: #FFFFFF; font-weight: 600;">Python</strong> es el lenguaje ecosistema más completo para trabajar con todos estos formatos, con librerías especializadas para cada uno: pandas, json, BeautifulSoup, SQLAlchemy, pymongo y pyarrow.

Actividad de Aprendizaje — Tipos de Ficheros

BIG DATA &nbsp;<span style="color:#F5A623">•</span>&nbsp; WEB SCRAPING &nbsp;<span style="color:#F5A623">•</span>&nbsp; PYTHON &nbsp;<span style="color:#F5A623">•</span>&nbsp; ANÁLISIS DE DATOS