4 votos

Enorme conjunto de datos x,y,z en oracle, ¿es posible?

Tengo 200 archivos .xyz que contienen 1500000 puntos cada uno. ¿Es posible importar este conjunto de datos a Oracle?

Hace un total de ¡¡¡300.000.000 de puntos!!!

El contexto es que quiero mejorar un script de FME que recorta una región deseada de datos de elevación. Actualmente utiliza una rejilla .shp para encontrar los archivos .xyz intersecados. Esto se hace con dos espacios de trabajo fme vinculados, procedimiento muy complicado. Si puedo meterlo en oracle, un lector de oracle con bounds haría el mismo trabajo más sencillo..

Se agradece cualquier aportación sobre datos de elevación en bases de datos o recuperación de datos de elevación en FME.

Saludos cordiales.

2voto

MobileCushion Puntos 217

Creo que tienes razón en que Oracle hará un trabajo más rápido al recortar los datos, porque entonces los datos estarán (presumiblemente) indexados. FME está trabajando en los archivos xyz básicos que no están indexados. Así que naturalmente será más lento.

Si los datos no cambian, entonces podrías convertirlos de xyz a un formato indexado espacialmente que FME pudiera utilizar - por ejemplo POD - y la velocidad mejoraría drásticamente. Pero aún así, los datos indexados almacenados en Oracle y procesados por Oracle deberían tener siempre un mejor rendimiento.

En cuanto a la metodología de FME, no estaría necesariamente de acuerdo con decir que sería más sencillo con Oracle. Simplemente no veo por qué su solución FME debería ser tan compleja (a menos que haya otros detalles que desconozco).

La solución ideal es un espacio de trabajo único con un lector para leer el conjunto de datos Shape. Usted alimenta que en un FeatureReader para leer el xyz, utilizando la característica de forma como un límite de recorte. A continuación, escribir los datos con un escritor. Debería ser muy sencillo. Ciertamente no veo la necesidad de tener dos espacios de trabajo FME vinculados.

Otro consejo sobre FME. Asegúrate de utilizar el lector de formato XYZ. De esta forma FME creará una única y eficiente característica de nube de puntos. Si utilizas el formato CSV y un transformador para convertirlo en puntos, entonces estarás trabajando con características de puntos individuales de 300m y el proceso será mucho, mucho más lento.

1voto

Michael Barker Puntos 8234

Tratar los datos como CSV.

En Postgresql haría algo como

Copiar xyz de '/ruta/a/csv/xyz.txt' DELIMITADORES ',' CSV; El comando copiar es la forma más rápida de importar datos a la base de datos.

Si pasas esas cosas por FME será lento. La forma más rápida con FME sería PATHreader->SQLExecutor (ejecutar copia aquí) ->Resultados, si usas xyz reader será más lento. Y sería más rápido si usted lee xyz archivo como nube de puntos vs puntos.

followin links parece tener como hacerlo en Oracle http://www.orafaq.com/wiki/SQL *Loader_FAQ

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X