Attualmente sto usando R + Python con RPY2 per manipolare dati e ggplot per creare una grafica bellissima .. Ho alcuni dati in un database PostgreSQL e sto usando psycopg2 per interrogare i dati.Query OLAP Mondrian (MDX, XMLA) con un'interfaccia Python?
sto iniziando una tesi, e in futuro mi bisogno di un OLAP cube per memorizzare la mia (molto grande) dei dati di simulazione: dimensioni multiple, interrogare aggregazione, ecc
C'è qualche buona pratica o standard per l'interfacciamento tra Python (e voglio Python + R, nessun jpivot o qualche altra dashboard in Java) e un motore OLAP come Mondrian? Ho cercato su Google qualsiasi soluzione e non ho trovato nulla.
ho brevemente valutato SQLAlchemy, e Django-ORM, ma non hanno MDX o XML/Un'interfaccia per interrogare un server OLAP (Mondrian o altro) ...
E 'possibile scrivere una query in MDX e, con psycopg + ODBC, interrogare il mio server OLAP e il server OLAP fornendomi una risposta dai miei dati di simulazione (nessuna mappatura su oggetti Python, ma per me è OK)?
Update 1:
Perché devo cercare in giro tecnologia OLAP + Mondrian?
Perché University of Laval (GeoSoa dipartimenti + Thierry Badard) ha scritto un'estensione spaziale per OLAP: SOLAP, e attuate in questo Mondrian come GeoMondrian. Questo mi interessa perché sto lavorando su una simulazione spaziale basata su agenti multipli (~ = geosimulazione).
Il dipartimento di GeoSoa ha creato un componente basato su Ajax per comunicare e visualizzare i dati spaziali con GeoMondrian: SOLAPLAYERS, che può interrogare un server Mondrian tramite il suo servlet Xlma.
Problema: probabilmente lento nel grande manipolazione dei dati, hanno bisogno di internet o Apache 2. In breve, è solo di visualizzare i dati o mappa ... Nel mio caso, ho bisogno di dati grezzi di fare il mio manipolazione dei dati + grafica con R: analisi spaziale, analisi di regressione, rank-tail, ecc. Qui, SOLAP mi aiuta a preparare i dati per questa analisi R più complessa.
Perché Python?
1 - l'accesso Web ai dati spaziali -
Sto cercando di utilizzare un framework Python "cool", come GeoDjango o MapFish: grande comunità in GIS, open-source, utilizzare GeoAlchemy per manipolare spaziale Query/dati, includere la visualizzazione con le estensioni JavaScript e OpenLayers, ecc
2 - L'accesso locale ai dati spaziali in GIS -
voglio creare un plugin in QGIS (GIS open source) per accedere e visualizzare d ata, e plugin QGIS e API = Python.
3 - l'analisi automatica dei dati -
un utente o uno scienziato corre una simulazione con il grid computing e scegliere l'analisi automatica (R + ggplot2 + MDX query) si desidera eseguire su questi dati.Il mio obiettivo qui è creare un report sintetico della simulazione (grafico, dati tabellari, ecc.).
Quindi, dopo la simulazione, i dati passano al cubo OLAP/SOLAP e molti script Python (creati dall'utente) acquisiscono dati con MDX, manipolano i dati con R + RPY2 e scrivono e producono un output interessante per lo scienziato su doku -wiki o un'altra piattaforma di comunità.
Problema?
1 - Olap4j, il nucleo API di Mondrian per comunicare con un componente esterno, è Java-fatta:/
2 - SOLAPLAYERS utilizza Ajax per accedere ai dati, troppo lento per me.
3 - SQLAlchemy e GeoAlchemy non dispongono di connessione a un database multidimensionale (OLAP).
* Soluzione? *
1 - Py4j accede all'oggetto Java o alla raccolta Java in olap4j con Python? Scrivi la mia funzione per accedere alla collezione mappata Java? => pericoloso e non molto facile? ...
2 - XLMA con server Ajax Mondrian? È troppo lento
3 - Scrivi il mio py-connector a OLAP Mondrian? => Ahi. È un modo difficile, penso.
Cosa devo fare?
Sto cercando una soluzione, sembra che posso provare a associare olap4j (java) e software di chiamata pythonToJava come JPype o Py4j ... Un'altra persona ha un'altra risposta o commento qui? – reyman64
Basta farti sapere, c'è una [pura tabella pivot javascript] (http://webpivottable.com) in grado di ruotare i cubi OLAP XMLA con interfaccia utente intuitiva e grandi prestazioni. [demo] (http://webpivottable.com/demo) e [documenti] (http://webpivottable.com/documents) –