<div dir="ltr"><div class="gmail_default" style="font-family:'courier new',monospace;color:rgb(0,0,0)">Igual acordate que tenés 2 cuellos de botella, uno es el procesamiento del XML y otro es la Base de Datos.</div>
</div><div class="gmail_extra"><br clear="all"><div><div><br></div>.:-:ChiCkENURiNE:-:.<div><span>+ </span><span>El <a href="http://groups.google.com/group/spam-a-lot/" target="_blank">SPAM</a> tiene su lugar.</span></div>
</div>
<br><br><div class="gmail_quote">2013/6/14 Alejandro Stendelis <span dir="ltr"><<a href="mailto:stendelis@gmail.com" target="_blank">stendelis@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">Gracias carlos,<div><br></div><div>Ya tengo dos métodos más para ver, aparte de los que yo quería tener en cuenta.</div><div><br></div><div><ol><li>Pasar con <span style="font-size:13px;font-family:arial,sans-serif">sed/awk a csv e importar directamente al MYSQL</span><br>
</li><li><a href="http://lxml.de/xpathxslt.html" target="_blank">http://lxml.de/xpathxslt.html</a><br></li><div class="im"><li><a href="http://vtd-xml.sourceforge.net/" target="_blank">http://vtd-xml.sourceforge.net/</a><br>
</li><li><a href="http://xml-shell.sourceforge.net/" target="_blank">http://xml-shell.sourceforge.net/</a><br>
</li><li><a href="http://www.xmlsh.org/Commands" target="_blank">http://www.xmlsh.org/Commands</a><br></li><li><a href="http://rpbouman.blogspot.com/2006/03/importing-xml-data-into-mysql-using.html" target="_blank">http://rpbouman.blogspot.com/2006/03/importing-xml-data-into-mysql-using.html</a><br>
</li></div></ol><div><br></div><div>Por lo que pude leer el método que numero como 3 "vtd-xml", tiene como ventaja la velocidad, según dice ahí. Menciona procesos de un xml de 100 megas en pocos segundos.</div>
<div>
<br></div><div>Independientemente del método que pueda utilizar también necesito un freelance para programar esto, alguno sabe de alguna bolsa de trabajo o un listado o algun foto, me gustaría que sea un programador en uruguay.</div>
<div><br></div><div>Saludos.</div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">El 14 de junio de 2013 11:30, Carlos M. Martinez <span dir="ltr"><<a href="mailto:carlosmarcelomartinez@gmail.com" target="_blank">carlosmarcelomartinez@gmail.com</a>></span> escribió:<div>
<div class="h5"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
Buen punto ;)<div><div><br>
<br>
<div>On 6/14/13 11:11 AM, Chicken Urine
wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div class="gmail_default">Estoy completamente de
acuerdo que usar XPath es lo más prolijo, pero a veces es
necesario tomar decisiones desprolijas en pos de la
performance. Habría que hacer pruebas y ver qué se comporta
mejor.</div>
</div>
<div class="gmail_extra"><br clear="all">
<div>
<div><br>
</div>
.:-:ChiCkENURiNE:-:.
<div><span>+ </span><span>El <a href="http://groups.google.com/group/spam-a-lot/" target="_blank">SPAM</a> tiene su lugar.</span></div>
</div>
<br>
<br>
<div class="gmail_quote">2013/6/14 Carlos M. Martinez <span dir="ltr"><<a href="mailto:carlosmarcelomartinez@gmail.com" target="_blank">carlosmarcelomartinez@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"> Ese es el punto del
XPath, no hace falta hilar tan fino en la estructura del
texto mismo como con sed/awk, donde matcheando patrones de
texto se te puede romper todo por un espacio de mas o de
menos.<br>
<br>
En Python: <a href="http://lxml.de/xpathxslt.html" target="_blank">http://lxml.de/xpathxslt.html</a><br>
<br>
s2<span><font color="#888888"><br>
<br>
~Carlos</font></span>
<div>
<div><br>
<br>
<div>On 6/14/13 8:58 AM, Chicken Urine wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div class="gmail_default">Dependiendo de como sea
la estructura del xml puede ser trivial con
sed/awk pasarlo a un csv. Hacer un load data de
10k registros en Mysql te puede llevar menos de
30 segundos con la configuración optima.</div>
</div>
<div class="gmail_extra"><br clear="all">
<div>
<div><br>
</div>
.:-:ChiCkENURiNE:-:.
<div><span>+ </span><span>El <a href="http://groups.google.com/group/spam-a-lot/" target="_blank">SPAM</a> tiene su lugar.</span></div>
</div>
<br>
<br>
<div class="gmail_quote">2013/6/14 Alejandro
Stendelis <span dir="ltr"><<a href="mailto:stendelis@gmail.com" target="_blank">stendelis@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">Gracias, por los consejos en
PHP, pero ya he probado todo y he realizado
varias pruebas de velocidad, del xml preciso
toda la info que tiene, el que tiene 2.5
millones de tags, se transforman en 10 mil
registros en el MYSQL, de ahí la velocidad
de procesado que necesito.</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">El 13 de junio de
2013 23:36, Ivan Baldo <span dir="ltr"><<a href="mailto:ibaldo@adinet.com.uy" target="_blank">ibaldo@adinet.com.uy</a>></span>
escribió:
<div>
<div><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"> Hola.<br>
Capás que el problema con
XMLReader es que generalmente debe
usarse iterando por cada elemento
leído con código PHP y PHP es
lentísimo como lenguaje :-(.<br>
Si no precisás realmente todos
los elementos del XML para
procesar sino que sólo algunos
entonces en una de esas logras
mejor velocidad con DOMDocument y
afines: <a href="http://www.php.net/manual/es/book.dom.php" target="_blank">http://www.php.net/manual/es/book.dom.php</a>
.<br>
Con esa clase lo levantas y
luego por ejemplo podes pedir
todos los elementos que son
determinado "tag" (nombre de
elemento) o por id; si precisas
algo mas avanzado entonces podés
utilizar DOMXPath.<br>
Alternativamente podés probar
SimpleXML <a href="http://www.php.net/manual/es/book.simplexml.php" target="_blank">http://www.php.net/manual/es/book.simplexml.php</a>
que es un poco mas sencillo de
usar aunque supongo (me puedo
equivocar) que un poco mas lento,
pero probablemente si no iteras en
todos los elementos va a ser
bastante mas rápido que XMLReader.<br>
Saludos.<br>
<br>
<br>
El 13/06/13 11:21, Alejandro
Stendelis escribió:
<blockquote type="cite">
<div>
<div>
<div dir="ltr">Hola,<br>
<br>
Tengo un proyecto
funcionando, esta
realizado en PHP, el mismo
se trata de procesar cada
hora algunos archivos XML
(son unos 30 archivos que
pesan de 5 megas a 350
megas). <br>
<br>
El servicio funciona de
esta manera en resumen.<br>
<br>
Legan los XML en formato
.zip.<br>
Un cron job se fija cuando
se actualizan.<br>
Si hay archivos de
descomprimen.<br>
Un php toma el XML y por
medio de XMLReader() lo
procesa y hace unos 10
inserts en promedio por
cada XML.<br>
Luego se utiliza los datos
de la DB para hacer
funcionar un servicio.<br>
<br>
La situación hasta este
momento es que lo hace muy
bien, pero necesito
acelerar el proceso de los
XML, XMLReader() tarda en
el XML mas grande unos 20
minutos, son cerca de 350
megas y unas 2.5 millones
de lineas.<br>
<br>
Me imagino que haciendo un
script shell o en C, que
corra directamente sobre
el servidor linux, ahorro
mucho tiempo y puedo tener
mas control de los
procesos, ya que es mas
nativo por así decirlo.<br>
<br>
Buscando encontré estos
códigos, los cuales me
imagino que uno de ellos
es el mejor camino a
seguir.<br>
<br>
Mi pregunta es, quien
tiene experiencia en
tratar desde scripts datos
complejos?, y cual es el
mejor camino a seguir?<br>
Necesitaré un programador
Freelance que en algún
momento tendré que
contratar.<br>
<br>
<br>
<a href="http://vtd-xml.sourceforge.net/" target="_blank">http://vtd-xml.sourceforge.net/</a><br>
<a href="http://xml-shell.sourceforge.net/" target="_blank">http://xml-shell.sourceforge.net/</a><br>
<a href="http://www.xmlsh.org/Commands" target="_blank">http://www.xmlsh.org/Commands</a><br>
<a href="http://rpbouman.blogspot.com/2006/03/importing-xml-data-into-mysql-using.html" target="_blank">http://rpbouman.blogspot.com/2006/03/importing-xml-data-into-mysql-using.html</a><br>
<br>
Gracias.<br>
</div>
<br>
<fieldset></fieldset>
<br>
</div>
</div>
<div>
<pre>_______________________________________________
Uylug-programming mailing list
<a href="mailto:Uylug-programming@listas.uylug.org.uy" target="_blank">Uylug-programming@listas.uylug.org.uy</a>
<a href="http://listas.uylug.org.uy/listinfo.cgi/uylug-programming-uylug.org.uy" target="_blank">http://listas.uylug.org.uy/listinfo.cgi/uylug-programming-uylug.org.uy</a>
</pre>
</div>
</blockquote>
<span><font color="#888888"> <br>
<pre cols="72">--
Ivan Baldo - <a href="mailto:ibaldo@adinet.com.uy" target="_blank">ibaldo@adinet.com.uy</a> - <a href="http://ibaldo.codigolibre.net/" target="_blank">http://ibaldo.codigolibre.net/</a>
>From Montevideo, Uruguay, at the south of South America.
Freelance programmer and GNU/Linux system administrator, hire me!
Alternatives: <a href="mailto:ibaldo@codigolibre.net" target="_blank">ibaldo@codigolibre.net</a> - <a href="http://go.to/ibaldo" target="_blank">http://go.to/ibaldo</a>
</pre>
</font></span></div>
</blockquote>
</div>
</div>
</div>
<br>
</div>
<br>
_______________________________________________<br>
Uylug-programming mailing list<br>
<a href="mailto:Uylug-programming@listas.uylug.org.uy" target="_blank">Uylug-programming@listas.uylug.org.uy</a><br>
<a href="http://listas.uylug.org.uy/listinfo.cgi/uylug-programming-uylug.org.uy" target="_blank">http://listas.uylug.org.uy/listinfo.cgi/uylug-programming-uylug.org.uy</a><br>
<br>
</blockquote>
</div>
<br>
</div>
<br>
<fieldset></fieldset>
<br>
<pre>_______________________________________________
Uylug-programming mailing list
<a href="mailto:Uylug-programming@listas.uylug.org.uy" target="_blank">Uylug-programming@listas.uylug.org.uy</a>
<a href="http://listas.uylug.org.uy/listinfo.cgi/uylug-programming-uylug.org.uy" target="_blank">http://listas.uylug.org.uy/listinfo.cgi/uylug-programming-uylug.org.uy</a>
</pre>
</blockquote>
<br>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
</div></div></div>
<br>_______________________________________________<br>
Uylug-programming mailing list<br>
<a href="mailto:Uylug-programming@listas.uylug.org.uy" target="_blank">Uylug-programming@listas.uylug.org.uy</a><br>
<a href="http://listas.uylug.org.uy/listinfo.cgi/uylug-programming-uylug.org.uy" target="_blank">http://listas.uylug.org.uy/listinfo.cgi/uylug-programming-uylug.org.uy</a><br>
<br></blockquote></div></div></div><br></div>
</blockquote></div><br></div>