Está en la página 1de 9

Organizaciones Actuales de Archivos

Archivos CVS, XML y Archivos de datos no Estructurados

1. PROCESAMIENTO DE ARCHIVOS CVS

Los archivos CSV (comma-separated values) un documento que contiene información en un


formato generalmente una tabla.

Donde las columnas (campos, y se separan por comas), y las filas (registros, que se separan por
salto de línea). Este tipo de formato es muy usado y se crea generalmente en una hoja de cálculo,
o puede ser cualquier procesador de datos. Este tipo de archivo utiliza, un formato denominado
RFC 4180, el cual da formato y tipo.

Ejemplo de una estructura de formato CSV

"Nombre","Apellido1","Apellido2"
"Adolfo","Suárez","González"
"Leopoldo","Calvo-Sotelo","Bustelo"
"Felipe","González","Márquez" "José
María","Aznar","López"
"José Luis","Rodríguez","Zapatero"
En la primera de las filas se pueden escribir los títulos de las columnas, estando entonces los
datos en la fila segunda y siguientes.

Este tipo de archivos, en nuestro caso, lo obtendremos utilizando un programa de hoja de cálculo
(Excel, Open Office, Libre Office) y, a la hora de guardar el archivo, utilizar la opción “Guardar
como CSV” o “Guardar como archivo de valores separados por comas”.
Ventajas:

 Mejor utilización de espacio


 Rapidez acceder los registros
 Capacidad de acceso al archivo siguiente
 Fácil de uso y aplicación

Desventajas:

 Son más vulnerables a fallas sistema


 El acceso a un registro no se realiza de manera individual.

De todas maneras, a pesar de que podamos usar (y de hecho usemos) un programa de hoja de
cálculo para tratar este tipo de archivos, en realidad no se necesita ningún programa especial y
vale el más elemental programa de tratamiento de texto (notepad, vi, emacs [1], nano, pico,
ed...).

Además de no requerir un software específico, se garantiza la interoperabilidad ya que los


archivos CSV pueden transformarse en otros formatos: los datos pueden introducirse mediante
scripts en bases de datos relacionales, no relacionales, orientadas a grafos..., pueden generarse
archivos en formato RDF, Turtle, N3... En definitiva, la transformación de los archivos CSV en
otro tipo de formato es trivial.
2. PROCESAMIENTO DE ARCHIVOS XML

XML (eXtensible Markup Language, Lenguaje de marcas extensible), es un estándar para


lenguaje de marcado del W3C (World Wide Web Consortium).

 Diseñado para escribir documentos estructurados y cualquier información en forma


de texto.
 Los documentos usan contenidos con marcas.
 Las marcas son etiquetas "< >"
 Crea una estructura jerárquica "árbol"
 Permite definir lenguajes de marcado específicos para una aplicación concreta.

Un programa en XML, es un lenguaje para estructurar documentos de manera explícita, usando


"marcas", tal como es HTML (Hypertext Markup Languaje, Lenguaje de Marcas Hipertexto).
HTML se utiliza para definir el contenido de una página, y los elementos que se visualizan en un
navegador.

Los usos de XML son múltiples:

 Almacenamiento de datos en un formato portable entre plataformas y sistemas, lo que


hace posible la exportación/importación de bases de datos o su procesamiento desde
cualquier lenguaje.
 Formato "neutro" e independiente del formato final. Un documento XML se puede
transformar al formato deseado por el cliente que va a visualizarlo: HTML, XHTML,
WML, PDF, ...
 Ficheros de configuración legibles por el usuario y modificables también de
manera automática.

Gran parte de la potencia de XML radica en el equilibrio entre ser un formato sencillo de texto,
portable a cualquier plataforma pero con la suficiente flexibilidad para representar información
estructurada.

El siguiente es un ejemplo de documento XML, que podría describir las novedades del mes en
una hipotética tienda web de discos y libros:

Ejemplo de documento XML


<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<novedades>
<fecha>2004-01-01</fecha>
<disco genero="pop" cod="1111">
<titulo>O sea</titulo>
<interprete>Enrique Iglesias</interprete>
<direccion>http://www.enriqueiglesias.com</direccion>
</disco>
<libro cod="2222">
<titulo>Programación de aplicaciones web</titulo>
<autor>John McCarra</autor>
<autor>Frank Webini</autor>
<direccion>http://www.paw.org</direccion>
</libro>
<libro cod="3477">
<titulo>Manolito Gafotas</titulo>
<autor>Elvira Lindo</autor>
<direccion>http://www.manolitogafotas.com</direccion>
</libro>
</novedades>

Como puede observarse, el aspecto general del fichero es vagamente similar al de un texto
HTML. La diferencia fundamental es que las etiquetas no son estándar, sino que han sido
definidas por el usuario.

La versión actual de la plataforma Java incluye distintos APIs para el trabajo con
XML:

JAXP (Java API for XML Processing): permite procesar documentos XML utilizando distintos
tipos de analizadores. Como se verá en los temas siguientes, los dos estándares fundamentales
para procesar documentos XML son DOM y SAX, que vienen implementados en este API.

JAXB (Java Architecture for XML Binding): orientado a la "conversión" entre documentos
XML y beans de Java.

SAAJ (SOAP with Attachments API for Java): para enviar mensajes de tipo SOAP desde Java.
JAX-RPC (Java API for XML-RPC): permite la llamada a procedimientos remotos (RPC o
Remote Procedure Call) mediante el envío de mensajes SOAP.

JAXR (Java API for XML Registries): permite acceder de manera estándar a registros de
servicios web almacenados en forma de XML.

Los tres últimos APIs se utilizan básicamente para la implementación de servicios web, por lo
que se verán en el bloque temático dedicado a ellos. En nuestro caso, veremos cómo utilizar el
API JAXP para procesar documentos XML desde un programa en Java y cómo emplear JAXB
para convertir entre objetos Java y código XML.

Estructura de un documento XML

 Partes del documento

En general, un documento XML bien formado tiene tres partes:

Prólogo: que contiene la declaración de documento XML, la declaración de tipo de documento


(que define la gramática que debe cumplir el mismo), y una parte adicional, que puede incluir
comentarios o instrucciones de procesamiento

Elemento raíz: una etiqueta que contiene (envuelve) a las demás etiquetas del
documento

Miscelánea: una parte final, opcional, que puede contener comentarios y/o instrucciones de
procesamiento

 Declaración de documento XML

Se recomienda que todos los documentos XML comiencen con esta declaración, que los
identifica como tales. En caso de estar presente, debe ser la primera línea del documento. Esta
declaración proporciona información general: la versión de XML, el juego de caracteres y si hace
referencia a entidades externas. Por ejemplo:

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>

El atributo versión indica la versión de XML empleada (la más común es la 1.0). El atributo
opcional encoding especifica el juego de caracteres empleado (en este caso el
europeo occidental y latinoamericano, si no se especifica se supone el inglés). Finalmente, el
atributo opcional standalone indica si se hace referencia a entidades externas al documento (en
ese caso, el documento no es "independiente" o standalone).

La declaración de documento XML es un caso particular de las llamadas instrucciones de


procesamiento.

 Instrucciones de procesamiento

Son las instrucciones que comienzan con los símbolos <? y terminan con ?>. Estas
instrucciones van destinadas al software que analice o procese el documento XML, y por tanto
son dependientes del mismo. Por ejemplo, la instrucción <?xml- stylesheet?> le indica a los
procesadores que sean capaces de reconocerlo que el estilo visual asociado al documento está
almacenado en una hoja de estilo determinada.

 Etiquetas y elementos

La parte principal de un documento XML son las etiquetas de marcado (que, al estilo de HTML,
van entre símbolos < y >). Un par de etiquetas de marcado, una de apertura y una de cierre, con
un texto en medio, constituyen lo que se denomina un elemento, por ejemplo

<interprete> Enrique Iglesias </interprete>

En XML, cada etiqueta de apertura debe tener su correspondiente de cierre (esto no se cumple en
HTML con etiquetas como <br> o <hr>). No obstante, se pueden crear etiquetas vacías, poniendo
una barra al final del nombre. Por ejemplo, la
etiqueta <br> de HTML, expresada en sintaxis válida de XML sería <br/>. XML
diferencia entre mayúsculas y minúsculas, por lo que </INTERPRETE> no se
consideraría como etiqueta de cierre válida en el ejemplo anterior.

 Elemento raíz

En cada fichero XML debe haber uno y solo un elemento raíz, que contiene al resto de elementos
del documento. En el documento del ejemplo, el elemento raíz sería <novedades>.
 Atributos

Las etiquetas pueden contener atributos, pero a diferencia de HTML, se exige que estén entre
comillas:

<disco genero="pop">

 Entidades predefinidas

Algunos caracteres, como < y > tienen un significado especial en XML y por tanto no pueden
emplearse en el texto que va entre las etiquetas. Para incluir estos y otros símbolos se emplean
unas secuencias de escape, al estilo de las de HTML. La siguiente tabla recoge la equivalencia
entre símbolos y secuencias de escape

Símbolo Secuencia
& &amp;
< &lt;
> &gt;
' (apóstrofe) &apos;
" (comillas dobles) &quot;

A estas secuencias de escape se las suele denominar entidades predefinidas. Aunque son las
únicas que incorpora el estándar, el usuario puede definir sus propias entidades.

 Secciones CDATA

Si en un documento se usan muchas entidades predefinidas (como puede ser el caso de un XML
que contenga JavaScript, donde los operadores < y > son comunes), el texto se hace farragoso y
difícil de leer. Para evitar esto, se puede incluir en una sección CDATA, que indica al procesador
que esté analizando el XML que debe dejar esa sección sin analizar y tratarla como texto puro.
Una sección CDATA comienza con los símbolos <[[CDATA[ y termina con ]]>.
3. DATOS NO ESTRUCTURADOS

Aunque parezca increíble, la base de datos con información estructurada de una empresa, ni
siquiera contiene la mitad de la información que hay disponible en la empresa lista para ser
usada. El 80 % de la información relevante para un negocio se origina en forma no estructurada,
principalmente en formato texto. Los datos no estructurados, generalmente son datos binarios
que no tienen estructura interna identificable. Es un conglomerado masivo y desorganizado de
varios objetos que no tienen valor hasta que se identifican y almacenan de manera organizada.
Una vez que se organizan, los elementos que conforman su contenido pueden ser buscados y
categorizados (al menos hasta cierto punto) para obtener información.

Por ejemplo, aunque la mayoría de herramientas de minería de datos no son capaces de analizar
la información contenida en los mensajes de correo electrónico (por muy organizados que estén),
es posible que recopilar y clasificar los datos contenidos en ellos nos pueda mostrar información
relevante para nuestra organización. Se trata de un ejemplo que ilustra la importancia y la
envergadura que pueden llegar a tener los datos no estructurados.

Pero el correo electrónico ¿no tiene estructura?


El término no estructurado se enfrenta a diferentes opiniones por diversas razones. Hay quien
dice que aunque no se pueda identificar una estructura formal en ellos, es posible que pueda estar
implícita y, en ese caso, no debería ser categorizado como no estructurado. Sin embargo, por otro
lado, si los datos tienen alguna forma de estructura, pero ésta no es útil y no puede se utiliza para
procesarlos, estos deberían ser categorizados como no estructurados.

Aunque los mensajes de correo electrónico pueden contener información con alguna
estructura implícita, es lógico pensar en ellos como información no estructurada, ya que las
herramientas normales de minería de datos no están preparadas para procesarlos y analizarlos.

Tipos de datos no estructurados

Los datos no estructurados son datos en bruto y no organizados. Idealmente, toda esta
información podría ser convertida en datos estructurados. Sin embargo, sería algo costoso y
requeriría mucho tiempo. Además, no todos los tipos de datos no estructurados se pueden
convertir fácilmente en un modelo estructurado. Por ejemplo, siguiendo con el ejemplo del
correo electrónico, un e-mail contiene información como la hora de envío, la persona a quien se
envía, el remitente, etc. Sin embargo, el contenido del mensaje no se divide ni categoriza
fácilmente y esto puede ser un problema de compatibilidad con la estructura de un sistema de
base de datos relacional.
Esta es una lista limitada de tipos de datos no estructurados:

 Correos electrónicos.
 Archivos de procesador de texto.
 Archivos PDF.
 Hojas de cálculo.
 Imágenes digitales.
 Vídeo.
 Audio.
 Publicaciones en medios sociales.

Mirando esa lista, te podrías preguntar qué tienen en común estos archivos. Se trata de archivos
que pueden ser almacenados y administrados sin que el sistema tenga necesidad de entender el
formato del archivo. Al no estar organizado el contenido de estos archivos, estos pueden ser
almacenados de manera no estructurada.

La industria del Big Data sigue creciendo, pero existe un problema con los datos no estructurados
que todavía no están siendo utilizados. No obstante, las empresa ya tienen identificado el
problema y ya se están desarrollando tecnologías y servicios para ayudar a solventarlo.

También podría gustarte