Saturday 21 October 2017

Cloudera Mobile Media


Sono incappato in questo articolo: che cita come calcolare media mobile utilizzando Hadoop. Si prega di notare che tutti i record di una chiave devono essere ordinati e quindi ridotti. Ora per scontato che i record per una particolare chiave sono distribuite su tutti i frammenti di cluster di Mongo. In tal caso, sarebbe possibile calcolare la media mobile Capisco che Mongo non la mappa di ridurre ad ogni nodo. Il requisito principale per risolvere questo problema è quello di assicurarsi che tutte le emette per una mappa di ridurre in una sola fase di ridurre. Se questo è il caso, allora Mongo Mappa Ridurre sarà mai in grado di risolvere tali problemi. C'è qualche equivoco di fondo Inoltre, con miliardi di righe e petabyte di dati, perché è che Hadoop Ridurre incidente doesnt fase di esaurimento della memoria, dal momento che ha a che fare con almeno diverse TB di dati mappati. chiesto 16 Maggio 13 ad 7:31 Può spiegare perché incidente Hadoop doesn39t di memoria per tale calcolo Dalla mia comprensione, tutti i ridurre accadrà su un nodo, dove saranno ridotti tutti i record per una chiave. Questo dovrebbe portare a enorme sovraccarico di memoria su quel nodo, dal momento che TB di dati devono essere presenti. Come fa Hadoop gestisce tale enorme quantità di dati ndash P. Prasad 16 Maggio 13 ad 8:29 Credo che, a differenza di MongoDB, Hadoop, proprio come SQL durante l'elaborazione di una grande join, scriverà le cose su disco e leggere solo quando necessario con il sistema operativo utilizzando scambio come supporto di memoria temporanea per certe cose probabilmente. MongoDB fa di più nella RAM prima di scrivere su disco come tale sarà facilmente salvare ndash Sammaye 16 Maggio 13 ad 8: 37Moving Medie - semplici e medie mobili esponenziali - semplice ed esponenziale Introduzione Medie mobili lisciare i dati sui prezzi in modo da formare una tendenza seguente indicatore. Essi non prevedere la direzione dei prezzi, ma piuttosto definiscono la direzione della corrente con un certo ritardo. Le medie mobili in ritardo perché si basano sui prezzi passati. Nonostante questo ritardo, medie mobili rendere più agevole l'azione dei prezzi e filtrare il rumore. Formano anche le basi per molti altri indicatori e sovrapposizioni tecniche, come le bande di Bollinger. MACD e il McClellan Oscillator. I due tipi più popolari di medie mobili sono la media mobile semplice (SMA) e la media mobile esponenziale (EMA). Queste medie mobili possono essere usate per identificare la direzione del trend o definire potenziali livelli di supporto e resistenza. Here039s un grafico sia con un SMA e di un EMA su di esso: mobile semplice calcolo della media Una media mobile semplice è formata calcolando il prezzo medio di un titolo su un determinato numero di periodi. La maggior parte delle medie mobili si basano sui prezzi di chiusura. Una media mobile semplice di 5 giorni è la somma di cinque giorni dei prezzi di chiusura diviso per cinque. Come suggerisce il nome, una media mobile è una media che si muove. Vecchio dati si interrompe come nuovi dati viene disponibili. Questo fa sì che la media di muoversi lungo la scala temporale. Di seguito è riportato un esempio di una 5 giorni di media mobile evoluzione nell'arco di tre giorni. Il primo giorno della media mobile copre semplicemente gli ultimi cinque giorni. Il secondo giorno della media mobile scarta il primo punto di dati (11) e aggiunge il nuovo punto di dati (16). Il terzo giorno della media mobile continua facendo cadere il primo punto di dati (12) e aggiungendo il nuovo punto di dati (17). Nell'esempio precedente, i prezzi aumentano gradualmente dal 11 al 17 per un totale di sette giorni. Si noti che la media mobile si alza anche dal 13 al 15 nel corso di un periodo di calcolo di tre giorni. Si noti inoltre che ogni valore della media mobile è appena sotto l'ultimo prezzo. Ad esempio, la media mobile per il primo giorno è uguale a 13 e l'ultimo prezzo è 15. I prezzi delle precedenti quattro giorni erano più bassi e questo fa sì che la media mobile di lag. Mobile esponenziale calcolo medio medie mobili esponenziali a ridurre il ritardo, applicando un peso maggiore ai prezzi recenti. La ponderazione applicata al prezzo più recente dipende dal numero di periodi in media mobile. Ci sono tre passi per il calcolo di una media mobile esponenziale. In primo luogo, calcolare la media mobile semplice. Una media mobile esponenziale (EMA) deve cominciare da qualche parte in modo da una media mobile semplice è usato come il precedente period039s EMA nel primo calcolo. In secondo luogo, calcolare il moltiplicatore ponderazione. In terzo luogo, calcolare la media mobile esponenziale. La formula che segue è un EMA 10 giorni. Una media mobile esponenziale a 10 periodi si applica una ponderazione 18.18 al prezzo più recente. A EMA 10-periodo può anche essere chiamato un 18.18 EMA. A EMA a 20 periodi si applica un peso di 9.52 per il prezzo più recente (2 (201) 0,0952). Si noti che il coefficiente per il periodo di tempo più breve è maggiore della ponderazione per il periodo di tempo più lungo. Infatti, la ponderazione scende della metà ogni volta che si spostano doppie medi di periodo. Se si vuole noi una percentuale specifica di un EMA, è possibile utilizzare questa formula per convertirlo in periodi di tempo e quindi immettere il valore come parametro EMA039s: Di seguito è riportato un esempio di foglio di calcolo di un 10 giorni di media mobile semplice e di un 10- giorno medio mobile esponenziale per Intel. Semplici medie mobili sono dritto in avanti e richiedono poca spiegazione. La media di 10 giorni si sposta semplicemente come nuovi prezzi disponibili e prezzi vecchi scendere. La media mobile esponenziale inizia con il semplice valore media mobile (22.22) nel primo calcolo. Dopo il primo calcolo, la formula normale riprende. Perché un EMA inizia con una media mobile semplice, il suo vero valore, non sarà realizzato fino a 20 o giù di periodi successivi. In altre parole, il valore sul foglio di calcolo Excel può differire dal valore grafico a causa del periodo di sguardo-back breve. Questo foglio di calcolo va solo indietro di 30 periodi, il che significa l'effetto della semplice media mobile ha avuto 20 periodi a dissipare. StockCharts risale almeno 250-periodi (tipicamente molto maggiori) per i suoi calcoli così gli effetti della media mobile nel primo calcolo sono completamente dissipata. Il GAL Factor Più lunga è la media mobile, più il ritardo. Una media mobile esponenziale a 10 giorni sarà abbracciare prezzi abbastanza da vicino e girare poco dopo che i prezzi girano. medie mobili brevi sono come barche di velocità - agile e veloce da cambiare. Al contrario, una media mobile di 100 giorni contiene un sacco di dati passato che lo rallenta. le medie più in movimento sono come cisterne oceano - letargico e lento a cambiare. Ci vuole un movimento di prezzo più grande e più a lungo per una 100 giorni di media mobile a cambiare rotta. Il grafico in alto mostra la 500 ETF SampP con 10 giorni EMA strettamente seguenti prezzi e una SMA di 100 giorni di rettifica superiore. Anche con il calo di gennaio-febbraio, i 100 giorni SMA ha tenuto il corso e non si voltò verso il basso. L'50 giorni di SMA si inserisce da qualche parte tra il giorno 10 e 100 medie mobili quando si tratta di fattore di ritardo. Semplice vs mobile esponenziale Medie Anche se ci sono chiare differenze tra semplici medie mobili e le medie mobili esponenziali, uno non è necessariamente migliore dell'altra. medie mobili esponenziali hanno meno lag e sono quindi più sensibili ai prezzi recenti - e recenti cambiamenti di prezzo. medie mobili esponenziali si trasformerà prima semplici medie mobili. Semplici medie mobili, dall'altro, rappresentano un vero valore medio dei prezzi per l'intero periodo di tempo. Come tale, semplici medie mobili possono essere più adatto per identificare i livelli di supporto o di resistenza. Spostamento di preferenza media dipende da obiettivi, lo stile analitico e orizzonte temporale. Chartists dovrebbero sperimentare con entrambi i tipi di medie mobili, nonché diversi orizzonti temporali, per trovare la soluzione migliore. Il grafico sottostante mostra IBM con il 50 giorni di SMA in rosso e il 50 giorni di EMA in verde. Sia ha raggiunto un picco a fine gennaio, ma il calo del EMA era più nitida rispetto al calo del SMA. L'EMA alzato a metà febbraio, ma la SMA ha continuato inferiore fino alla fine di marzo. Si noti che la SMA alzato più di un mese dopo l'EMA. Lunghezze e tempi La lunghezza della media mobile dipende dagli obiettivi analitici. medie mobili a breve (5-20 periodi) sono più adatti per le tendenze a breve termine e il commercio. Chartists interessati nelle tendenze a medio termine sarebbe optare per le medie più in movimento che potrebbe estendersi 20-60 periodi. investitori a lungo termine preferiranno medie mobili con 100 o più periodi. Alcuni lunghezza media in movimento sono più popolari di altri. La media mobile a 200 giorni è forse il più popolare. A causa della sua lunghezza, questo è chiaramente un media mobile di lungo termine. Successivamente, la media mobile a 50 giorni è molto popolare per la tendenza a medio termine. Molti chartists utilizzano le medie di 50 giorni e 200 giorni in movimento insieme. A breve termine, una media mobile di 10 giorni era molto popolare in passato perché era facile da calcolare. Uno semplicemente aggiunti i numeri e si è trasferito il punto decimale. Trend di identificazione Gli stessi segnali possono essere generati utilizzando medie mobili semplici o esponenziali. Come notato sopra, la preferenza dipende da ogni individuo. Questi esempi di seguito utilizzeranno entrambe le medie mobili semplici ed esponenziali. La media termine in movimento si applica sia alle medie mobili semplici ed esponenziali. La direzione della media mobile trasmette informazioni importanti sui prezzi. Una media mobile aumento dimostra che i prezzi sono generalmente in aumento. Una media mobile calo indica che i prezzi, in media, sono in calo. Un aumento a lungo termine media mobile riflette un trend rialzista a lungo termine. A lungo termine si muove cadere media riflette una tendenza al ribasso a lungo termine. Il grafico in alto mostra 3M (MMM) con una media mobile esponenziale a 150 giorni. Questo esempio dimostra quanto bene medie mobili funzionano quando la tendenza è forte. I 150 giorni di EMA ha respinto nel novembre 2007 e nuovamente nel gennaio 2008. Si noti che ci sono voluti un calo del 15 per invertire la direzione di questa media mobile. Questi indicatori in ritardo di sviluppo identificano le inversioni di tendenza in cui si verificano (nella migliore delle ipotesi) o dopo che si verifichino (nel peggiore dei casi). MMM continuato inferiore nel marzo 2009 e poi è salito 40-50. Si noti che i 150 giorni EMA non girare fino a dopo questa ondata. Una volta lo ha fatto, tuttavia, ha continuato MMM superiore i prossimi 12 mesi. Le medie mobili funzionano brillantemente nelle tendenze forti. Doppia Crossover due medie mobili possono essere utilizzati insieme per generare segnali di crossover. In Analisi tecnica dei mercati finanziari. John Murphy chiama questo il metodo della partita doppia crossover. crossover doppie comporta uno relativamente breve media mobile e una media relativamente lunga in movimento. Come con tutti i media mobile, la lunghezza complessiva della media mobile definisce i tempi per il sistema. Un sistema che utilizza un EMA 5 giorni e 35 giorni EMA sarebbe ritenuto breve termine. Un sistema che utilizza un 50 giorni di SMA e 200 giorni SMA sarebbe considerato a medio termine, forse anche a lungo termine. Un crossover rialzista si verifica quando i più brevi in ​​movimento croci sopra la media la media più in movimento. Questo è anche conosciuto come una croce d'oro. Un crossover ribassista si verifica quando i più brevi in ​​movimento croci bassi rispetto alla media più in movimento. Questo è noto come una croce morto. In movimento crossover media producono segnali relativamente tardi. Dopo tutto, il sistema impiega due indicatori in ritardo di sviluppo. Più lungo è il movimento periodi medi, maggiore è il ritardo nei segnali. Questi segnali grande lavoro quando un buon andamento prende piede. Tuttavia, un sistema di crossover media mobile produrrà un sacco di whipsaws in assenza di una forte tendenza. Vi è anche un metodo di crossover tripla che prevede tre medie mobili. Ancora una volta, un segnale viene generato quando la media più breve mobile attraversa le due medie più mobili. Un semplice sistema a tre di crossover potrebbe coinvolgere 5 giorni, 10 giorni e 20 giorni medie mobili. Il grafico in alto mostra Home Depot (HD) con un EMA a 10 giorni (linea verde tratteggiata) e 50 giorni di EMA (linea rossa). La linea nera è il quotidiano vicino. Utilizzando un crossover media mobile avrebbe comportato tre whipsaws prima di prendere un buon mestiere. Il 10-giorni EMA ha rotto al di sotto dei 50 giorni EMA alla fine di ottobre (1), ma questo non durò a lungo come il 10-giorni è tornato sopra a metà (2) novembre. Questa croce è durato più a lungo, ma il prossimo incrocio ribassista a (3) Gennaio si è verificato nei pressi di novembre i livelli di fine dei prezzi, con conseguente un'altra whipsaw. Questo cross ribassista non durò a lungo, come i 10 giorni di EMA è tornato sopra i 50 giorni di pochi giorni dopo (4). Dopo tre segnali cattivi, il quarto segnale prefigurato una mossa forte come il magazzino avanzato oltre 20. Ci sono due take away qui. In primo luogo, crossover sono inclini a Whipsaw. Un filtro di prezzo o di tempo può essere applicata per aiutare a prevenire whipsaws. I commercianti potrebbero richiedere il crossover durare 3 giorni prima di agire o richiedere i 10 giorni di EMA per spostare il abovebelow 50 giorni EMA da una certa quantità prima di agire. In secondo luogo, MACD può essere utilizzato per identificare e quantificare questi crossover. MACD (10,50,1) mostrerà una linea che rappresenta la differenza tra le due medie mobili esponenziali. MACD diventa positivo nel corso di una croce d'oro e negativo nel corso di una croce morto. La percentuale Price Oscillator (PPO) può essere utilizzato allo stesso modo per mostrare le differenze percentuali. Si noti che MACD e il PPO si basano su medie mobili esponenziali e non corrisponderanno con semplici medie mobili. Questo grafico mostra Oracle (ORCL), con il 50 giorni EMA, EMA 200 giorni e MACD (50,200,1). Ci sono stati quattro in movimento crossover medi per un periodo di 2 di 12 anni. I primi tre provocato whipsaws o mestieri male. Una tendenza sostenuta iniziata con la quarta di crossover come ORCL avanzate per metà degli anni '20. Ancora una volta, in movimento crossover medi grande lavoro quando la tendenza è forte, ma producono perdite in assenza di una tendenza. Prezzo Crossover Le medie mobili possono essere utilizzati anche per generare segnali con semplici crossover di prezzo. Un segnale rialzista viene generato quando i prezzi si muovono al di sopra della media mobile. Un segnale ribassista è generato quando i prezzi si muovono al di sotto della media mobile. crossover prezzo possono essere combinati per scambi all'interno della tendenza più grande. La media è più in movimento dà il tono per la tendenza più grande e la media mobile più breve è utilizzato per generare i segnali. Si potrebbe guardare per incroci rialzisti dei prezzi solo quando i prezzi sono già al di sopra della media più in movimento. Questo sarebbe la negoziazione di sintonia con la tendenza più grande. Ad esempio, se il prezzo è al di sopra della media mobile a 200 giorni, chartists si concentrerà unicamente su segnali quando il prezzo si muove al di sopra del 50 giorni di media mobile. Ovviamente, una mossa al di sotto della media mobile a 50 giorni sarebbe precedere tale segnale, ma tali cross ribassisti verrebbe ignorato perché la tendenza più grande è alto. Un cross ribassista sarebbe semplicemente suggerire un pullback all'interno di un trend al rialzo più grande. Una croce di nuovo al di sopra della media mobile a 50 giorni segnalerebbe una ripresa dei prezzi e continuazione del trend rialzista più grande. Il grafico seguente mostra Emerson Electric (EMR) con la 50 giorni EMA e 200 giorni EMA. Il titolo è passato sopra e tenuto al di sopra della media mobile a 200 giorni nel mese di agosto. Ci sono stati cali al di sotto del 50 giorni EMA ai primi di novembre e di nuovo all'inizio di febbraio. I prezzi si muovevano rapidamente indietro al di sopra del 50 giorni EMA a fornire segnali rialzisti (frecce verdi) in armonia con il trend rialzista più grande. MACD (1,50,1) viene visualizzato nella finestra dell'indicatore di confermare croci di prezzo sopra o sotto il 50 giorni EMA. L'EMA di 1 giorno è uguale al prezzo di chiusura. MACD (1,50,1) è positivo quando la chiusura è superiore al 50 giorni EMA e negativo quando la chiusura è inferiore al 50 giorni EMA. Supporto e resistenza Le medie mobili possono anche fungere da supporto in una tendenza rialzista e resistenza in un trend al ribasso. Un trend rialzista di breve termine potrebbe trovare supporto nei pressi della media mobile semplice a 20 giorni, che viene utilizzato anche in bande di Bollinger. Un trend rialzista di lungo termine potrebbe trovare supporto nei pressi della media mobile semplice a 200 giorni, che è il più popolare media mobile di lungo periodo. Se, infatti, la media mobile a 200 giorni può offrire supporto o resistenza semplicemente perché è così ampiamente usato. E 'quasi come una profezia che si autoavvera. Il grafico qui sopra mostra il NY Composite con la semplice media mobile a 200 giorni a partire da metà 2004 fino alla fine del 2008. Il 200 giorni fornito un supporto più volte durante l'avanzata. Una volta che la tendenza si è invertita con una doppia interruzione di supporto superiore, la media mobile a 200 giorni ha agito come resistenza intorno a 9500. Non aspettatevi esatti livelli di supporto e resistenza da medie mobili, in particolare più medie mobili. I mercati sono guidati dalle emozioni, che li rende inclini a superamenti. Invece di livelli precisi, medie mobili possono essere utilizzati per individuare le zone di supporto o di resistenza. Conclusioni I vantaggi di usare medie mobili devono essere pesati contro gli svantaggi. Le medie mobili sono trend following, o in ritardo, gli indicatori che saranno sempre un passo indietro. Questo non è necessariamente una brutta cosa, però. Dopo tutto, il trend è tuo amico, ed è migliore per il commercio nella direzione del trend. Le medie mobili assicurare che un trader è in linea con l'attuale tendenza. Anche se la tendenza è tuo amico, titoli trascorrono gran parte del tempo in trading range, che rendono inefficace medie mobili. Una volta in un trend, medie mobili vi terrà in, ma anche dare segnali in ritardo. Don039t si aspettano di vendere in alto e compra al fondo utilizzando medie mobili. Come la maggior parte strumenti di analisi tecnica, medie mobili non dovrebbero essere usati da soli, ma in combinazione con altri strumenti complementari. Chartists possono usare le medie mobili per definire la tendenza generale e quindi utilizzare RSI per definire i livelli di ipercomprato o ipervenduto. L'aggiunta di medie mobili a StockCharts Grafici Le medie mobili sono disponibili come funzionalità prezzo sovrapposizione sul SharpCharts banco di lavoro. Utilizzando il menu a discesa Overlay, gli utenti possono scegliere tra una media mobile semplice o una media mobile esponenziale. Il primo parametro viene utilizzato per impostare il numero di periodi di tempo. Un parametro opzionale può essere aggiunto per specificare quale campo di prezzo dovrebbe essere utilizzato nei calcoli - O per l'Open, H per l'Alto, L per la bassa, e C per la chiusura. Una virgola viene utilizzato per i parametri separati. Un altro parametro opzionale può essere aggiunto a spostare le medie mobili al (passato) o di destra (futuro) di sinistra. Un numero negativo (-10) sposterebbe la media mobile a 10 periodi sinistra. Un numero positivo (10) sposterebbe la media mobile a destra 10 periodi. Più medie mobili possono essere sovrapposti trama prezzo semplicemente aggiungendo un'altra linea di sovrapposizione al banco da lavoro. i membri StockCharts possono cambiare i colori e lo stile di distinguere tra più medie mobili. Dopo aver selezionato un indicatore, aprire le Opzioni avanzate facendo clic sul piccolo triangolo verde. Opzioni avanzate può essere utilizzato anche per aggiungere una sovrapposizione di media mobile ad altri indicatori tecnici come RSI, CCI, e Volume. Clicca qui per un grafico in diretta con diverse medie mobili differenti. Utilizzando medie mobili con StockCharts scansioni Qui ci sono alcune scansioni di esempio che i membri StockCharts possono utilizzare per eseguire la scansione di vari mobili situazioni media: Rialzista Moving Average Croce: Questo scansioni ricerca azioni con un aumento di 150 giorni di media mobile semplice ed un cross rialzista del 5 - day EMA e di 35 giorni EMA. La media mobile a 150 giorni è in aumento fino a quando è scambiato sopra del suo livello di cinque giorni fa. Un cross rialzista si verifica quando il 5 giorni EMA si muove al di sopra del 35 giorni EMA sul volume superiore alla media. Bearish Moving Average Croce: Questo scansioni ricerca azioni con un calo di 150 giorni di media mobile semplice e una traversa al ribasso del 5 giorni EMA e di 35 giorni EMA. La media mobile a 150 giorni è in calo fino a quando è scambiato al di sotto del livello di cinque giorni fa. Un cross ribassista si verifica quando il 5 giorni EMA si muove al di sotto del 35 giorni EMA sul volume superiore alla media. Lo studio ulteriore John Murphy039s libro ha un capitolo dedicato a medie mobili ed i loro vari usi. Murphy copre i pro ei contro di medie mobili. Inoltre, Murphy mostra come le medie mobili funzionano con le fasce di Bollinger e sistemi di trading basati canale. Analisi Tecnica del Blog mercati finanziari John MurphyCloudera Ingegneria media mobile semplice, di ordinamento secondaria, e MapReduce (parte 2) dove la colonna-range è tutte le colonne da quella data a 29 giorni prima. Ora copiare questa formula per i prossimi due file, le date 147342008148 e 147332008148. si dovrebbe avere i valori 14735.396148, 14734,5293,148 mila, e 14733,5293,148 mila che rappresentano le medie mobili di 30 giorni per questo i dati yahoo calcio sintetico. Ora che we8217ve stabilito un esempio di base in Excel let8217s dare un'occhiata a come lo facciamo Simple Moving Average in R. Nozioni fondamentali su Simple Moving Average in R Un altro strumento comune nel dominio serie storiche, in particolare il settore finanziario, è la programmazione R Lingua. R è: un linguaggio di programmazione e ambiente software per il calcolo statistico e la grafica. Uno standard de facto tra statistici per lo sviluppo di software statistico e l'analisi dei dati. Una implementazione del linguaggio di programmazione S in combinazione con la semantica di scoping lessicale ispirati a Scheme. Attualmente sviluppato dal Core Team R sviluppo, ma è stato originariamente sviluppato da Ross Ihaka e Robert Gentleman presso l'Università di Auckland, Nuova Zelanda. Scarica il binario R da qui e installarlo localmente (che supportano sia Linux e Win32). Una volta installato, avviare la console R e rilasciare il menu 147Packages148 verso il basso, che è dove abbiamo bisogno di installare il pacchetto TTR. Selezionare uno specchio e scaricare questo pacchetto. Ora caricare questo pacchetto cliccando sul 147Packages148 discesa e selezionando 147Load Package148. Trovare il pacchetto TTR che è stato appena installato e selezionarlo. Quindi, scaricare i dati di stock sintetici dal mio progetto su GitHub, che contiene 33 righe di dati sintetici azionari da elaborare. Per caricare questi dati CSV in R dobbiamo impostare la nostra directory di lavoro facendo clic sulla voce di menu 147File148 e quindi 147Change directory148. Punta rapida: in qualsiasi momento, l'utente può digitare il nome della variabile e premere Invio per visualizzare il contenuto della variabile. Ora che abbiamo tutto il prep fuori del modo, let146s scrivere la media mobile semplice a R: cambio AZIONE 160160160160160160date160 open160 high160160 basso volume close160160 adj. close 32.160.160,16016 milioni NYSE160160160160160160160160160160 AA 2008-02-03 38,85 39,28 38,26 38,37 11279900160160160160160 8,37 31160160160160 NYSE160160160160160160160160160160 AA 2008 -02-04 37,01 37,90 36,13 36,60 17752400160160160160 10,60 30160160160160 NYSE160160160160160160160160160160 AA 2008-02-05 31,16 31,89 30,55 30,69 17567800160160160160 30,53 29160160160160 NYSE160160160160160160160160160160 AA 2008-02-06 30,27 31,52 30,06 31,47160 8445100160160160160 31,31 28160160160160 NYSE160160160160160160160160160160 AA 2008-02-07 31,73 33,13 31,57 32,66 14338500160160160160 32.49 27.160.160,16016 milioni NYSE160160160160160160160160160160 AA 2008-02-08 32,58 33,42 32,11 32,70 10241400160160160160 32,53 26160160160160 NYSE160160160160160160160160160160 AA 2008-02-09 32,13 33,34 31,95 33,09160 9200400160160160160 32,92 25160160160160 NYSE160160160160160160160160160160 AA 2008-02-10 33,67 34,45 33,07 34,28 15186100160160160160 34,10 24160160160160 NYSE160160160160160160160160160160 AA 2008-02 -11 34,57 34,85 33,98 34,08160 9528000160160160160 33,90 23160160160160 NYSE160160160160160160160160160160 AA 2008-02-12 33,30 33,64 32,52 32,67 11338000160160160160 32,50 22160160160160 NYSE160160160160160160160160160160 AA 2008-02-13 32,95 33,37 32,26 32,41160 7230300160160160160 32,41 21160160160160 NYSE160160160160160160160160160160 AA 2008-02-14 32,24 33,25 31,90 32,78160 9058900160160160160 32,78 20160160160160 NYSE160160160160160160160160 160160AA 2008-02-15 32,67 33,81 32,37 33,76 10731400160160160160 33,76 19160160160160 NYSE160160160160160160160160160160 AA 2008-02-16 33,82 34,25 33,29 34,06 11249800160160160160 34,06 18160160160160 NYSE160160160160160160160160160160 AA 2008-02-17 34,33 34,64 33,26 33,49 12418900160160160160 33,49 17160160160160 NYSE160160160160160160160160160160 AA 2008-02-18 33,75 35,52 33,63 35,51 21082100160160160160 35,51 16160160160160 NYSE160160160160160160160160160160 AA 2008-02-19 36,01 36,43 35,05 35,36 18238800160160160160 35,36 15160160160160 NYSE160160160160160160160160160160 AA 2008-02-20 35,16 35,94 35,12 35,72 14082200160160160160 35,72 14160160160160 NYSE160160160160160160160160160160 AA 2008-02-21 36,19 36,73 35,84 36,20 12825300160160160160 36,20 13160160160160 NYSE160160160160160160160160160160 AA 2008-02-22 35,96 36,85 35,51 36,83 10906600160160160160 36,83 12160160160160 NYSE160160160160160160160160160160 AA 2008-02-23 36,88 37,41 36,25 36,30 13078200160160160160 36,30 11160160160160 NYSE160160160160160160160160160160 AA 2008-02-24 36,38 36,64 35,58 36,55 12834300160160160160 36,55 10160160160160 NYSE160160160160160160160160160160 AA 2008-02-25 36.64 38.95 36,48 38,85 22500100160160160160 38,85 9160160160160160 NYSE160160160160160160160160160160 AA 2008-02-26 38,59 39,25 38,08 38,50 14417700160160160160 38,50 8160160160160160 NYSE160160160160160160160160160160 AA 2008-02-27 38,19 39,62 37,75 39,02 14296300160160160160 39,02 7160160160160160 NYSE160160160160160 160160160160160AA 2008-02-28 38,61 39,29 38,19 39,12 11421700160160160160 39,12 6160160160160160 NYSE160160160160160160160160160160 AA 2008 -02-29 38,77 38,82 36,94 37,14 22611400160160160160 37,14 5160160160160160 NYSE160160160160160160160160160160 AA 2008-03-01 37,17 38,46 37,13 38,32 13964700160160160160 38,32 4160160160160160 NYSE160160160160160160160160160160 AA 2008-03-02 37,90 38,94 37,10 38,00 15715600160160160160 38,00 3160160160160160 NYSE160160160160160160160160160160 AA 2008-03-03 38,25 39,15 38,10 38,71 11754600160160160160 38.71 2160160160160160 NYSE160160160160160160160160160160 AA 2008-03-04 38,85 39,28 38,26 38,37 11279900160160160160 38,37 1160160160160160 NYSE160160160160160160160160160160 AA 2008-03-05 37,01 37,90 36,13 36,60 17752400160160160160 36,60 il codice di cui sopra dovrebbe produrre il nostro media mobile semplice, che siamo in grado di visualizzare digitando il nome del variabile 147sma148 per produrre il seguente risultato: 1160160160160160160 NA160160160160160160 NA160160160160160160 NA160160160160160160 NA160160160160160160 NA160160160160160160 NA160160160160160160 NA160160160160160160 NA160160160160160160 NA160160160160160160 NA160160160160160160 NA160160160160160160 NA160160160160160160 NA160160160160160160 NA160160160160160160 NA160160160160160160 NA160160160160160160 NA160160160160160160 NA160160160160160160 NA160160160160160160 NA 21160160160160160160 NA160160160160160160 NA160160160160160160 NA160160160160160160 NA160160160160160160 NA160160160160160160 NA160160160160160160 NA160160160160160160 NA160160160160160160 NA 33,52,933 mila 34,52,933 mila 35,39,6 mila Dato che prima del 30 ° giorno c'è non abbastanza dati per produrre una media mobile semplice basata sul nostro set di parametri, i 147NA148 voci vengono prodotte. Questi valori corrispondono ai valori anche nel nostro foglio di calcolo Excel. R ha anche un interessante progetto, chiamato RHIPE, che viene eseguito il codice R su cluster Hadoop. Per dare un'occhiata a RHIPE si prega di visitare il loro sito. Così we146ve dato un'occhiata a quello che una media mobile semplice è e come we146d produrlo in Excel e R. Entrambi questi esempi coinvolto un importo simbolico di dati che è interessante, ma non terribilmente utile in today146s tempo domini problema di serie ad alta densità. Come il vostro set di dati comincia a scalare fino al di là di un singolo valore di disco di spazio, Hadoop diventa più pratico. La parte finale di questa tre parti serie di blog spiegherà come utilizzare Hadoop146s MapReduce per calcolare una media mobile. Poi, una volta che avete applicato il codice di esempio per trovare una media mobile semplice del piccolo insieme di dati ad esempio, ci si sposterà a utilizzare questo stesso codice per analizzare oltre trenta anni di valore di tutte le quotazioni di chiusura giornalieri. 2 risposte su ldquo media mobile semplice, di ordinamento secondaria, e MapReduce (Parte 2) rdquo Grande esercitazione, quando hai intenzione di pubblicare parte threeCloudera Ingegneria Blog media mobile semplice, di ordinamento secondaria, e MapReduce (Parte 3) Questo è il pezzo finale di un blog serie in tre parti. Se si desidera visualizzare le parti precedenti di questa serie si prega di utilizzare il seguente link: In precedenza ho spiegato come utilizzare Excel e R come gli strumenti di analisi per calcolare la media mobile semplice di un piccolo insieme di quotazioni di chiusura. In questo pezzo finale alla serie di blog in tre parti, io approfondire utilizzando MapReduce per trovare la media mobile semplice del nostro piccolo insieme di dati di esempio. Allora, io vi mostrerò come utilizzare lo stesso codice, si sarà in grado di calcolare la media mobile semplice di ogni chiusura prezzo del titolo a partire dal 1980. In fondo alla tana del coniglio con Hadoop Negli esempi sopra abbiamo preso uno sguardo al calcolo della media mobile semplice di una quantità relativamente piccola di dati. Per un sacco di analisi, Excel e R sono strumenti molto efficaci, ma come abbiamo scalare verso gigabyte, terabyte, e memorizza i dati petabyte ci imbattiamo in alcuni problemi con località dei dati, la velocità del disco, e la velocità di elaborazione. Per illustrare questi fattori consente di dare una macchina mitica che aveva un singolo disco 1 petabyte, che ha operato in modo simile a una velocità del disco oggi. Ai fini di questo esempio e utilizzare una velocità di lettura di 40 MB. Diciamo che il suo il nostro lavoro per la scansione attraverso questi dati e produrre una semplice media mobile, il processore non impedisce il calcolo, e siamo in grado di sostenere un calcolo finestra mobile attraverso i dati alla piena 40 MB. Consente anche assumere che i dati sono stati precedentemente allineati e che avevamo solo di eseguire una scansione sequenziale questo massimizza la velocità di trasmissione dei dati dal disco e potrebbe offrire costantemente 40MBs alla pipeline di elaborazione. Sulla base di Jeff Deans 12 numeri ogni ingegnere deve sapere far scorrere questa è una messa a punto plausibile. A questi flussi il nostro semplice calcolo della media mobile di 1 petabyte di dati sarebbero voluti circa 310 giorni per completare. Per la maggior parte delle situazioni questo costi operativi, in termini di tempo, rende irragionevole considerare. Fortunatamente, la meccanica di HDFS e MapReduce mitigare questi fattori in modo tale che possiamo fare a questo problema un tempo lineare e la funzione di capitale di aiutarci a decidere il numero di macchine che vogliamo implementare per effettuare in modo efficiente questo semplice scansione media mobile. Nel semplice movimento sopra esempio media abbiamo trascurato di prendere in considerazione i vincoli di: Memorizzazione del petabyte di dati su hardware non-mitica. Ordinamento petabyte di dati. Considerando guasto hardware durante i 310 giorni di tempo di elaborazione. In genere, le applicazioni della serie hanno bisogno di tempo per eseguire la scansione dei dati ad un certo punto, che crea grandi montagne da scalare, se vogliamo affrontare grandi volumi di dati di serie temporali in sistemi di oggi. Stavano vedendo multi-terabyte e fonti di dati multi-petabyte nel dominio serie di tempo ogni giorno, compresi e in ciascuno di questi settori lo scenario di cui sopra è una vera e propria sfida da affrontare. HDFS risolve i problemi di archiviazione e avarie al di sopra, ma per quanto riguarda i problemi di smistamento e di lavorazione Ordinamento grandi quantità di dati in sé è un problema non banale, ma è accessibile con alcuni trucchi in MapReduce. Diamo un'occhiata al codice vero e proprio MapReduce che si può scaricare per compilare e produrre il nostro scalabile media mobile semplice, per risolvere alcuni di questi punti di dolore. Media mobile semplice a MapReduce Tipicamente un'applicazione MapReduce è composto da due funzioni: (avete indovinato) una funzione di mappa e di una funzione di ridurre. Nel mondo della programmazione Java creiamo una classe mappa e una classe di ridurre, ciascuno con metodi erediti utili per i loro scopi rispettosi. Usiamo il modello di programmazione MapReduce perché è costruito per mitigare problemi di concorrenza nei nostri algoritmi e otteniamo il nostro parallelismo scalabile relativamente indolore. La funzione di mappa può coinvolgere codice che esegue un'operazione di coppia per-valore-chiave, ma il suo principale funzionamento logico è quello di raggruppare i dati con i tasti. Un modo molto semplice per pensare a una funzione mappa è quello di pensare ad esso come una proiezione logica dei dati o di un gruppo dalla clausola. La funzione di ridurre viene utilizzata per prendere questi gruppi (singolarmente) ed eseguire un processo attraverso i valori che sono stati raggruppati insieme. Operazioni comuni a funzioni ridurre includono: Nel nostro semplice esempio media mobile, tuttavia, noi non operano su una base per il valore specifico, né si produce un aggregato in tutti i valori. La nostra operazione in senso aggregata comporta una finestra scorrevole, che svolge le sue operazioni su un sottoinsieme di dati ad ogni passo. Dobbiamo anche considerare che i punti attualmente in serie temporali non sono garantiti per arrivare al ridurre in ordine e devono essere sorted8211mentioned nelle sezioni precedenti. Questo perché con molteplici funzioni per lettura più sezioni del MapReduce dati di origine non impone alcun modo sulle coppie chiave-valore che sono raggruppate insieme nella partizione di default e schemi di ordinamento. Vi è lo scenario in cui abbiamo ordinato dati partizionati, ma per il bene di questo esempio sono state andando a che fare con i dati di serie temporali non differenziati più varietà da giardino. Diamo un primo passo a come avremmo potuto progettare questo MapReduce mobile semplice lavoro medio. Vogliamo gruppo tutte le proprie consistenze corrette valori prossimi insieme in modo che possiamo applicare la semplice operazione di media mobile sui dati di serie temporali ordinati. Noi vogliamo emettere ogni serie storica coppia di valori chiave calettato su un simbolo azionario per raggruppare questi valori insieme. Nella fase di ridurre possiamo eseguire un'operazione, qui la media mobile semplice, sui dati. Dal momento che i dati più che probabile che non si arriva al riduttore in modo ordinato e necessario ordinare i dati prima di poter calcolare la media mobile semplice. Un modo comune per ordinare i dati è di caricare i dati nella memoria in una struttura dati come un mucchio, molto simile a come questo viene fatto in un normale programma java. In questo caso ben utilizzare Javas classe coda di priorità per ordinare i nostri dati. Dobbiamo anche considerare la quantità di memoria utilizzata dai dati di serie temporali in arrivo durante l'ordinamento in quanto questo è un fattore limitante della quantità di dati che possiamo risolvere. In questo disegno, dobbiamo caricare tutti i dati di serie temporali prima di poter iniziare il trattamento e se la quantità di dati per ordinare supera la dimensione heap disponibile abbiamo un problema. Un esempio di questa implementazione è ospitato presso GitHub: Per eseguire questo codice sul proprio cluster di Hadoop, scaricare CDH da Cloudera e la configurazione di un cluster pseudo-distribuito 8211which è un singolo nodo di Hadoop. modalità pseudo-distribuita è un ottimo modo per provare il codice con Hadoop. Successivo scaricare e compilare il codice media mobile in un barattolo. Per scaricare il codice direttamente da github (nella shell in MacOSX, finestra ssh terminale Linux o mingw32 per Win32) we8217ll utilizzare il comando: Il nostro primo passo è una soluzione decente, ma sono stati limitati dalla nostra Java Virtual Machine (JVM) bambino dimensione di heap e stiamo prendendo il tempo per ordinare manualmente i dati stessi. Con poche modifiche di progettazione, possiamo risolvere entrambi questi problemi sfruttando alcune proprietà intrinseche di MapReduce. In primo luogo vogliamo guardare il caso di ordinare i dati in memoria per ogni riduttore. Attualmente abbiamo per assicurarsi che non mandare mai più dati da un singolo riduttore che può andare bene nella memoria. Il modo in cui siamo in grado di controllare questo momento è quello di dare ad ogni bambino riduttore JVM Andor più mucchio di partizionare ulteriormente i nostri dati di serie storiche nella fase di mappa. In questo caso sposare partizione ulteriormente tempo, rompendo i nostri dati in piccole finestre di tempo. Al contrario di favorire il partizionamento dei dati, un altro approccio a questo problema è quello di permettere Hadoop per ordinare i dati per noi in che cosa è chiamata la fase di riordino di MapReduce. Se i dati arrivano in un riduttore già in modo ordinato possiamo abbassare la occupazione di memoria e ridurre il numero di cicli attraverso i dati da solo guardando prossimi N campioni per semplice calcolo della media mobile. Questo ci porta alla aspetto cruciale di questo articolo, che si chiama la mescola secondario tipo meccanico. L'ordinamento è qualcosa che possiamo lasciare Hadoop fare per noi e Hadoop ha dimostrato di essere abbastanza bravo a ordinare grandi quantità di dati, vincendo la concorrenza Sort Gray nel 2008. Nel usando il tipo meccanico secondario possiamo risolvere sia la nostra mucchio e ordinare i problemi piuttosto semplicemente ed efficiente. Per impiegare ordinamento secondario nel nostro codice, abbiamo bisogno di fare la chiave un composito della chiave naturale e il valore naturale. Di seguito in figura 1 vediamo un diagramma di come questo sarebbe guardare visivamente. Figura-1: Composite Chiave Diagramma La chiave composita dà Hadoop le informazioni necessarie durante la riproduzione casuale per eseguire una sorta non solo sul symbol8221 8220stock, ma sulla data e ora pure. La classe che ordina questi compositi Keys si chiama il comparatore tasto o qui 8220CompositeKeyComparator8221. Il comparatore chiave deve ordinare dalla chiave composta, che è la combinazione della chiave naturale e il valore naturale. Possiamo vedere di seguito nella Figura-2 in cui viene eseguita una versione astratta di ordinamento secondario in una chiave composta di 2 numeri interi. Figura-2: CompositeKeyComparator ordinamento compositi Keys (chiavi sono numeri interi). Nella Figura-3 di seguito vediamo un esempio più realistico in cui we8217ve cambiato la chiave composita di avere una stringa stock simbolo (K1) e un timestamp (K2, visualizzato come una data, ma nel codice è un lungo in ms). Lo schema ha ordinato le coppie KV sia da parte 8220K1: Archivio symbol8221 (chiave naturale) e 8220K2: Tempo stamp8221 (chiave secondaria). Figura-3: CompositeKeyComparator al lavoro sulle nostre chiavi composte. chiave composta ora rappresentato con un simbolo stringa stock (K1) e una data (K2). Una volta we8217ve risolto i nostri dati sulla chiave composta, ora abbiamo bisogno di partizionare i dati per la fase di ridurre. Nella Figura-4 di seguito vediamo come i dati della Figura-3 di cui sopra è stato partizionato con il NaturalKeyPartitioner. Figura-4: partizionamento dalla chiave naturale con la NaturalKeyPartitioner. Una volta we8217ve partizionato i nostri dati i riduttori possono ora iniziare a scaricare i file di partizione e iniziare la fase di unione. Inf Figura-5 di seguito vediamo come il comparatore raggruppamento, o NaturalKeyGroupingComparator, è usato per fare sicurezza consultare un ridurre () vede solo i dati logicamente raggruppati pensati per quella chiave composita. Figura-5: Raggruppamento comparatore a fusione file di partizione. Il programma di partizionamento e di confronto raggruppamento per la chiave composita dovrebbero prendere in considerazione solo la chiave naturale per il partizionamento e il raggruppamento. Di seguito una breve descrizione del Moving codice media semplice che viene modificato per utilizzare il tipo secondario ed è ospitato su GitHub. Se la comunicazione youll, i nomi delle classi da vicino corrisponde alla terminologia utilizzata nei diagrammi di cui sopra e in Tom Bianchi Hadoop: The Definitive Guide (capitolo 8 MapReduce Caratteristiche) in modo da rendere il codice più facile da capire. NaturalKey 8211 quello che si usa normalmente come la chiave o il gruppo da parte dell'operatore. In questo caso la chiave naturale è il simbolo gruppo o azione come abbiamo bisogno di gruppo potenzialmente archivio dati non ordinati prima di poter ordinare e calcolare la media mobile semplice. Composite chiave 8211 una chiave che è una combinazione del tasto naturale e il valore naturalistico che vogliamo per l'ordinamento. 5 risposte sul ldquo media mobile semplice, di ordinamento secondaria, e MapReduce (parte 3) Raffreddare rdquo trucco con la sorterpartitioner spaccatura. Per quanto posso dire questo funziona alla grande fino a quando la serie diventano estremamente lungo (si pensi 30 anni di dati a livello di tick) 8211 sembra che il partizionamento da tempo potrebbe essere molto difficile. Sai di tutto integrato in Hadoop come un partitioner8221 8220overlapping che può sputare gli stessi dati a più partizioni Ho sperimentato con mapper che duplicano i valori in più chiavi, ma mi chiedo se there8217s un modo più convenzionale di fare questo. Evan, sei morto avanti con la dimensione dei dati in un unico spazio delle chiavi. Mi ha colpito questo stesso problema quando si lavora sul progetto openPDC per la NERC: Un sensore potrebbe avere letteralmente miliardi di punti in un brevissimo lasso di tempo, quindi per i lavori prototipo che abbiamo digitato le cose ad un solo giorno (3,600,000ms): In un altro versione complesso avrei usato fasce orarie si sovrappongono in modo che il mapper otterrebbe dati sufficienti da keyspaces adiacenti per coprire una singola lunghezza della finestra. Per ora I8217d dire che sei sulla strada giusta con i valori duplicati. So che questo non è legato alla medie mobili, ma come precisa è stata la serie di corrispondenza tempo SAX utilizzato in PDC ho implementato qualcosa di simile (tranne con il MapReduce API 2), e nel ciclo della funzione di ridurre (), ogni volta che il. metodo next () viene chiamato sul Iterator, otteniamo un nuovo valore, ma la chiave anche cambia miracolosamente. Piuttosto, la parte della chiave composita che non è stato utilizzato come una chiave naturale (il timestamp in questo esempio) cambia. Questo è stato abbastanza sorprendente. Come avviene questo Messaggio di navigazione L'adozione di Apache Hadoop nel governo federale

No comments:

Post a Comment