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> — 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 — 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 <span style="color:#F5A623">•</span> WEB SCRAPING <span style="color:#F5A623">•</span> PYTHON <span style="color:#F5A623">•</span> ANÁLISIS DE DATOS
- big-data
- web-scraping
- python
- json
- parquet
- sql
- nosql
- análisis-de-datos