2015-04-02 15 views
6

Cosa è più veloce/più facile da convertire in SQL, che accetta gli script SQL come input: Spark SQL che si presenta come uno strato di velocità per le query Hive ad alta latenza o Phoenix? E se sì, come? Ho bisogno di fare molti scatti/unirmi/raggrupparmi sui dati. [hbase]Apache Phoenix vs Hive-Spark

Esiste un'alternativa su Cassandra CQL per supportare quanto sopra menzionato (unione/raggruppamento in tempo reale)?

Probabilmente sono legato a Spark dal momento che vorrei approfittare di MLlib. Ma per elaborare i dati che dovrebbero essere la mia opzione per andare?

Grazie, Kraster

risposta

1

http://phoenix-hbase.blogspot.com/ io più poi certo che Phoenix su HBase funzionerà più velocemente.

Ecco la query di esempio e il requisito del PC per il test Query: selezionare il conteggio (1) dalla tabella su 10M e 100M righe. I dati sono 5 colonne strette. Numero di server regione: 4 (heap HBase: 10 GB, processore: 6 core @ 3,3 GHz Xeon) enter image description here Poiché Phoenix utilizza l'interfaccia client HBASE per caricare tutte le query e utilizza il motore di query solo per mappare l'attività sql per l'attività di riduzione della mappa in HBase

+0

La domanda riguarda Hive-Spark. Questo grafico non menziona se Hive fa MR o Spark. Sembra che il confronto sia con Hive MR invece di Spark – sinu

2

avete alcune opzioni (dalla mia conoscenza)

  1. Apache fenice è una buona scelta per bassa latenza e la tabella di misura media (1M - righe 100M, ma attenzione le tabelle con molte colonne!) in lavorazione. Un grande vantaggio per Phoenix è che è davvero facile iniziare. La mia azienda aveva già un set di cluster HBase (con kerberos). Per utilizzare Phoenix, tutto ciò di cui avevo bisogno era l'URL HMaster, Hbase-site.xml e un keytab per far funzionare l'operazione. Le letture e le scritture molto veloci sono decenti (è più lento per me perché dovevo farlo dinamicamente, quindi ero costretto a utilizzare l'API client Java invece del caricamento in serie)

  2. Anche Hive with Spark è ottimo. Non sono sicuro di quanto grande sia una performance su Phoenix. Dato che Spark fa la maggior parte delle cose in memoria, presumo che dovrebbe essere veloce. Tuttavia, posso dirti se vuoi esporre l'accesso SQL come una specie di API, l'uso della scintilla diventa piuttosto difficile.

  3. Presto è un ottimo prodotto che offre una potenza scintilla come l'elaborazione con interfaccia SQL che consente di dati inter-connette da molte fonti (Hive, Cassandra, MySQL .etc)

Spero che questo aiuta.