
il mio nome è Dean Wampler e questo è un
parlare di andare oltre i big data
hype e in realtà ottenere qualcosa
utile con tecnologie come Hadoop
e nessun sequel e così via su cui si basa
la mia esperienza come consulente
Hadoop si consulta principalmente in alcuni no
sequel degli ultimi anni e sono stato
fare impresa Java dal
L’ era del Pleistocene e quello che ho visto è a
molte persone sono davvero molto ansiose
saltare su questo carrozzone che non fanno
voglio essere lasciato fuori che non vogliono
perdere tutte le cose interessanti che vogliono
oro mentale dal sentimento di Twitter
analisi e cose del genere ma molto
di volte in realtà non sanno cosa
stanno facendo loro non lo sanno davvero
che c’è coinvolto in un ciclo di hype
e quello che devono veramente fare è
capire quale valore vogliono
estrarre dalle loro informazioni e
questo è l’obiettivo di questo discorso e cosa
Sto per iniziare è definire cosa
Big Data significa per me, quindi ti mettiamo a
definizione su questa parola d’ordine e poi
parlare dell’attuale tipo di ecosistema
concentrandosi su Hadoop ciò che è buono a questo proposito
e cosa non è e parlare di
in particolare casi d’uso che potrebbero essere necessari
risolvere e quali sono gli strumenti migliori e
approcci per quei casi d’uso e poi
speculare un po ‘sul futuro
quindi lasciami iniziare definendo Big Data tu
potrebbe non essere in grado di leggere questo dal
indietro ma ci sono due definizioni qui
I Big Data sono tutto ciò che è in crash
Excel o piccoli dati quando si installa Ram
i big data sono quando si blocca perché
non è adatto alla RAM che è uno
definizione o due in realtà forse più
definizione realistica e ti lascerò fare
la matematica sulla destra per assicurarsi che sia
corretta
i big data sono dati davvero grandi
che i nostri strumenti e approccio tradizionali
è tipo di abbattere o ottengono
troppo costoso o semplicemente non possono
scala alle dimensioni che abbiamo bisogno di ridimensionare
così abbiamo inventato l’alternativa
approcci alla base di tutte queste cose sono
tre tendenze, una delle quali credo sia
ovvio e gli altri due forse non così
ovvio l’ovvio sono i dati
le dimensioni stanno crescendo, stiamo catturando di più
registra i dati di cui stiamo acquisendo più dati
gli utenti non stiamo gettando quanti più dati
via come eravamo abituati e così in generale noi
basta avere di più per l’uomo
questo non è nulla che nessuno di voi
non ho sentito prima di quello che potrebbe essere nuovo
l’idea che forse non vogliamo davvero
essere così duramente nello schema più che
forse abbiamo bisogno di rilassare la nostra nozione di
gli schemi sono più flessibili e adattabili
in parte perché prima di tutto lo schema
ciò vale per i nostri dati oggi sta andando
per evolvere verso qualcosa d’altro
rapidamente questo è abbastanza comune e il
l’altra cosa che succede è quella gente
voglio riunire selvaggiamente diversi
tipi di dati ed estrarre informazioni
estrarre valore dal
intersezione di questi set di dati in modo da essere
in grado di essere molto flessibile sui dati
gli schemi si sono rivelati davvero
importante e l’ultima grande tendenza è
forse il più interessante in termini di
innovazione tecnica e questa è l’idea
che stiamo sottolineando l’idea
i nostri programmi sono padroni dell’universo
che capiscono tutto di
il nostro dominio e invece stiamo scrivendo
algoritmi generici che sono guidati da
dati invece e questa è una foto di
la seconda generazione di auto a guida autonoma
che Google ha costruito chiamato Stanley che
è un grande esempio di una macchina guidata dai dati
sta usando alcuni fondamentali
algoritmi probabilistici da capire
dove è rilevare i pedoni e it
risulta che hanno guidato queste cose
diverse centinaia di migliaia di miglia intorno
gli Stati Uniti e l’ unico incidente
queste macchine hanno mai avuto è quando un laureato
lo studente guidava davvero la macchina
ma funzionano molto molto bene un altro
esempio interessante per me di questo insieme
dibattito sui modelli formali rispetto al solo
la struttura probabilistica di capire è
un argomento che è scoppiato tra il
il famoso linguista Noam Chomsky e Peter
Norvig che è il direttore della ricerca di
Google e uno dei pionieri di
metodi probabilistici per macchina
apprendimento e, naturalmente, Noam Chomsky è
famoso per costruire il tuo molto
modelli sofisticati di come il linguaggio
lavori che conosci a un livello fondamentale
e poi ci sovrapponiamo a quello inglese
e olandese e danese e tu sai
qualunque dove come ciò che ha in realtà
si è rivelata la più efficace in
costruire come strumenti di traduzione automatica
l’analisi del sentimento ha costruito a
modelli probabilistici che sono relativamente
stupido per quello che sta realmente accadendo
in termini di significato ma
probabilisticmente deduciamo solo il significato
lanciando molti dati sul problema
e così questa sorta di dibattito pubblico
scoppiato tra questi due ragazzi, io no
Penso che si siano effettivamente incontrati faccia a faccia
se ma avete ordinamento di blogpost in competizione
di cosa nelle interviste dove loro
discusso i meriti delle grammatiche formali
contro ragionamento probabilistico circa il
le cose funzionano davvero così c’è il
tre tendenze e quel tipo di unità
decisioni architettoniche che conosci usate
per essere tutti abbiamo costruito applicazioni come
questo dove alcuni eventi come una query o a
accesso utente o qualsiasi altra cosa innescata
informazioni su cui è stata eseguita una query
un database che abbiamo portato attraverso un
strumento di mappatura relazionale di oggetti che abbiamo inserito
quello in un perfetto modello mondiale di Java
oggetti o qualsiasi cosa nel middleware noi
massaggiato e poi lo abbiamo inviato a un
browser o qualsiasi altra cosa ma ora ci stiamo muovendo
più verso questo modello che sei tu
sapere dimenticare tutte le cose dell’oggetto nel
medio o almeno questa idea che noi
dovrebbe avere una rappresentazione completa di
il mondo in oggetti nel mezzo e
invece usiamo il fatto che il nostro
i database stanno tornando sostanzialmente
collezioni di dati tecnicamente il termine
di conseguenza ha detto, ma è davvero come un
gigante una lista di array qualunque sia la causa di hashmap
non abbracciamo semplicemente quelle collezioni
mantenere una conoscenza minima di ciò che
in realtà di cosa si tratta il contesto più ampio
lo scenario particolare erano
attuare e rimanere magra e cattiva
di conseguenza perché conosciamo solo
quello che dobbiamo sapere per trasformarlo
dati in qualche modo nel mezzo e poi
inviare via al browser che può
anche essere funzionale se stiamo usando
javascript nel modo giusto e così via
quindi è come se ci costringesse a concentrarci meno
su oggetti specifici del dominio e altro ancora
strutture dati fondamentali che conosci
come le solite cose che tutti conosciamo
e ama e lavora con quelli e resta
agnostico che risale a questa idea di
come le strutture dati probabilistiche
contro i modelli di grammatica formale in cui il nostro
il nostro codice non sa più molto
riguardo al dominio che ci sta lavorando
appena guidato dai dati e in realtà il no
il movimento sequel si adatta a questo
nello stesso modo in cui siamo
de-enfatizzando lo schema che de-enfatizza
conoscenza del dominio incorporata in
la logica dei nostri schemi e invece
lavorando con dati più fondamentali che
è relativo conosci il sistema di database
è relativamente agnostico sui dati
quello che stiamo solo lavorando con il minimo
capisco che abbiamo bisogno e poi lo sai
muovendosi con tanta scalabilità in come
molto più veloce che possiamo per scalare
ma usando la logica solo dove è necessario
ottenere le risposte che ci servono in modo non intenzionale
era l’effetto collaterale dell’approccio all’oggetto
che era molto difficile nella pratica
termini per disaccoppiare le cose in piccolo
pezzi così quasi tutti maturi
Applicazioni Enterprise Java che io abbia mai
visto erano fondamentalmente come questo così grande
batuffolo di codice nel mezzo attraverso il quale
tutto doveva passare perché così grande
batuffolo aveva tutta la conoscenza del mondo, ma
quando disaccoppiamo le cose su cui ci concentriamo
astrazioni minime e minimali
capire e usare un più funzionale
approccio quindi si trasforma in molto
più facile da essere decomposto in cose
processi focalizzati più piccoli e indovinate un po ‘
ora possiamo sapere fare copie di loro
quindi possiamo eseguirli contemporaneamente che possiamo
correre in parallelo anche in altri modi
e quindi otteniamo una migliore scalabilità e
è molto più facile mantenere cose simili
questo è ben disaccoppiato che possiamo
processo di aggiornamento a se abbiamo bisogno di e e
continua così tanto da ridurlo
middleware mirato e tutto il
struttura sorta di rientra nel
tre forze motrici dove scala
meglio quando possiamo scalare orizzontalmente
con pezzi più piccoli piuttosto che grandi batuffoli
di codice , stiamo sottolineando lo schema
nel senso che i nostri oggetti sono no
più i tuoi modelli del mondo ma
invece sono minimamente focalizzati
manipolazioni di dati fondamentali
collezioni fondamentali e così via e
questo supporta meglio l’idea che siamo
lascerò il giorno per guidare l’emergente
comportamento piuttosto che provare a costruire a
modello del mondo che dobbiamo forzare
in forma o dati in e gli strumenti che noi
avere a disposizione questo è un
o questo oggi è uno di loro
MapReduce e il file distribuito
il sistema che lo accompagna chiamato HDFS per
Hadoop ha distrutto il file system ora
MapReduce è in realtà il pioniere di
Google anche se, naturalmente, il concetto di
la mappa e la riduzione sono fondamentalmente vecchie
la matematica e Google avevano anche un
file system distribuito e quindi il
Il progetto Hadoop era un clone di cleanroom di
questo, ma si adatta bene al modello
dove avremo questo generico
infrastruttura che sa solo come
mappa le cose e come ridurre le cose e
lo programmiamo per fare il reale
trasformazione quindi ne abbiamo bisogno
davvero ben orizzontalmente il distribuito
il file system in linea di principio può essere
dimensioni illimitate anche se in questo momento
ci sono alcune limitazioni pratiche in
dimensione e si scopre che le aziende
come Facebook hanno 600 petabyte ora
residente nei cluster Hadoop ora lo so
un cluster potrebbe contenere così tanti dati
ma puoi facilmente scalare fino a diversi
petabyte in un singolo cluster Hadoop
oltre diverse migliaia di macchine e
ci sono altri approcci oltre a ingannare
ci sono altri tipi di middleware
potremmo scrivere alcuni personalizzati
di serie e poi c’è spesso
persone che usano questi database sequel come
il livello durevole sotto e lo faremo
parla di scenari in cui potresti usare
uno contro l’altro e uno interessante
esempio penso che sia degno di nota è
che improvvisamente possiamo effettivamente utilizzare
JavaScript dall’alto verso il basso a causa di
funzionalità middleware come nodejs e
Database di documenti basati su JSON come Mongo
e ovviamente abbiamo avuto Jason in the
browser per sempre bene per sempre nel cane
anni credo che ora possiamo avere
Java ti scrive dall’inizio alla fine
in basso se vogliamo davvero quale sia
in realtà abbastanza carina da essere
in grado di utilizzare uno strumento per l’intera cosa
anche se certamente ci sono alcune persone
Nodo di odio così non posso essere necessariamente
dire che il nodo è la cosa giusta da usare
ma comunque penso che tu abbia il
segnalo pure mi permetta di prendere solo un momento per
descrivi cosa MapReduce è nel caso tu
non so cosa tu abbia probabilmente
tutti hanno sentito il termine ormai ma se tu
non so davvero cosa significhi che sia
vale la pena solo un momento per parlarne
perché in realtà ha qualcosa di grande
punti di forza ma anche grandi debolezze
fondamentalmente un lavoro di MapReduce è letteralmente a
fase opaca e una fase ridotta e poi
qualche magia che accade in mezzo a
la fase della mappa che hai effettivamente letto nel
file fuori dal tuo file system distribuito
e scopre cosa piace a Hadoop
è archivio di file in blocchi molto grandi
tipicamente un multiplo di 128 megabyte
mentre i file system sottolineati che
siamo tutti abituati a come piace qualunque cosa sia
sotto il file distribuito Hadoop
sistema il file system sul mio computer
sai che in genere è come una dimensione di blocco
cinque kilobyte o qualcosa del genere ma dentro
Hadoop a loro piace usare centinaia di
dimensioni dei blocchi kilobyte e la ragione è
è una ragione molto pratica per tornare indietro
alla fisica o meno hard disk che conosci
abbiamo questi dischi rigidi che sono
ossido di ferro ruggine rotante fondamentalmente e
loro questa piccola testa che viaggia
sopra la cima e quel movimento della testa è
di gran lunga la parte più lenta del processo
sei come 10 millisecondi o
qualcosa per andare avanti attraverso il duro
guidare ciò che vogliamo fare è parcheggiare il
cuore che testa e poi basta scansionare tutto
i dati che gira sotto di esso
ed è per questo che vuoi essere grande
blocchi contigui di memoria e non
roba rotta come non avresti
su un normale file system, quindi da Hadoop
l’inizio è molto orientato
verso ho molti dati che voglio
scansione tutto in una volta o forse un grande
pezzo di esso e quindi voglio che sia in grado
leggerlo in modo contiguo
guidare penso che la regola generale sia quella
puoi scaricare come un disco rigido di terabyte
in 10 minuti ci vuole tanto tempo per leggere
un terabyte fuori da un hard disk in questi giorni
veloce come loro è un enorme
collo di bottiglia quindi comunque come Hadoop
funziona e questo potrebbe essere diverso per come
Google MapReduce ma genererai una JVM
attività per ogni blocco sul filesystem
e quell’attività iniziale farà qualcosa
di mappare su quei dati e di essere
specifica fammi solo descrivere cosa tu
farebbe con qualcosa chiamato parola
contare il conteggio delle parole è come il mondo ciao
di uno spazio Hadoop è il primo programma
tutti scrivono perché è un semplice
algoritmo e così puoi concentrarti sul
cattiva API che vedremo in a
pochi minuti ma fondamentalmente nel conteggio delle parole
Voglio leggerti, conosci un corpus di
documenti diciamo che Wikipedia e io voglio
per trovare tutte le parole
quel corpus e poi voglio contare il
occorrenza di ogni parola così sai che sono
vedrò la parola Shakespeare e il
parola Danimarca e la parola Hadoop e così via
avanti e quindi voglio trovarlo
tutti questi documenti e ho un
mazzo di prove di mappe e lettura parallela
pezzi di Wikipedia e cosa sono
sputerò nel mezzo verso
questa cosa che si chiama sort shuffle
ecco alcune coppie di valori chiave e quelle
in questo caso questo algoritmo è la chiave
coppie di valori saranno ciascuna parola che trova
em in conti di quelle parole che conosci
e i dati che ha elaborato e come
queste coppie di valori chiave stanno venendo fuori
saranno ordinati nello stesso processo
non globalmente ma nello stesso processo e
poi vengono mescolati, il che significa che io
voglio essere sicuro che tutto il
si verificano eventi della Danimarca e andiamo
Dì il secondo compito ridotto che è
un altro processo jvm in esecuzione sul mio
cluster da qualche parte forse tutto il
Verranno visualizzate le coppie di valori chiave di Shakespeare
sul primo e così via e tu
può vedere dove sta andando il riduttore
non sta per ottenere tutto il
Shakespeare conta e tutto questo e
un altro sta per ottenere tutto il
La Danimarca conta e quello sta per fare a
conteggio totale finale e uscita globale
conta per ciascuna di quelle parole che è
davvero tutto quello che c’è da fare su un lavoro di MapReduce
sono questi tre passi l’uno nel
nel mezzo che Hadoop fa per te il tipo
shuffle e poi il – della mappa e
l’ attività ridotta che scrivi tu stesso
ora si scopre se vuoi farlo
qualcosa come un seguito o un gruppo
comprare è lì che le cose diventano davvero pelose
perché anche se questo è molto generico
e flessibile e per alcuni aspetti è
anche molto difficile da mappare un sacco di
concetti di alto livello a questi bassi livelli
API e la maggior parte del tempo in più
scenari complicati come un gruppo di
seguito da una sorta su quel tipo di
dichiarazione di sequel che potresti scrivere che farai
in realtà devono sequenza un sacco di
questi lavori e che porta a uno dei
limitazioni importanti di Hadoop dopo
ognuno di questi compiti MapReduce sta andando
scrivere di nuovo tutto su disco e se
Ho un sacco di sequenza di lavoro
insieme che leggerò tutto questo
roba in memoria quindi c’è un po ‘
di inefficienza qui ma è una specie di
inefficienza che è stata tollerata
perché se ho bisogno di elaborare un centinaio
terabyte di dati quindi preferirei buttarli
un migliaio di macchine o qualsiasi altra cosa
e e anche se è ogni processo è
inefficiente almeno nel
aggregato ottengo i risultati più velocemente di me
voglio così è una sorta di succo di come
MapReduce funziona questo è un esempio di
qualcosa di un lavoro MapReduce senza a
riduttore ti lascio capire se questo
ha senso, va bene, va bene
ora Hadoop è davvero il migliore generico
strumento che abbiamo per questo tipo di
enormi dati arbitrari generici
imposta la manipolazione sai che è gratis
anche se libero come in non altrettanto grave
perché devi fare molto lavoro
per farne una maglia e tutto il resto
roba ma è il genere di cose a
molte persone possono adottare equamente e
costoso ora se guardi il
costo per terabyte Hadoop è drammaticamente
più economico di quasi qualsiasi altra opzione che noi
ad eccezione di alcuni di questi sequel
database ma come l’ho descritto davvero
vuole fare tutto in modalità batch
vuole davvero prendere quei dati
hai collezionato e fatto qualcosa di grande
analisi tutto in una volta non fa tutto
voglio lavorare con roba in modo incrementale
è non è possibile scrivere in modo incrementale a
il file system convenientemente e il modo
che si scala e il sovraccarico di
cercando di essere massicciamente concorrente
non ti permette di fare eventi incrementali
elaborazione molto bene e torneremo
a questo è un problema che dobbiamo risolvere
quindi non è così grande per i flussi di streaming
degli eventi è anche inutile
transazioni perché ancora una volta
non vuole lavorare con i singoli
registra per qualche definizione di registrarlo
vuole solo lavorare con tutti i dati a
una volta così le transazioni sono un altro problema
potrebbe essere necessario risolvere per i big data e
quell’API che ti ho guidato
un po ‘ concettualmente è un po’
a grana grossa che si desidera
qualcosa che è più piccolo e più
componibile in modo da poter combinare
cose insieme per ottenere il tipo di
comportamenti che vuoi
considerando che cercare di forzare tutto in forma
in te sai una mappa in una riduzione
fase o una sequenza di quelli che è
in realtà è difficile è uno dei
quelle cose che diventano speciali
abilità che alcuni sviluppatori hanno e
il resto di noi sta facendo tutto noi
può evitare di doverlo acquisire
abilità perché non vogliamo spendere il
tempo su di esso così uno dei primi
alternative che voglio menzionare oggi è
questo strumento chiamato scintilla che è iniziato come
un progetto di ricerca a Berkeley
Università
California ed è molto simile nel
senso che è progettato per essere altamente
distribuito per farti fare il genere di
calcolo generale che Hadoop
è bravo ma ha un sacco di
vantaggi rispetto ad Hadoop almeno ora
non è stato testato in battaglia a centinaia di
petabyte di dati ma almeno di progettazione
ha molti vantaggi ad esempio
memorizza i dati nella memoria tra i passaggi
e così a volte è in realtà facile
ottenere posti di lavoro che eseguono 32 o anche cento
tempi più veloci in SPARC rispetto a MapReduce
ma è qualcosa che ha bisogno di più
test di battaglia per essere robusto come Hadoop
è in termini di essere dimostrato e e
noto affidabile ora un altro problema con
Hadoop è molto specifico per Hadoop
è che l’ API Java di basso livello è molto
prolisso e difficile da usare così per
esempio ecco il conteggio delle parole in quell’API
e so che nessuno può leggere questo e
è una specie di design il reale
logica interessante che descrivo
verbalmente un minuto fa è solo in a
relativamente poche righe di codice e
in realtà non ti sto nemmeno mostrando
intero programma non ti ho mostrato il
routine principale che è un altro 20 o 30
linee di setup quindi questo è molto
di lavoro mi scusi oltre al fatto che
è un po ‘ prolisso ce ne sono molti
setup da fare e poi se voglio fare un
Algoritmo non banale che devo davvero fare
sviluppare una competenza su come mapparlo
concetto di alto livello a questa API di basso livello
in effetti penso che assomigli molto a EJ
B sì, quando ho iniziato a leggere
questo codice mi ha pensato e stiamo bene
merda degli anni ’90 è un po ‘presto è
piace molto ai primi anni 2000, ma comunque
ci si sente davvero come siamo tornati al
Giorni di EJB e conosci EJ B così tutti
ama lamentarsi di lui ora perché
erano una sorta di esperimento fallito
ma hanno fatto riflettere la gente
Java aziendale risolvono alcuni problemi
solo non particolarmente bene il problema
con EJ B erano erano a
protocollo inefficiente è stato molto
invasivo a livello di API nel tuo
applicazione e ci sono voluti alcuni ripensamenti
da persone come la Spring Framework e
rod Johnson per capire la strada giusta
fare enterprise Java e penso che il
stessa cosa sta per accadere con un
dupe quindi di fatto se usi un particolare
Strumento basato su Scala per
questo lavoro quindi ottieni qualcosa
sembra molto più piccolo in effetti
senza entrare in molti dettagli
riguardo al codice è abbastanza facile
capisci cosa sta succedendo qui una volta
capire alcune piccole nozioni di base del
scalding API the scalding è un progetto
il Twitter ha scritto che è in realtà un
Hadoop API è in realtà due livelli
sopra l’ API di basso livello che ho descritto ma
torni a qualcosa che è molto
più ciò che vogliamo veramente che è
esprimere i nostri algoritmi usando il
terminologia che è appropriato per la
livello che stiamo lavorando così qualunque cosa
le persone stanno imparando Hadoop quando sono
mentoring persone su Hadoop io dico loro
sai adottare scottature o se sei un
ragazzo di chiusura adottare cose di registro Casca come
ma evita l’api di basso livello e
solo per comodità Park ti dà
qualcosa di molto simile è lo stesso
api e scintilla e dà lo stesso tipo
di conciso molto descrittivo e
una sorta di spiegazione intuitiva una volta
capire cose come la mappatura piatta e
mappatura e riduzione quindi è davvero
facile da usare queste API che è il modo
dovrebbe essere
quindi questo è un problema che dobbiamo risolvere
in Big Data è ap espressivo che lascia
noi esprimiamo il nostro intento in modo conciso come
possibile e questi sono esempi che sono
portandoci in quella direzione
ok ma diamo un’occhiata ad alcuni specifici
scenari di utilizzo problemi che abbiamo bisogno di
risolvi dove pensiamo di avere grandi dati
problema e cosa significa per noi a
prima voglio contrastare quando vuoi
usare anche contro il database
sequel o nessun sequel per quella materia
beh, Hadoop è fantastico quando lo fai davvero
avere un bisogno molto flessibile per
calcolo sai l’ apprendimento automatico
gli algoritmi non si adattano davvero a una relazione
query di modello molto bene
ma sono relativamente facili da parlare
implementare in uno strumento come un Hadoop dupe
è grandioso se hai davvero massa
set di dati che è necessario eseguire scansioni di scansione
di fare una sorta di analisi globale e
va bene o bene se fai tutto questo
modalità batch, in altre parole, non è un
sistema online deve essere veloce perché
hai un utente seduto a un browser
è qualcosa in cui lo gestisci
durante la notte per analizzare i vostri petabytes di
dati di registro o qualsiasi cosa mentre sul
altra mano se hai un problema
si adatta ad un particolare modello di dati se
è relè
valore più basso orientato al documento o chiave
negozio quindi i database sono fantastici per
questo e in particolare se hai bisogno
comportamento transazionale di qualche tipo se
hai bisogno di un accesso a livello record al contrario
alle scansioni complete della tabella e persino io ho un
venditore anche qui perché una cosa è quella
la gente usa questi database per è a
risolvi il problema dell’evento in cui tratto
ogni interazione con un database come
evento quindi è ottimo per questo tipo di
cose e in effetti più grandi
le organizzazioni hanno bisogno di entrambi i tipi di funzionalità
set e quindi spesso combinano i due
e una delle combinazioni interessanti
sta usando questo database chiamato HBase
che in realtà si trova in cima alla Hadoop
file system distribuito quando è necessario
quel tipo di accesso a livello di record e
aggiornamenti rapidi e cancellazioni e così via
ma vuoi fare l’analisi globale finita
quei dati ogni notte o qualsiasi altra cosa
HBase più un dupe è una buona combinazione
bene l’altro modo che stiamo vedendo
In particolare, Hadoop usato è basso
opzione di data warehouse di costo, quindi ho lavorato
con un cliente che una volta poteva solo mantenere
sei mesi dei dati che erano
accumulando e hanno accumulato molto
di dati l’unico modo in cui avrebbero ottenuto
oltre quella finestra di sei mesi c’era
in realtà lascia un altro milione di dollari
un dispositivo di data warehouse anonimo e
erano loro non volevano spendere un
milioni di dollari quando potevano usare
qualcosa che era 1/10 il costo e
quello che abbiamo fatto per questo cliente in realtà
è migrarli a Hadoop e ora loro
hanno come diversi anni di dati in a
cluster penso che cento e
sessanta nodi o qualcosa del genere
bene i vantaggi anche se un tradizionale
data warehouse i tuoi dati Terra e così via
avanti è che sono maturi
tecnologie che ti danno una bella idea
ambiente tendono ad essere veloci che fanno
scala oltre l’analitica tradizionale
database o database online piuttosto e
ti danno un ricco sequel e query
semantica che è grande e quindi se la tua
il set di dati non è la dimensione dei petabytes, quindi forse
paghi solo i soldi per uno di questi
le cose perché sono solo mature
e funzionano bene ma lo sono
estremamente costosi possono essere fino a a
cento volte più costoso in a
livello di costo del terabyte rispetto a Hadoop
e hanno questo limite che quando
tu
– ci sono davvero grandi insiemi di dati, loro
non ridimensionare così bene una cosa tu
potrebbe pensare di fare è cosa se usassimo
un database senza sequel come sostituzione
per un data warehouse e questo funzionerà
in alcuni scenari ma il fatto è questo
quando si pensa l’ambiente
stai lasciando cadere queste cose in te
davvero bisogno di supportare un seguito molto
le imprese che vado in te avranno
come pochi è un po ‘come un invertito
piramide ne avrai pochi
gli amministratori in fondo conoscono a
più grande gruppo di sviluppatori e poi
avrai questo enorme gruppo di dati
analisti che sanno scrivere sequel
domande o sapere come lavorare con SAS o
R o uno di questi strumenti e così a meno che
hai qualcosa che dà loro un
sequel astrazione sei probabilmente morto
nell’acqua ora ce ne sono alcuni no
sequel database quote-unquote ora
offrono funzionalità di query sequel
come ad esempio Cassandra ma per il
la maggior parte delle persone sono parte servira ‘un sequel
rispondere a questo problema e si scopre
anche se Hadoop è progettato per essere
semplicemente non funziona Ellison va bene facciamo
prova questo
anche se Hadoop è progettato per essere
questa è una piattaforma di dati molto generica
in realtà abbastanza buono per fare sequel
tipo di cose e vedi in un minuto
e ancora una volta stiamo parlando di dati
problemi di magazzino non online
transazioni dove so che ho
ho questo set di dati e ho bisogno di farlo
analisi offline su di esso, quindi non ho bisogno
Voglio dire mettere in un altro modo il lotto
la natura della modalità di Hadoop è ok, posso
tollerarlo perché sto facendo offline
analytics quindi anche se ne abbiamo molte
dei benefici dei dati tradizionali
magazzini che abbiamo appena discusso
Hadoop ha anche un interessante compromesso
offrire ora è meno maturo ed è
meno sofisticato come un sequel
ambiente che è piuttosto scioccante
persone a meno che non li avvertiate di questo
ma la storia del sequel sta migliorando
come vedremo in un secondo in modo da
in realtà è una valida opzione per i dati
magazzinaggio e il costo e il
la scalabilità non può essere battuta così e
ecco perché uno dei più comuni
gli scenari per l’utilizzo di Hadoop ora sono come a
sostituzione del data warehouse quindi parliamo
per un minuto poi sul seguito di Hadoop
e ciò significa che non è veramente un
contraddizione in termini
bene ti scopre che Facebook è uno di
l’ ABETE
aziende per scalare davvero Hadoop in a
grande modo Yahoo forse è l’altro grande
uno e Facebook hanno avuto il problema, giusto
ha descritto dove avevano molti dati
gli analisti stavano raccogliendo tutto questo
i dati sui loro utenti forse più di
ci siamo resi conto o qualunque cosa e loro volevano
a questi analisti di dati uno degli UE
sequel per interrogarlo così Facebook in realtà
ha scritto uno strumento di query hive su Hadoop
chiamato scusa uno strumento di query sequel chiamato
l’alveare e non ti dà
le transazioni non ci sono operazioni crude
creare un aggiornamento di lettura ed eliminarlo davvero
è solo scansionare questo tavolo che in questo
case è solo file su HDFS e usa query
astrazioni che sono poi trasformate in
MapReduce i lavori quindi, in un certo senso, è un DSL
un linguaggio specifico per dominio per Hadoop
ma ha avuto un grande successo come a
risultato in effetti è così importante una delle
i libri che ho scritto erano persino all’alveare
anche se non sono davvero una persona mi sequel
realizzato solo parlando con i clienti
che era essenziale avere il bene
documentazione su questo strumento, quindi ho aiutato
scrivere un libro su di esso e c’è qualche nuovo
le opzioni emergenti sono un porto di alveari
per accendere lo squalo chiamato c’è un nuovo
è la versione di hive sorta di hive
Impala dove stanno sostituendo il lento
MapReduce back-end che sono con molto
motore di query più veloce e poi c’è
anche ora molto più conforme ANSI
versione sequel di uno strumento chiamato linguale
è basato su un’API chiamata cascading
quindi è una specie di mille fiori
stanno sbocciando nello spazio successivo
Hadoop ed è int che in effetti è possibile
fare cose come anche scrivere il conteggio delle parole in
hive questo quindi questo è in realtà l’ intero
programma per fare il conteggio delle parole sull’alveare
è abbastanza conciso come quello
esempio di scottatura e dimostra
che quando hai un seguito o piuttosto
un problema di query è davvero difficile da battere
la concisione di sequel ed è per questo
la gente vuole davvero poterla usare
bene, solo in fretta, voglio spendere molto
di tempo su questi ma l’ alveare era questo il
pioniere di questo movimento è stato inventato
su Facebook per risolvere i loro problemi ma
esegue MapReduce quindi nessuna query
tornando sai
istantaneamente sopra un piccolo ha detto che è
ci vorranno secondi due minuti per arrivare
tutto ciò che lo squalo ti dà in realtà
molto meglio eseguire
momenti perché la scintilla è molto più veloce
di MapReduce nella maggior parte dei casi, ma lo è
non come dimostrato in termini di sai
schieramenti e tempra e battaglia
poi c’è questo motore di query migliorato
sotto il linguaggio sequel dell’alveare
che sta andando a fare un po ‘alveare
obsoleto
ma ci vorrà un po ‘per questo
Impala strumento per recuperare tutto il
alveari caratteristiche così una delle cose
quello che sta succedendo però è quella gente
stanno iniziando a riconoscere che MapReduce
mentre ci ha ottenuto un lungo cammino e
è stato un potente attivatore in realtà
ha un sacco di svantaggi molto
di limiti quindi ovunque possiamo
sostituirlo con motori di calcolo migliori
dovremmo farlo e questo è un bene
esempio di calcolo specifico della query
motore che viene utilizzato da Impala
invece di MapReduce e penso che lo faremo
vedere questo come una tendenza in cui MapReduce lo farà
lentamente diventi un segmento più piccolo e
sezione più piccola del calcolo
ambiente se lo vorrai e lo farai
motori di calcolo alternativi in esecuzione e
allora finalmente questa alternativa se tu
voglio davvero più sequel conformi ANSI
questo strumento chiamato linguale ti dà questo
più che alveare DOS bene un altro scenario
che la gente ha bisogno di risolvere è cercare così
se pensi a quello che stai facendo
quando esegui una ricerca su Google, hanno effettivamente
fatto un indice sopra l’interwebs in modo che
quando fai una domanda per la Danimarca o
Shakespeare o quello che ottieni di più
pagine pertinenti indietro e questo è il
problema generale di abilitare la ricerca e
potrebbe essere la ricerca di voglio indicizzare
il wiki e il nostro ambiente aziendale
Voglio indicizzare i record dei clienti
avere come trascrizioni di telefonate
cose del genere questo è un esempio di a
soluzione specifica aggiunta per risolvere a
problema piuttosto che andare con un generale
quadro di riferimento come MapReduce e il
due esempi più noti sono leucina con
solare o elasticsearch elasticsearch I
penso abbia un discorso questo pomeriggio ma
questi sono ottimi esempi di molto altro
soluzione specifica per il dominio che è su misura
ad un problema particolare e lo risolve
in un modo molto migliore di quanto potresti
risolverlo usando solo hadoop generico e
così via ho detto che Hadoop è un
Sistema modalità batch, ma c’è un sacco di
problemi che sono morali
come un’elaborazione di eventi in tempo reale, quindi come
risolviamo quelli se non possiamo farlo con
un duplice perché non è così eccezionale
risolvendo questi problemi, allora cosa siamo noi
andando ad usare bene ce ne sono diversi
alternative e una di quelle che farò
menzione si chiama tempesta questo è molto
è molto simile concettualmente
un dupe nel senso che è stato progettato per
fornire elaborazione distribuita di eventi
ma è molto focalizzato sull’evento
elaborazione rispetto alla modalità batch
l’elaborazione tenta di farlo con
servizi affidabili distribuiti in modo che
puoi fidarti di questa cosa in alto
volume ambiente ad alta scala
concettualmente sembra uno spiegamento di accensione
come questo dove trattano i loro dati
fonti come beccucci e si implementa
beccucci per file system per messaggio
fila qualunque e poi l’ elaborazione
è fatto da bulloni dove sono i messaggi
canalizzato a queste cose che fanno
decisioni sui dati che trasformano
e così via e poi sai inviare
fuori da dove potrebbe atterrare potrebbe essere
atterrando in HDFS potrebbe atterrare e
qualche altro messaggio in coda o altro
quindi per confrontare questi due sono entrambi
entrambi sono altamente scalabili
Hadoop ha uno spot molto migliore
supporto nei test di battaglia e reali
schieramenti rispetto alla tempesta
punto, ma che cambierà tempesta
è solo più nuovo e meno maturo e
non ha è in realtà commerciale
il supporto sta iniziando a emergere ora
In effetti, gli stack di dati credo siano uno
società che lo sta offrendo ora
ma di nuovo Hadoop è fantastico per questi
tempesta di problemi in modalità batch è grande per
il flusso di eventi si elabora bene se ne hai
eventi individuali in arrivo sai
è una specie di database online
database transazionale farà per te
quindi forse potresti gettare un database e
e lascia che venga in tuo soccorso adesso
devo parlare di questa immagine per a
secondo , questo è letteralmente fuori
finestra del mio condominio a Chicago, vivo sul
34 ° piano in questo elicottero sotto l’occhio
livello quindi perché è un volo in elicottero
tra gli edifici bene si scopre
usano questi elicotteri da sollevamento pesante per
ascensore come nuova aria condizionata e
unità di riscaldamento fuori dalla strada e mettere
li sopra gli edifici quando sono
aggiornare o sostituire vecchie unità quindi alcuni
di tanto in tanto una domenica mattina
sentirai questo Wack Wack Wack Wack e
ti svegli e guardi fuori dalla finestra
c’è un inferno
Caprica ronza così comunque così che cosa
su un database bene si scopre che
sai ovviamente che i database sequel sono
ottimo a transazionale creare leggere
aggiorna e cancella le operazioni così tante
volte è quello che le persone usano ma in questo
una sorta di mondo dei big data è diventato
popolare da combinare e nessun sequel
database come Cassandra per questo tipo di
elaborazione per archiviare le cose molto rapidamente
o se sei davvero un centrico Hadoop
negozio dove vuoi essere in grado di correre
MapReduce i lavori che molte persone usano
HBase perché HBase utilizza il file HDFS
sistema è questo deposito durevole così tu
può fare cose transazionali con
HBase e quindi eseguire i lavori MapReduce
che vengono analizzando gli stessi dati così
questa è una combinazione abbastanza comune
scenario va bene così un altro caso d’uso che
è una specie di guida per l’eccitazione
I Big Data sono l’apprendimento automatico così tanti
volte hai sentito qualcuno dire ragazzo I
Vorrei poter miniere Twitter per sentimento
per scoprire di sapere che cosa la gente vuole
comprare o cosa pensano della mia compagnia
beh, questo è esattamente ciò di cui stiamo parlando
riguardo sta facendo cose come tu sai
motori di raccomandazione come il famoso
Modo in cui Netflix raccomanda i film
sei basato su ciò che hai già visto
Amazon lo fa per i prodotti spam
i filtri sono probabilmente i più preziosi
strumento di apprendimento automatico che tutti noi
contare su ogni giorno immaginare se fosse necessario
a che fare con lo spam tanto quanto noi abituati e
così avanti sulla linea un intero gruppo di
cose che apprendi in macchina che puoi fare
bene è possibile implementare questi algoritmi
in MapReduce ma di nuovo non è così
ottimo modello per questo motivo in realtà
in questo caso particolare, è un sacco di
questi algoritmi di apprendimento automatico sono
molto iterativo, specialmente quando lo sei
addestrando il sistema per esempio c’è
un approccio di ascolto del mese chiamato
pendenza stocastica del pendio o dove
sei tu hai un’equazione che tu
non posso risolvere analiticamente e tu semplicemente
devo indovinare la soluzione e iterare
verso la soluzione reale che non lo è
così bello se devi farlo come in
un lavoro MapReduce e un lavoro MapReduce e
ecc persone hanno capito
soluzioni alternative per questi problemi ma
MapReduce non è lo strumento migliore e
specialmente programmando questi algoritmi
è difficile, si scopre che c’è
alcune alternative interessanti che hanno
è emerso e uno di loro è uno strumento chiamato
modello
dove costruisci modelli predittivi in a
strumento come SAS o sono uno di questi strumenti
che molti esperti di apprendimento automatico
piace usarli esportarli in un markup
lingua e quindi puoi semplicemente eseguirli
senza modifiche su uno di questi
piattaforme in questo caso a cascata è il
piattaforma e sotto quello è
MapReduce quindi ci sono molti modi
le persone stanno risolvendo questo problema
implementare algoritmi di apprendimento automatico
che in una piattaforma non banale come a
dupe e si accende la scintilla che noi
già menzionato è in realtà in origine
progettato per MapReduce così è in realtà
uno strumento più semplice da utilizzare a livello di API
se stai scrivendo MapReduce o mi dispiace
algoritmi di apprendimento automatico perché quello
era uno degli obiettivi di progettazione originali di
SPARC e, infine, per completezza
come questo lavora spesso in pratiche voi
potrebbe usare il doob per addestrare i tuoi modelli
perché ti stai allenando per molto
set di dati di grandi dimensioni e quindi memorizzare il modello
dati conosci i coefficienti del
equazioni o quant’altro in alcuni più veloce
supporto di memorizzazione come nessun sequel in modo che
in tempo reale quando stai facendo
raccomandazioni che non stai chiedendo a Hadoop
per la risposta stai chiedendo un database
per le risposte pre-calcolate l’ultima
La cosa di cui voglio parlare è una cosa comune
scenario dei dati che è come analizzare
i dati dei social network così inventati da Google
MapReduce in parte da implementare
algoritmi come il loro famoso PageRank
dove hanno costruito fondamentalmente se si pensa
per il web è solo un grafico gigante
diritto di collegamenti da una pagina all’altra
e altri grandi esempi ovviamente sono
i tuoi seguaci e quelle persone
seguendoti su Twitter i tuoi amici
Facebook ecc bene si scopre che questi sono
grafici giganti che si desidera utilizzare il grafico
algoritmi per analizzarli ma una volta
di nuovo MapReduce non è terribilmente grande
adattarsi, perché l’attuazione ingenuo
avresti iniziato un nodo su cui avresti eseguito un
Lavoro MapReduce per fare il trattamento ad esso
ai suoi vicini qualsiasi messaggio e
quindi gli aggiornamenti di stato richiesti quindi il
i prossimi messaggi si propagheranno o il
attraversa qualunque cosa tu stia facendo e
nota alla volta o piuttosto al limite di a
tempo e se stavi facendo questo
MapReduce il lavoro in un momento da prendere per sempre
quindi le persone hanno guadagnato il sistema e
modi sorprendenti per arrivare in realtà questo a
lavoro e MapReduce anche se è un
modello di calcolo orribile per i grafici così
quello che le persone stanno cercando di fare e io dico
provando perché questo è in realtà
il tipo di ricerca all’avanguardia è come farlo
in realtà implementiamo algoritmi di grafi
in modo distribuito in modo che il
grafici stessi e l’ attraversamento
gli algoritmi sono cittadini di prima classe
bene Google ha lavorato su un sistema chiamato
prego prego è il nome del fiume
che scorre attraverso penso a königsberg
La Germania e l’invenzione del grafico
la teoria è stata fatta da Leonard Euler a
matematico che ha notato che c’erano
sette ponti che attraversano questo fiume e
potresti davvero incrociarli senza
andando a ripetere una traversata e fatto
senza entrare nei dettagli
si scopre che non si poteva ma era il
primo esempio di fare un’analisi di
grafici ed è per questo che hanno chiamato questo
cosa questo ma essenzialmente lo erano
si cercava di trattare grafici come
cittadino di prima classe e poi fare
attraversa il grafico e c’è
un altro come al solito è la storia
negli ultimi dieci anni è stato Google
fa qualcosa scrive un foglio alcuni
anni dopo e poi la gente prova a farlo
imitatelo e ci sono molti imitatori
giraffa e Hama e poi c’è un molto
interessante database alternativo chiamato
titan ‘che è probabilmente il più
sofisticato dei tre per fare
grafici distribuiti ma il problema è
nessuno sa davvero come farlo bene
eppure anche Google sta ancora usando
MapReduce per un sacco di algoritmi grafici
e molte delle conoscenze che sono state create
su come programmare MapReduce
incentrato su come fai interazioni iterative
algoritmi come inversioni di innesto al
MapReduce livello quindi questo è un no
problema completamente risolto anche se lo avremmo fatto
amo essere in grado di fare ciò che abbiamo
alcuni database grafici maturi come neo4j
che è davvero una singola macchina
database quindi non è il genere di cose
tu verrai proiettato su scala massiccia
grafico ma è il grafico più maturo
sistema se si desidera utilizzarlo comunque
quello è un problema irrisolto è come facciamo noi
fare grafici distribuiti siamo una specie di
hackerandoci dentro in questo momento
okay, quindi ricapitoliamo dove siamo
quindi Hadoop va bene per la modalità batch
analytics se ne hai uno sai che ho bisogno
scansionare i miei tavoli andando a quotare per alcuni
definizione di tabella e fare un po ‘
l’analisi allora è grandiosa per questo ma
ha un sacco di problemi di prestazioni
l’API è una specie di brutto è davvero il
javabeans aziendali nel tempo, quindi sono io
vedere un po ‘di transizione
ma certamente ha risolto alcuni importanti
problemi per noi e il loro seguito
ovviamente scala bene si adatta un sacco di
i problemi che abbiamo ce ne sono
momenti in cui abbiamo bisogno di sequel, ma un sacco di
volte non lo facciamo e miglioreremo
scalabilità Voglio dire, lo sappiamo tutti
storia dal ultimi dieci anni o giù di lì siamo
anche vedere un sacco di strumenti costruiti appositamente
come ricerca elastica e solare che sono
risolvere un problema focalizzato ma e facendo
in modo molto efficace piuttosto che fare affidamento
su una soluzione generica come un dupe e
poi c’è questa visione emergente di come
per combinare l’elaborazione in modalità batch con
elaborazione del flusso di eventi e davvero il
il libro definitivo su questo adesso è il
l’inventore della tempesta è Nathan Mars e
ha ragione sta scrivendo un ottimo libro
su questo tipo di visione di come combinare
elaborazione eventi in tempo reale con batch
modalità e molti di noi sono usciti dal
tempo sei stato su Twitter e loro
esperienze così, ad esempio, lo farebbe
consiglia di utilizzare Hadoop per il batch
la modalità riempie gli aggiornamenti in tempo reale con la tempesta
in modo che tu possa avere i dati attuali a
la tua disposizione non devi aspettare
quella notte investe il processo di hadoo
e poi qualsiasi persistenza ti livelli
bisogno e così via ovviamente non può
riassumere ciò che sta facendo in pochi
minuti voglio sottolineare comunque
qualcosa che le persone sono non penso come
consapevoli di come dovrebbero essere e che è
il sequel ruggisce anche se noi
ha attraversato il sai il tipo di
la storia d’amore senza sequel ed è
ovviamente ha preso il suo posto e ci piace
fare perché è gente per tutti gli usi
davvero bisogno di sequel è quello che sanno
è quello che vogliono usare così se tu
sorta di ignorare il seguito di qualunque cosa
la soluzione che stai creando sei probabilmente
fallire a lungo termine se non tu
affrontare questo problema e nel mio personale
la vista è che Hadoop non sarebbe vicino
come qualcosa di popolare che tutti
vuole fare se non fosse per il fatto
che abbiamo un grezzo ma efficace
strumento sequel chiamato hive e anche molto
dei cosiddetti database senza sequel
avere motori di query di Cassandra è sequel
dialetto
Mongo è completamente diverso ma è così
tuttavia ti dà un tipo simile di
semantica relazionale su documenti in
questo caso e ora c’è la nuova generazione
database che sono
sequal di nuovo e stanno applicando il
lezioni di nessun seguito e sono state
chiamato nuovo sequel ogni uno tutto
deve avere una sorta di parola d’ ordine giusta
ma stanno cercando di portare il
performance di nessun sequel torna al sequel
un esempio davvero famoso vale la pena
leggere i giornali su questo è cosa
Google è fatto con span o un f1 che
sono fondamentalmente sincronizzati globalmente e
quando dico globalmente non sto scherzando loro
effettivamente utilizzare orologi atomici e unità GPS
e tutti i tipi di cose folli per
sincronizzare i tempi su questi
database nuodb volt DB o un paio di
altri e l’ultima cosa ultima I
voglio parlare è in questo modo
nella tendenza a distanza che penso sia
molto interessante e potrebbe effettivamente essere
trasformativo nel tempo e cioè
che molte delle cose che sono
apprendimento automatico di base che è
alla base di questo dibattito tra Noam
Chomsky e Peter Norvig stanno usando
strutture dati probabilistiche a
rappresentare i dati e fare previsioni a
dedurre cosa farà e così via
quella roba è difficile da programmare e basta
ha un discreto livello di esperienza persino
capisci cosa sta succedendo , così c’è
in realtà un movimento che inizia a costruire
lingue che incorporano probabilistica
ragionamento dentro di loro quindi è molto
più facile per le persone mortali come il resto
di noi per scrivere questo tipo di programmi
che usano reti bayesiane e Markov
catene e altre parole d’ordine così che è
qualcosa da tenere a mente e basta
quindi credo che abbiamo domande probabilmente
sulla piccola app e prenderò quelli
ora sì, è possibile utilizzare Hadoop sui dati
difficile da decomporsi come a
aggregando l’interpolazione nel tempo
dati di serie conosci la risposta generale
è se sei disposto a lavorare abbastanza duramente
puoi praticamente fare qualsiasi cosa il tempo
il problema della serie è interessante
non ne parlava davvero ma è così
in realtà un buon esempio di
approcci per uno scopo speciale ce ne sono alcuni
database di serie temporali che le persone sono
principalmente in cima a Hadoop
in realtà HBase e Cassandra e così via
generale e non ho detto questo ma
hey una delle cose che Hadoop è
davvero fantastico è che puoi semplicemente carino
molto gettare qualsiasi tipo di dati che si desidera
nel file system e quindi capire
un modo per analizzarlo sia che lo sia
relazionale se si tratta di un valore chiave o
piuttosto dati delimitati da virgole o altro
e così penso nel caso di
le serie temporali di dati le persone stanno risolvendo quello
problema con uno scopo speciale
database o capire un modo ad hoc
per rappresentare i dati e menzionerò
un database che dovresti dare un’occhiata
che penso che sarà anche
dirompente e che è des Tomic che è
quella che Chris piuttosto ricco Hickey è
lavorando al ragazzo che ha creato la chiusura
la cosa riguardo l’atomico è questo
ricorda tutto ciò che è mai accaduto
tratta i database di valore così quando
ti piace scrivere un aggiornamento per un record
in realtà stai creando un nuovo virtuale
copia del database ovviamente loro
non copiare veramente l’intera cosa loro
condividere i dati ma per i dati delle serie temporali I
potrei vederlo davvero
rivoluzionario per risolvere questo problema
e quello era l’unico a posto
Sarò in giro per il resto della giornata in modo da
sentiti libero di venire a fare domande
molte grazie
parlare di andare oltre i big data
hype e in realtà ottenere qualcosa
utile con tecnologie come Hadoop
e nessun sequel e così via su cui si basa
la mia esperienza come consulente
Hadoop si consulta principalmente in alcuni no
sequel degli ultimi anni e sono stato
fare impresa Java dal
L’ era del Pleistocene e quello che ho visto è a
molte persone sono davvero molto ansiose
saltare su questo carrozzone che non fanno
voglio essere lasciato fuori che non vogliono
perdere tutte le cose interessanti che vogliono
oro mentale dal sentimento di Twitter
analisi e cose del genere ma molto
di volte in realtà non sanno cosa
stanno facendo loro non lo sanno davvero
che c’è coinvolto in un ciclo di hype
e quello che devono veramente fare è
capire quale valore vogliono
estrarre dalle loro informazioni e
questo è l’obiettivo di questo discorso e cosa
Sto per iniziare è definire cosa
Big Data significa per me, quindi ti mettiamo a
definizione su questa parola d’ordine e poi
parlare dell’attuale tipo di ecosistema
concentrandosi su Hadoop ciò che è buono a questo proposito
e cosa non è e parlare di
in particolare casi d’uso che potrebbero essere necessari
risolvere e quali sono gli strumenti migliori e
approcci per quei casi d’uso e poi
speculare un po ‘sul futuro
quindi lasciami iniziare definendo Big Data tu
potrebbe non essere in grado di leggere questo dal
indietro ma ci sono due definizioni qui
I Big Data sono tutto ciò che è in crash
Excel o piccoli dati quando si installa Ram
i big data sono quando si blocca perché
non è adatto alla RAM che è uno
definizione o due in realtà forse più
definizione realistica e ti lascerò fare
la matematica sulla destra per assicurarsi che sia
corretta
i big data sono dati davvero grandi
che i nostri strumenti e approccio tradizionali
è tipo di abbattere o ottengono
troppo costoso o semplicemente non possono
scala alle dimensioni che abbiamo bisogno di ridimensionare
così abbiamo inventato l’alternativa
approcci alla base di tutte queste cose sono
tre tendenze, una delle quali credo sia
ovvio e gli altri due forse non così
ovvio l’ovvio sono i dati
le dimensioni stanno crescendo, stiamo catturando di più
registra i dati di cui stiamo acquisendo più dati
gli utenti non stiamo gettando quanti più dati
via come eravamo abituati e così in generale noi
basta avere di più per l’uomo
questo non è nulla che nessuno di voi
non ho sentito prima di quello che potrebbe essere nuovo
l’idea che forse non vogliamo davvero
essere così duramente nello schema più che
forse abbiamo bisogno di rilassare la nostra nozione di
gli schemi sono più flessibili e adattabili
in parte perché prima di tutto lo schema
ciò vale per i nostri dati oggi sta andando
per evolvere verso qualcosa d’altro
rapidamente questo è abbastanza comune e il
l’altra cosa che succede è quella gente
voglio riunire selvaggiamente diversi
tipi di dati ed estrarre informazioni
estrarre valore dal
intersezione di questi set di dati in modo da essere
in grado di essere molto flessibile sui dati
gli schemi si sono rivelati davvero
importante e l’ultima grande tendenza è
forse il più interessante in termini di
innovazione tecnica e questa è l’idea
che stiamo sottolineando l’idea
i nostri programmi sono padroni dell’universo
che capiscono tutto di
il nostro dominio e invece stiamo scrivendo
algoritmi generici che sono guidati da
dati invece e questa è una foto di
la seconda generazione di auto a guida autonoma
che Google ha costruito chiamato Stanley che
è un grande esempio di una macchina guidata dai dati
sta usando alcuni fondamentali
algoritmi probabilistici da capire
dove è rilevare i pedoni e it
risulta che hanno guidato queste cose
diverse centinaia di migliaia di miglia intorno
gli Stati Uniti e l’ unico incidente
queste macchine hanno mai avuto è quando un laureato
lo studente guidava davvero la macchina
ma funzionano molto molto bene un altro
esempio interessante per me di questo insieme
dibattito sui modelli formali rispetto al solo
la struttura probabilistica di capire è
un argomento che è scoppiato tra il
il famoso linguista Noam Chomsky e Peter
Norvig che è il direttore della ricerca di
Google e uno dei pionieri di
metodi probabilistici per macchina
apprendimento e, naturalmente, Noam Chomsky è
famoso per costruire il tuo molto
modelli sofisticati di come il linguaggio
lavori che conosci a un livello fondamentale
e poi ci sovrapponiamo a quello inglese
e olandese e danese e tu sai
qualunque dove come ciò che ha in realtà
si è rivelata la più efficace in
costruire come strumenti di traduzione automatica
l’analisi del sentimento ha costruito a
modelli probabilistici che sono relativamente
stupido per quello che sta realmente accadendo
in termini di significato ma
probabilisticmente deduciamo solo il significato
lanciando molti dati sul problema
e così questa sorta di dibattito pubblico
scoppiato tra questi due ragazzi, io no
Penso che si siano effettivamente incontrati faccia a faccia
se ma avete ordinamento di blogpost in competizione
di cosa nelle interviste dove loro
discusso i meriti delle grammatiche formali
contro ragionamento probabilistico circa il
le cose funzionano davvero così c’è il
tre tendenze e quel tipo di unità
decisioni architettoniche che conosci usate
per essere tutti abbiamo costruito applicazioni come
questo dove alcuni eventi come una query o a
accesso utente o qualsiasi altra cosa innescata
informazioni su cui è stata eseguita una query
un database che abbiamo portato attraverso un
strumento di mappatura relazionale di oggetti che abbiamo inserito
quello in un perfetto modello mondiale di Java
oggetti o qualsiasi cosa nel middleware noi
massaggiato e poi lo abbiamo inviato a un
browser o qualsiasi altra cosa ma ora ci stiamo muovendo
più verso questo modello che sei tu
sapere dimenticare tutte le cose dell’oggetto nel
medio o almeno questa idea che noi
dovrebbe avere una rappresentazione completa di
il mondo in oggetti nel mezzo e
invece usiamo il fatto che il nostro
i database stanno tornando sostanzialmente
collezioni di dati tecnicamente il termine
di conseguenza ha detto, ma è davvero come un
gigante una lista di array qualunque sia la causa di hashmap
non abbracciamo semplicemente quelle collezioni
mantenere una conoscenza minima di ciò che
in realtà di cosa si tratta il contesto più ampio
lo scenario particolare erano
attuare e rimanere magra e cattiva
di conseguenza perché conosciamo solo
quello che dobbiamo sapere per trasformarlo
dati in qualche modo nel mezzo e poi
inviare via al browser che può
anche essere funzionale se stiamo usando
javascript nel modo giusto e così via
quindi è come se ci costringesse a concentrarci meno
su oggetti specifici del dominio e altro ancora
strutture dati fondamentali che conosci
come le solite cose che tutti conosciamo
e ama e lavora con quelli e resta
agnostico che risale a questa idea di
come le strutture dati probabilistiche
contro i modelli di grammatica formale in cui il nostro
il nostro codice non sa più molto
riguardo al dominio che ci sta lavorando
appena guidato dai dati e in realtà il no
il movimento sequel si adatta a questo
nello stesso modo in cui siamo
de-enfatizzando lo schema che de-enfatizza
conoscenza del dominio incorporata in
la logica dei nostri schemi e invece
lavorando con dati più fondamentali che
è relativo conosci il sistema di database
è relativamente agnostico sui dati
quello che stiamo solo lavorando con il minimo
capisco che abbiamo bisogno e poi lo sai
muovendosi con tanta scalabilità in come
molto più veloce che possiamo per scalare
ma usando la logica solo dove è necessario
ottenere le risposte che ci servono in modo non intenzionale
era l’effetto collaterale dell’approccio all’oggetto
che era molto difficile nella pratica
termini per disaccoppiare le cose in piccolo
pezzi così quasi tutti maturi
Applicazioni Enterprise Java che io abbia mai
visto erano fondamentalmente come questo così grande
batuffolo di codice nel mezzo attraverso il quale
tutto doveva passare perché così grande
batuffolo aveva tutta la conoscenza del mondo, ma
quando disaccoppiamo le cose su cui ci concentriamo
astrazioni minime e minimali
capire e usare un più funzionale
approccio quindi si trasforma in molto
più facile da essere decomposto in cose
processi focalizzati più piccoli e indovinate un po ‘
ora possiamo sapere fare copie di loro
quindi possiamo eseguirli contemporaneamente che possiamo
correre in parallelo anche in altri modi
e quindi otteniamo una migliore scalabilità e
è molto più facile mantenere cose simili
questo è ben disaccoppiato che possiamo
processo di aggiornamento a se abbiamo bisogno di e e
continua così tanto da ridurlo
middleware mirato e tutto il
struttura sorta di rientra nel
tre forze motrici dove scala
meglio quando possiamo scalare orizzontalmente
con pezzi più piccoli piuttosto che grandi batuffoli
di codice , stiamo sottolineando lo schema
nel senso che i nostri oggetti sono no
più i tuoi modelli del mondo ma
invece sono minimamente focalizzati
manipolazioni di dati fondamentali
collezioni fondamentali e così via e
questo supporta meglio l’idea che siamo
lascerò il giorno per guidare l’emergente
comportamento piuttosto che provare a costruire a
modello del mondo che dobbiamo forzare
in forma o dati in e gli strumenti che noi
avere a disposizione questo è un
o questo oggi è uno di loro
MapReduce e il file distribuito
il sistema che lo accompagna chiamato HDFS per
Hadoop ha distrutto il file system ora
MapReduce è in realtà il pioniere di
Google anche se, naturalmente, il concetto di
la mappa e la riduzione sono fondamentalmente vecchie
la matematica e Google avevano anche un
file system distribuito e quindi il
Il progetto Hadoop era un clone di cleanroom di
questo, ma si adatta bene al modello
dove avremo questo generico
infrastruttura che sa solo come
mappa le cose e come ridurre le cose e
lo programmiamo per fare il reale
trasformazione quindi ne abbiamo bisogno
davvero ben orizzontalmente il distribuito
il file system in linea di principio può essere
dimensioni illimitate anche se in questo momento
ci sono alcune limitazioni pratiche in
dimensione e si scopre che le aziende
come Facebook hanno 600 petabyte ora
residente nei cluster Hadoop ora lo so
un cluster potrebbe contenere così tanti dati
ma puoi facilmente scalare fino a diversi
petabyte in un singolo cluster Hadoop
oltre diverse migliaia di macchine e
ci sono altri approcci oltre a ingannare
ci sono altri tipi di middleware
potremmo scrivere alcuni personalizzati
di serie e poi c’è spesso
persone che usano questi database sequel come
il livello durevole sotto e lo faremo
parla di scenari in cui potresti usare
uno contro l’altro e uno interessante
esempio penso che sia degno di nota è
che improvvisamente possiamo effettivamente utilizzare
JavaScript dall’alto verso il basso a causa di
funzionalità middleware come nodejs e
Database di documenti basati su JSON come Mongo
e ovviamente abbiamo avuto Jason in the
browser per sempre bene per sempre nel cane
anni credo che ora possiamo avere
Java ti scrive dall’inizio alla fine
in basso se vogliamo davvero quale sia
in realtà abbastanza carina da essere
in grado di utilizzare uno strumento per l’intera cosa
anche se certamente ci sono alcune persone
Nodo di odio così non posso essere necessariamente
dire che il nodo è la cosa giusta da usare
ma comunque penso che tu abbia il
segnalo pure mi permetta di prendere solo un momento per
descrivi cosa MapReduce è nel caso tu
non so cosa tu abbia probabilmente
tutti hanno sentito il termine ormai ma se tu
non so davvero cosa significhi che sia
vale la pena solo un momento per parlarne
perché in realtà ha qualcosa di grande
punti di forza ma anche grandi debolezze
fondamentalmente un lavoro di MapReduce è letteralmente a
fase opaca e una fase ridotta e poi
qualche magia che accade in mezzo a
la fase della mappa che hai effettivamente letto nel
file fuori dal tuo file system distribuito
e scopre cosa piace a Hadoop
è archivio di file in blocchi molto grandi
tipicamente un multiplo di 128 megabyte
mentre i file system sottolineati che
siamo tutti abituati a come piace qualunque cosa sia
sotto il file distribuito Hadoop
sistema il file system sul mio computer
sai che in genere è come una dimensione di blocco
cinque kilobyte o qualcosa del genere ma dentro
Hadoop a loro piace usare centinaia di
dimensioni dei blocchi kilobyte e la ragione è
è una ragione molto pratica per tornare indietro
alla fisica o meno hard disk che conosci
abbiamo questi dischi rigidi che sono
ossido di ferro ruggine rotante fondamentalmente e
loro questa piccola testa che viaggia
sopra la cima e quel movimento della testa è
di gran lunga la parte più lenta del processo
sei come 10 millisecondi o
qualcosa per andare avanti attraverso il duro
guidare ciò che vogliamo fare è parcheggiare il
cuore che testa e poi basta scansionare tutto
i dati che gira sotto di esso
ed è per questo che vuoi essere grande
blocchi contigui di memoria e non
roba rotta come non avresti
su un normale file system, quindi da Hadoop
l’inizio è molto orientato
verso ho molti dati che voglio
scansione tutto in una volta o forse un grande
pezzo di esso e quindi voglio che sia in grado
leggerlo in modo contiguo
guidare penso che la regola generale sia quella
puoi scaricare come un disco rigido di terabyte
in 10 minuti ci vuole tanto tempo per leggere
un terabyte fuori da un hard disk in questi giorni
veloce come loro è un enorme
collo di bottiglia quindi comunque come Hadoop
funziona e questo potrebbe essere diverso per come
Google MapReduce ma genererai una JVM
attività per ogni blocco sul filesystem
e quell’attività iniziale farà qualcosa
di mappare su quei dati e di essere
specifica fammi solo descrivere cosa tu
farebbe con qualcosa chiamato parola
contare il conteggio delle parole è come il mondo ciao
di uno spazio Hadoop è il primo programma
tutti scrivono perché è un semplice
algoritmo e così puoi concentrarti sul
cattiva API che vedremo in a
pochi minuti ma fondamentalmente nel conteggio delle parole
Voglio leggerti, conosci un corpus di
documenti diciamo che Wikipedia e io voglio
per trovare tutte le parole
quel corpus e poi voglio contare il
occorrenza di ogni parola così sai che sono
vedrò la parola Shakespeare e il
parola Danimarca e la parola Hadoop e così via
avanti e quindi voglio trovarlo
tutti questi documenti e ho un
mazzo di prove di mappe e lettura parallela
pezzi di Wikipedia e cosa sono
sputerò nel mezzo verso
questa cosa che si chiama sort shuffle
ecco alcune coppie di valori chiave e quelle
in questo caso questo algoritmo è la chiave
coppie di valori saranno ciascuna parola che trova
em in conti di quelle parole che conosci
e i dati che ha elaborato e come
queste coppie di valori chiave stanno venendo fuori
saranno ordinati nello stesso processo
non globalmente ma nello stesso processo e
poi vengono mescolati, il che significa che io
voglio essere sicuro che tutto il
si verificano eventi della Danimarca e andiamo
Dì il secondo compito ridotto che è
un altro processo jvm in esecuzione sul mio
cluster da qualche parte forse tutto il
Verranno visualizzate le coppie di valori chiave di Shakespeare
sul primo e così via e tu
può vedere dove sta andando il riduttore
non sta per ottenere tutto il
Shakespeare conta e tutto questo e
un altro sta per ottenere tutto il
La Danimarca conta e quello sta per fare a
conteggio totale finale e uscita globale
conta per ciascuna di quelle parole che è
davvero tutto quello che c’è da fare su un lavoro di MapReduce
sono questi tre passi l’uno nel
nel mezzo che Hadoop fa per te il tipo
shuffle e poi il – della mappa e
l’ attività ridotta che scrivi tu stesso
ora si scopre se vuoi farlo
qualcosa come un seguito o un gruppo
comprare è lì che le cose diventano davvero pelose
perché anche se questo è molto generico
e flessibile e per alcuni aspetti è
anche molto difficile da mappare un sacco di
concetti di alto livello a questi bassi livelli
API e la maggior parte del tempo in più
scenari complicati come un gruppo di
seguito da una sorta su quel tipo di
dichiarazione di sequel che potresti scrivere che farai
in realtà devono sequenza un sacco di
questi lavori e che porta a uno dei
limitazioni importanti di Hadoop dopo
ognuno di questi compiti MapReduce sta andando
scrivere di nuovo tutto su disco e se
Ho un sacco di sequenza di lavoro
insieme che leggerò tutto questo
roba in memoria quindi c’è un po ‘
di inefficienza qui ma è una specie di
inefficienza che è stata tollerata
perché se ho bisogno di elaborare un centinaio
terabyte di dati quindi preferirei buttarli
un migliaio di macchine o qualsiasi altra cosa
e e anche se è ogni processo è
inefficiente almeno nel
aggregato ottengo i risultati più velocemente di me
voglio così è una sorta di succo di come
MapReduce funziona questo è un esempio di
qualcosa di un lavoro MapReduce senza a
riduttore ti lascio capire se questo
ha senso, va bene, va bene
ora Hadoop è davvero il migliore generico
strumento che abbiamo per questo tipo di
enormi dati arbitrari generici
imposta la manipolazione sai che è gratis
anche se libero come in non altrettanto grave
perché devi fare molto lavoro
per farne una maglia e tutto il resto
roba ma è il genere di cose a
molte persone possono adottare equamente e
costoso ora se guardi il
costo per terabyte Hadoop è drammaticamente
più economico di quasi qualsiasi altra opzione che noi
ad eccezione di alcuni di questi sequel
database ma come l’ho descritto davvero
vuole fare tutto in modalità batch
vuole davvero prendere quei dati
hai collezionato e fatto qualcosa di grande
analisi tutto in una volta non fa tutto
voglio lavorare con roba in modo incrementale
è non è possibile scrivere in modo incrementale a
il file system convenientemente e il modo
che si scala e il sovraccarico di
cercando di essere massicciamente concorrente
non ti permette di fare eventi incrementali
elaborazione molto bene e torneremo
a questo è un problema che dobbiamo risolvere
quindi non è così grande per i flussi di streaming
degli eventi è anche inutile
transazioni perché ancora una volta
non vuole lavorare con i singoli
registra per qualche definizione di registrarlo
vuole solo lavorare con tutti i dati a
una volta così le transazioni sono un altro problema
potrebbe essere necessario risolvere per i big data e
quell’API che ti ho guidato
un po ‘ concettualmente è un po’
a grana grossa che si desidera
qualcosa che è più piccolo e più
componibile in modo da poter combinare
cose insieme per ottenere il tipo di
comportamenti che vuoi
considerando che cercare di forzare tutto in forma
in te sai una mappa in una riduzione
fase o una sequenza di quelli che è
in realtà è difficile è uno dei
quelle cose che diventano speciali
abilità che alcuni sviluppatori hanno e
il resto di noi sta facendo tutto noi
può evitare di doverlo acquisire
abilità perché non vogliamo spendere il
tempo su di esso così uno dei primi
alternative che voglio menzionare oggi è
questo strumento chiamato scintilla che è iniziato come
un progetto di ricerca a Berkeley
Università
California ed è molto simile nel
senso che è progettato per essere altamente
distribuito per farti fare il genere di
calcolo generale che Hadoop
è bravo ma ha un sacco di
vantaggi rispetto ad Hadoop almeno ora
non è stato testato in battaglia a centinaia di
petabyte di dati ma almeno di progettazione
ha molti vantaggi ad esempio
memorizza i dati nella memoria tra i passaggi
e così a volte è in realtà facile
ottenere posti di lavoro che eseguono 32 o anche cento
tempi più veloci in SPARC rispetto a MapReduce
ma è qualcosa che ha bisogno di più
test di battaglia per essere robusto come Hadoop
è in termini di essere dimostrato e e
noto affidabile ora un altro problema con
Hadoop è molto specifico per Hadoop
è che l’ API Java di basso livello è molto
prolisso e difficile da usare così per
esempio ecco il conteggio delle parole in quell’API
e so che nessuno può leggere questo e
è una specie di design il reale
logica interessante che descrivo
verbalmente un minuto fa è solo in a
relativamente poche righe di codice e
in realtà non ti sto nemmeno mostrando
intero programma non ti ho mostrato il
routine principale che è un altro 20 o 30
linee di setup quindi questo è molto
di lavoro mi scusi oltre al fatto che
è un po ‘ prolisso ce ne sono molti
setup da fare e poi se voglio fare un
Algoritmo non banale che devo davvero fare
sviluppare una competenza su come mapparlo
concetto di alto livello a questa API di basso livello
in effetti penso che assomigli molto a EJ
B sì, quando ho iniziato a leggere
questo codice mi ha pensato e stiamo bene
merda degli anni ’90 è un po ‘presto è
piace molto ai primi anni 2000, ma comunque
ci si sente davvero come siamo tornati al
Giorni di EJB e conosci EJ B così tutti
ama lamentarsi di lui ora perché
erano una sorta di esperimento fallito
ma hanno fatto riflettere la gente
Java aziendale risolvono alcuni problemi
solo non particolarmente bene il problema
con EJ B erano erano a
protocollo inefficiente è stato molto
invasivo a livello di API nel tuo
applicazione e ci sono voluti alcuni ripensamenti
da persone come la Spring Framework e
rod Johnson per capire la strada giusta
fare enterprise Java e penso che il
stessa cosa sta per accadere con un
dupe quindi di fatto se usi un particolare
Strumento basato su Scala per
questo lavoro quindi ottieni qualcosa
sembra molto più piccolo in effetti
senza entrare in molti dettagli
riguardo al codice è abbastanza facile
capisci cosa sta succedendo qui una volta
capire alcune piccole nozioni di base del
scalding API the scalding è un progetto
il Twitter ha scritto che è in realtà un
Hadoop API è in realtà due livelli
sopra l’ API di basso livello che ho descritto ma
torni a qualcosa che è molto
più ciò che vogliamo veramente che è
esprimere i nostri algoritmi usando il
terminologia che è appropriato per la
livello che stiamo lavorando così qualunque cosa
le persone stanno imparando Hadoop quando sono
mentoring persone su Hadoop io dico loro
sai adottare scottature o se sei un
ragazzo di chiusura adottare cose di registro Casca come
ma evita l’api di basso livello e
solo per comodità Park ti dà
qualcosa di molto simile è lo stesso
api e scintilla e dà lo stesso tipo
di conciso molto descrittivo e
una sorta di spiegazione intuitiva una volta
capire cose come la mappatura piatta e
mappatura e riduzione quindi è davvero
facile da usare queste API che è il modo
dovrebbe essere
quindi questo è un problema che dobbiamo risolvere
in Big Data è ap espressivo che lascia
noi esprimiamo il nostro intento in modo conciso come
possibile e questi sono esempi che sono
portandoci in quella direzione
ok ma diamo un’occhiata ad alcuni specifici
scenari di utilizzo problemi che abbiamo bisogno di
risolvi dove pensiamo di avere grandi dati
problema e cosa significa per noi a
prima voglio contrastare quando vuoi
usare anche contro il database
sequel o nessun sequel per quella materia
beh, Hadoop è fantastico quando lo fai davvero
avere un bisogno molto flessibile per
calcolo sai l’ apprendimento automatico
gli algoritmi non si adattano davvero a una relazione
query di modello molto bene
ma sono relativamente facili da parlare
implementare in uno strumento come un Hadoop dupe
è grandioso se hai davvero massa
set di dati che è necessario eseguire scansioni di scansione
di fare una sorta di analisi globale e
va bene o bene se fai tutto questo
modalità batch, in altre parole, non è un
sistema online deve essere veloce perché
hai un utente seduto a un browser
è qualcosa in cui lo gestisci
durante la notte per analizzare i vostri petabytes di
dati di registro o qualsiasi cosa mentre sul
altra mano se hai un problema
si adatta ad un particolare modello di dati se
è relè
valore più basso orientato al documento o chiave
negozio quindi i database sono fantastici per
questo e in particolare se hai bisogno
comportamento transazionale di qualche tipo se
hai bisogno di un accesso a livello record al contrario
alle scansioni complete della tabella e persino io ho un
venditore anche qui perché una cosa è quella
la gente usa questi database per è a
risolvi il problema dell’evento in cui tratto
ogni interazione con un database come
evento quindi è ottimo per questo tipo di
cose e in effetti più grandi
le organizzazioni hanno bisogno di entrambi i tipi di funzionalità
set e quindi spesso combinano i due
e una delle combinazioni interessanti
sta usando questo database chiamato HBase
che in realtà si trova in cima alla Hadoop
file system distribuito quando è necessario
quel tipo di accesso a livello di record e
aggiornamenti rapidi e cancellazioni e così via
ma vuoi fare l’analisi globale finita
quei dati ogni notte o qualsiasi altra cosa
HBase più un dupe è una buona combinazione
bene l’altro modo che stiamo vedendo
In particolare, Hadoop usato è basso
opzione di data warehouse di costo, quindi ho lavorato
con un cliente che una volta poteva solo mantenere
sei mesi dei dati che erano
accumulando e hanno accumulato molto
di dati l’unico modo in cui avrebbero ottenuto
oltre quella finestra di sei mesi c’era
in realtà lascia un altro milione di dollari
un dispositivo di data warehouse anonimo e
erano loro non volevano spendere un
milioni di dollari quando potevano usare
qualcosa che era 1/10 il costo e
quello che abbiamo fatto per questo cliente in realtà
è migrarli a Hadoop e ora loro
hanno come diversi anni di dati in a
cluster penso che cento e
sessanta nodi o qualcosa del genere
bene i vantaggi anche se un tradizionale
data warehouse i tuoi dati Terra e così via
avanti è che sono maturi
tecnologie che ti danno una bella idea
ambiente tendono ad essere veloci che fanno
scala oltre l’analitica tradizionale
database o database online piuttosto e
ti danno un ricco sequel e query
semantica che è grande e quindi se la tua
il set di dati non è la dimensione dei petabytes, quindi forse
paghi solo i soldi per uno di questi
le cose perché sono solo mature
e funzionano bene ma lo sono
estremamente costosi possono essere fino a a
cento volte più costoso in a
livello di costo del terabyte rispetto a Hadoop
e hanno questo limite che quando
tu
– ci sono davvero grandi insiemi di dati, loro
non ridimensionare così bene una cosa tu
potrebbe pensare di fare è cosa se usassimo
un database senza sequel come sostituzione
per un data warehouse e questo funzionerà
in alcuni scenari ma il fatto è questo
quando si pensa l’ambiente
stai lasciando cadere queste cose in te
davvero bisogno di supportare un seguito molto
le imprese che vado in te avranno
come pochi è un po ‘come un invertito
piramide ne avrai pochi
gli amministratori in fondo conoscono a
più grande gruppo di sviluppatori e poi
avrai questo enorme gruppo di dati
analisti che sanno scrivere sequel
domande o sapere come lavorare con SAS o
R o uno di questi strumenti e così a meno che
hai qualcosa che dà loro un
sequel astrazione sei probabilmente morto
nell’acqua ora ce ne sono alcuni no
sequel database quote-unquote ora
offrono funzionalità di query sequel
come ad esempio Cassandra ma per il
la maggior parte delle persone sono parte servira ‘un sequel
rispondere a questo problema e si scopre
anche se Hadoop è progettato per essere
semplicemente non funziona Ellison va bene facciamo
prova questo
anche se Hadoop è progettato per essere
questa è una piattaforma di dati molto generica
in realtà abbastanza buono per fare sequel
tipo di cose e vedi in un minuto
e ancora una volta stiamo parlando di dati
problemi di magazzino non online
transazioni dove so che ho
ho questo set di dati e ho bisogno di farlo
analisi offline su di esso, quindi non ho bisogno
Voglio dire mettere in un altro modo il lotto
la natura della modalità di Hadoop è ok, posso
tollerarlo perché sto facendo offline
analytics quindi anche se ne abbiamo molte
dei benefici dei dati tradizionali
magazzini che abbiamo appena discusso
Hadoop ha anche un interessante compromesso
offrire ora è meno maturo ed è
meno sofisticato come un sequel
ambiente che è piuttosto scioccante
persone a meno che non li avvertiate di questo
ma la storia del sequel sta migliorando
come vedremo in un secondo in modo da
in realtà è una valida opzione per i dati
magazzinaggio e il costo e il
la scalabilità non può essere battuta così e
ecco perché uno dei più comuni
gli scenari per l’utilizzo di Hadoop ora sono come a
sostituzione del data warehouse quindi parliamo
per un minuto poi sul seguito di Hadoop
e ciò significa che non è veramente un
contraddizione in termini
bene ti scopre che Facebook è uno di
l’ ABETE
aziende per scalare davvero Hadoop in a
grande modo Yahoo forse è l’altro grande
uno e Facebook hanno avuto il problema, giusto
ha descritto dove avevano molti dati
gli analisti stavano raccogliendo tutto questo
i dati sui loro utenti forse più di
ci siamo resi conto o qualunque cosa e loro volevano
a questi analisti di dati uno degli UE
sequel per interrogarlo così Facebook in realtà
ha scritto uno strumento di query hive su Hadoop
chiamato scusa uno strumento di query sequel chiamato
l’alveare e non ti dà
le transazioni non ci sono operazioni crude
creare un aggiornamento di lettura ed eliminarlo davvero
è solo scansionare questo tavolo che in questo
case è solo file su HDFS e usa query
astrazioni che sono poi trasformate in
MapReduce i lavori quindi, in un certo senso, è un DSL
un linguaggio specifico per dominio per Hadoop
ma ha avuto un grande successo come a
risultato in effetti è così importante una delle
i libri che ho scritto erano persino all’alveare
anche se non sono davvero una persona mi sequel
realizzato solo parlando con i clienti
che era essenziale avere il bene
documentazione su questo strumento, quindi ho aiutato
scrivere un libro su di esso e c’è qualche nuovo
le opzioni emergenti sono un porto di alveari
per accendere lo squalo chiamato c’è un nuovo
è la versione di hive sorta di hive
Impala dove stanno sostituendo il lento
MapReduce back-end che sono con molto
motore di query più veloce e poi c’è
anche ora molto più conforme ANSI
versione sequel di uno strumento chiamato linguale
è basato su un’API chiamata cascading
quindi è una specie di mille fiori
stanno sbocciando nello spazio successivo
Hadoop ed è int che in effetti è possibile
fare cose come anche scrivere il conteggio delle parole in
hive questo quindi questo è in realtà l’ intero
programma per fare il conteggio delle parole sull’alveare
è abbastanza conciso come quello
esempio di scottatura e dimostra
che quando hai un seguito o piuttosto
un problema di query è davvero difficile da battere
la concisione di sequel ed è per questo
la gente vuole davvero poterla usare
bene, solo in fretta, voglio spendere molto
di tempo su questi ma l’ alveare era questo il
pioniere di questo movimento è stato inventato
su Facebook per risolvere i loro problemi ma
esegue MapReduce quindi nessuna query
tornando sai
istantaneamente sopra un piccolo ha detto che è
ci vorranno secondi due minuti per arrivare
tutto ciò che lo squalo ti dà in realtà
molto meglio eseguire
momenti perché la scintilla è molto più veloce
di MapReduce nella maggior parte dei casi, ma lo è
non come dimostrato in termini di sai
schieramenti e tempra e battaglia
poi c’è questo motore di query migliorato
sotto il linguaggio sequel dell’alveare
che sta andando a fare un po ‘alveare
obsoleto
ma ci vorrà un po ‘per questo
Impala strumento per recuperare tutto il
alveari caratteristiche così una delle cose
quello che sta succedendo però è quella gente
stanno iniziando a riconoscere che MapReduce
mentre ci ha ottenuto un lungo cammino e
è stato un potente attivatore in realtà
ha un sacco di svantaggi molto
di limiti quindi ovunque possiamo
sostituirlo con motori di calcolo migliori
dovremmo farlo e questo è un bene
esempio di calcolo specifico della query
motore che viene utilizzato da Impala
invece di MapReduce e penso che lo faremo
vedere questo come una tendenza in cui MapReduce lo farà
lentamente diventi un segmento più piccolo e
sezione più piccola del calcolo
ambiente se lo vorrai e lo farai
motori di calcolo alternativi in esecuzione e
allora finalmente questa alternativa se tu
voglio davvero più sequel conformi ANSI
questo strumento chiamato linguale ti dà questo
più che alveare DOS bene un altro scenario
che la gente ha bisogno di risolvere è cercare così
se pensi a quello che stai facendo
quando esegui una ricerca su Google, hanno effettivamente
fatto un indice sopra l’interwebs in modo che
quando fai una domanda per la Danimarca o
Shakespeare o quello che ottieni di più
pagine pertinenti indietro e questo è il
problema generale di abilitare la ricerca e
potrebbe essere la ricerca di voglio indicizzare
il wiki e il nostro ambiente aziendale
Voglio indicizzare i record dei clienti
avere come trascrizioni di telefonate
cose del genere questo è un esempio di a
soluzione specifica aggiunta per risolvere a
problema piuttosto che andare con un generale
quadro di riferimento come MapReduce e il
due esempi più noti sono leucina con
solare o elasticsearch elasticsearch I
penso abbia un discorso questo pomeriggio ma
questi sono ottimi esempi di molto altro
soluzione specifica per il dominio che è su misura
ad un problema particolare e lo risolve
in un modo molto migliore di quanto potresti
risolverlo usando solo hadoop generico e
così via ho detto che Hadoop è un
Sistema modalità batch, ma c’è un sacco di
problemi che sono morali
come un’elaborazione di eventi in tempo reale, quindi come
risolviamo quelli se non possiamo farlo con
un duplice perché non è così eccezionale
risolvendo questi problemi, allora cosa siamo noi
andando ad usare bene ce ne sono diversi
alternative e una di quelle che farò
menzione si chiama tempesta questo è molto
è molto simile concettualmente
un dupe nel senso che è stato progettato per
fornire elaborazione distribuita di eventi
ma è molto focalizzato sull’evento
elaborazione rispetto alla modalità batch
l’elaborazione tenta di farlo con
servizi affidabili distribuiti in modo che
puoi fidarti di questa cosa in alto
volume ambiente ad alta scala
concettualmente sembra uno spiegamento di accensione
come questo dove trattano i loro dati
fonti come beccucci e si implementa
beccucci per file system per messaggio
fila qualunque e poi l’ elaborazione
è fatto da bulloni dove sono i messaggi
canalizzato a queste cose che fanno
decisioni sui dati che trasformano
e così via e poi sai inviare
fuori da dove potrebbe atterrare potrebbe essere
atterrando in HDFS potrebbe atterrare e
qualche altro messaggio in coda o altro
quindi per confrontare questi due sono entrambi
entrambi sono altamente scalabili
Hadoop ha uno spot molto migliore
supporto nei test di battaglia e reali
schieramenti rispetto alla tempesta
punto, ma che cambierà tempesta
è solo più nuovo e meno maturo e
non ha è in realtà commerciale
il supporto sta iniziando a emergere ora
In effetti, gli stack di dati credo siano uno
società che lo sta offrendo ora
ma di nuovo Hadoop è fantastico per questi
tempesta di problemi in modalità batch è grande per
il flusso di eventi si elabora bene se ne hai
eventi individuali in arrivo sai
è una specie di database online
database transazionale farà per te
quindi forse potresti gettare un database e
e lascia che venga in tuo soccorso adesso
devo parlare di questa immagine per a
secondo , questo è letteralmente fuori
finestra del mio condominio a Chicago, vivo sul
34 ° piano in questo elicottero sotto l’occhio
livello quindi perché è un volo in elicottero
tra gli edifici bene si scopre
usano questi elicotteri da sollevamento pesante per
ascensore come nuova aria condizionata e
unità di riscaldamento fuori dalla strada e mettere
li sopra gli edifici quando sono
aggiornare o sostituire vecchie unità quindi alcuni
di tanto in tanto una domenica mattina
sentirai questo Wack Wack Wack Wack e
ti svegli e guardi fuori dalla finestra
c’è un inferno
Caprica ronza così comunque così che cosa
su un database bene si scopre che
sai ovviamente che i database sequel sono
ottimo a transazionale creare leggere
aggiorna e cancella le operazioni così tante
volte è quello che le persone usano ma in questo
una sorta di mondo dei big data è diventato
popolare da combinare e nessun sequel
database come Cassandra per questo tipo di
elaborazione per archiviare le cose molto rapidamente
o se sei davvero un centrico Hadoop
negozio dove vuoi essere in grado di correre
MapReduce i lavori che molte persone usano
HBase perché HBase utilizza il file HDFS
sistema è questo deposito durevole così tu
può fare cose transazionali con
HBase e quindi eseguire i lavori MapReduce
che vengono analizzando gli stessi dati così
questa è una combinazione abbastanza comune
scenario va bene così un altro caso d’uso che
è una specie di guida per l’eccitazione
I Big Data sono l’apprendimento automatico così tanti
volte hai sentito qualcuno dire ragazzo I
Vorrei poter miniere Twitter per sentimento
per scoprire di sapere che cosa la gente vuole
comprare o cosa pensano della mia compagnia
beh, questo è esattamente ciò di cui stiamo parlando
riguardo sta facendo cose come tu sai
motori di raccomandazione come il famoso
Modo in cui Netflix raccomanda i film
sei basato su ciò che hai già visto
Amazon lo fa per i prodotti spam
i filtri sono probabilmente i più preziosi
strumento di apprendimento automatico che tutti noi
contare su ogni giorno immaginare se fosse necessario
a che fare con lo spam tanto quanto noi abituati e
così avanti sulla linea un intero gruppo di
cose che apprendi in macchina che puoi fare
bene è possibile implementare questi algoritmi
in MapReduce ma di nuovo non è così
ottimo modello per questo motivo in realtà
in questo caso particolare, è un sacco di
questi algoritmi di apprendimento automatico sono
molto iterativo, specialmente quando lo sei
addestrando il sistema per esempio c’è
un approccio di ascolto del mese chiamato
pendenza stocastica del pendio o dove
sei tu hai un’equazione che tu
non posso risolvere analiticamente e tu semplicemente
devo indovinare la soluzione e iterare
verso la soluzione reale che non lo è
così bello se devi farlo come in
un lavoro MapReduce e un lavoro MapReduce e
ecc persone hanno capito
soluzioni alternative per questi problemi ma
MapReduce non è lo strumento migliore e
specialmente programmando questi algoritmi
è difficile, si scopre che c’è
alcune alternative interessanti che hanno
è emerso e uno di loro è uno strumento chiamato
modello
dove costruisci modelli predittivi in a
strumento come SAS o sono uno di questi strumenti
che molti esperti di apprendimento automatico
piace usarli esportarli in un markup
lingua e quindi puoi semplicemente eseguirli
senza modifiche su uno di questi
piattaforme in questo caso a cascata è il
piattaforma e sotto quello è
MapReduce quindi ci sono molti modi
le persone stanno risolvendo questo problema
implementare algoritmi di apprendimento automatico
che in una piattaforma non banale come a
dupe e si accende la scintilla che noi
già menzionato è in realtà in origine
progettato per MapReduce così è in realtà
uno strumento più semplice da utilizzare a livello di API
se stai scrivendo MapReduce o mi dispiace
algoritmi di apprendimento automatico perché quello
era uno degli obiettivi di progettazione originali di
SPARC e, infine, per completezza
come questo lavora spesso in pratiche voi
potrebbe usare il doob per addestrare i tuoi modelli
perché ti stai allenando per molto
set di dati di grandi dimensioni e quindi memorizzare il modello
dati conosci i coefficienti del
equazioni o quant’altro in alcuni più veloce
supporto di memorizzazione come nessun sequel in modo che
in tempo reale quando stai facendo
raccomandazioni che non stai chiedendo a Hadoop
per la risposta stai chiedendo un database
per le risposte pre-calcolate l’ultima
La cosa di cui voglio parlare è una cosa comune
scenario dei dati che è come analizzare
i dati dei social network così inventati da Google
MapReduce in parte da implementare
algoritmi come il loro famoso PageRank
dove hanno costruito fondamentalmente se si pensa
per il web è solo un grafico gigante
diritto di collegamenti da una pagina all’altra
e altri grandi esempi ovviamente sono
i tuoi seguaci e quelle persone
seguendoti su Twitter i tuoi amici
Facebook ecc bene si scopre che questi sono
grafici giganti che si desidera utilizzare il grafico
algoritmi per analizzarli ma una volta
di nuovo MapReduce non è terribilmente grande
adattarsi, perché l’attuazione ingenuo
avresti iniziato un nodo su cui avresti eseguito un
Lavoro MapReduce per fare il trattamento ad esso
ai suoi vicini qualsiasi messaggio e
quindi gli aggiornamenti di stato richiesti quindi il
i prossimi messaggi si propagheranno o il
attraversa qualunque cosa tu stia facendo e
nota alla volta o piuttosto al limite di a
tempo e se stavi facendo questo
MapReduce il lavoro in un momento da prendere per sempre
quindi le persone hanno guadagnato il sistema e
modi sorprendenti per arrivare in realtà questo a
lavoro e MapReduce anche se è un
modello di calcolo orribile per i grafici così
quello che le persone stanno cercando di fare e io dico
provando perché questo è in realtà
il tipo di ricerca all’avanguardia è come farlo
in realtà implementiamo algoritmi di grafi
in modo distribuito in modo che il
grafici stessi e l’ attraversamento
gli algoritmi sono cittadini di prima classe
bene Google ha lavorato su un sistema chiamato
prego prego è il nome del fiume
che scorre attraverso penso a königsberg
La Germania e l’invenzione del grafico
la teoria è stata fatta da Leonard Euler a
matematico che ha notato che c’erano
sette ponti che attraversano questo fiume e
potresti davvero incrociarli senza
andando a ripetere una traversata e fatto
senza entrare nei dettagli
si scopre che non si poteva ma era il
primo esempio di fare un’analisi di
grafici ed è per questo che hanno chiamato questo
cosa questo ma essenzialmente lo erano
si cercava di trattare grafici come
cittadino di prima classe e poi fare
attraversa il grafico e c’è
un altro come al solito è la storia
negli ultimi dieci anni è stato Google
fa qualcosa scrive un foglio alcuni
anni dopo e poi la gente prova a farlo
imitatelo e ci sono molti imitatori
giraffa e Hama e poi c’è un molto
interessante database alternativo chiamato
titan ‘che è probabilmente il più
sofisticato dei tre per fare
grafici distribuiti ma il problema è
nessuno sa davvero come farlo bene
eppure anche Google sta ancora usando
MapReduce per un sacco di algoritmi grafici
e molte delle conoscenze che sono state create
su come programmare MapReduce
incentrato su come fai interazioni iterative
algoritmi come inversioni di innesto al
MapReduce livello quindi questo è un no
problema completamente risolto anche se lo avremmo fatto
amo essere in grado di fare ciò che abbiamo
alcuni database grafici maturi come neo4j
che è davvero una singola macchina
database quindi non è il genere di cose
tu verrai proiettato su scala massiccia
grafico ma è il grafico più maturo
sistema se si desidera utilizzarlo comunque
quello è un problema irrisolto è come facciamo noi
fare grafici distribuiti siamo una specie di
hackerandoci dentro in questo momento
okay, quindi ricapitoliamo dove siamo
quindi Hadoop va bene per la modalità batch
analytics se ne hai uno sai che ho bisogno
scansionare i miei tavoli andando a quotare per alcuni
definizione di tabella e fare un po ‘
l’analisi allora è grandiosa per questo ma
ha un sacco di problemi di prestazioni
l’API è una specie di brutto è davvero il
javabeans aziendali nel tempo, quindi sono io
vedere un po ‘di transizione
ma certamente ha risolto alcuni importanti
problemi per noi e il loro seguito
ovviamente scala bene si adatta un sacco di
i problemi che abbiamo ce ne sono
momenti in cui abbiamo bisogno di sequel, ma un sacco di
volte non lo facciamo e miglioreremo
scalabilità Voglio dire, lo sappiamo tutti
storia dal ultimi dieci anni o giù di lì siamo
anche vedere un sacco di strumenti costruiti appositamente
come ricerca elastica e solare che sono
risolvere un problema focalizzato ma e facendo
in modo molto efficace piuttosto che fare affidamento
su una soluzione generica come un dupe e
poi c’è questa visione emergente di come
per combinare l’elaborazione in modalità batch con
elaborazione del flusso di eventi e davvero il
il libro definitivo su questo adesso è il
l’inventore della tempesta è Nathan Mars e
ha ragione sta scrivendo un ottimo libro
su questo tipo di visione di come combinare
elaborazione eventi in tempo reale con batch
modalità e molti di noi sono usciti dal
tempo sei stato su Twitter e loro
esperienze così, ad esempio, lo farebbe
consiglia di utilizzare Hadoop per il batch
la modalità riempie gli aggiornamenti in tempo reale con la tempesta
in modo che tu possa avere i dati attuali a
la tua disposizione non devi aspettare
quella notte investe il processo di hadoo
e poi qualsiasi persistenza ti livelli
bisogno e così via ovviamente non può
riassumere ciò che sta facendo in pochi
minuti voglio sottolineare comunque
qualcosa che le persone sono non penso come
consapevoli di come dovrebbero essere e che è
il sequel ruggisce anche se noi
ha attraversato il sai il tipo di
la storia d’amore senza sequel ed è
ovviamente ha preso il suo posto e ci piace
fare perché è gente per tutti gli usi
davvero bisogno di sequel è quello che sanno
è quello che vogliono usare così se tu
sorta di ignorare il seguito di qualunque cosa
la soluzione che stai creando sei probabilmente
fallire a lungo termine se non tu
affrontare questo problema e nel mio personale
la vista è che Hadoop non sarebbe vicino
come qualcosa di popolare che tutti
vuole fare se non fosse per il fatto
che abbiamo un grezzo ma efficace
strumento sequel chiamato hive e anche molto
dei cosiddetti database senza sequel
avere motori di query di Cassandra è sequel
dialetto
Mongo è completamente diverso ma è così
tuttavia ti dà un tipo simile di
semantica relazionale su documenti in
questo caso e ora c’è la nuova generazione
database che sono
sequal di nuovo e stanno applicando il
lezioni di nessun seguito e sono state
chiamato nuovo sequel ogni uno tutto
deve avere una sorta di parola d’ ordine giusta
ma stanno cercando di portare il
performance di nessun sequel torna al sequel
un esempio davvero famoso vale la pena
leggere i giornali su questo è cosa
Google è fatto con span o un f1 che
sono fondamentalmente sincronizzati globalmente e
quando dico globalmente non sto scherzando loro
effettivamente utilizzare orologi atomici e unità GPS
e tutti i tipi di cose folli per
sincronizzare i tempi su questi
database nuodb volt DB o un paio di
altri e l’ultima cosa ultima I
voglio parlare è in questo modo
nella tendenza a distanza che penso sia
molto interessante e potrebbe effettivamente essere
trasformativo nel tempo e cioè
che molte delle cose che sono
apprendimento automatico di base che è
alla base di questo dibattito tra Noam
Chomsky e Peter Norvig stanno usando
strutture dati probabilistiche a
rappresentare i dati e fare previsioni a
dedurre cosa farà e così via
quella roba è difficile da programmare e basta
ha un discreto livello di esperienza persino
capisci cosa sta succedendo , così c’è
in realtà un movimento che inizia a costruire
lingue che incorporano probabilistica
ragionamento dentro di loro quindi è molto
più facile per le persone mortali come il resto
di noi per scrivere questo tipo di programmi
che usano reti bayesiane e Markov
catene e altre parole d’ordine così che è
qualcosa da tenere a mente e basta
quindi credo che abbiamo domande probabilmente
sulla piccola app e prenderò quelli
ora sì, è possibile utilizzare Hadoop sui dati
difficile da decomporsi come a
aggregando l’interpolazione nel tempo
dati di serie conosci la risposta generale
è se sei disposto a lavorare abbastanza duramente
puoi praticamente fare qualsiasi cosa il tempo
il problema della serie è interessante
non ne parlava davvero ma è così
in realtà un buon esempio di
approcci per uno scopo speciale ce ne sono alcuni
database di serie temporali che le persone sono
principalmente in cima a Hadoop
in realtà HBase e Cassandra e così via
generale e non ho detto questo ma
hey una delle cose che Hadoop è
davvero fantastico è che puoi semplicemente carino
molto gettare qualsiasi tipo di dati che si desidera
nel file system e quindi capire
un modo per analizzarlo sia che lo sia
relazionale se si tratta di un valore chiave o
piuttosto dati delimitati da virgole o altro
e così penso nel caso di
le serie temporali di dati le persone stanno risolvendo quello
problema con uno scopo speciale
database o capire un modo ad hoc
per rappresentare i dati e menzionerò
un database che dovresti dare un’occhiata
che penso che sarà anche
dirompente e che è des Tomic che è
quella che Chris piuttosto ricco Hickey è
lavorando al ragazzo che ha creato la chiusura
la cosa riguardo l’atomico è questo
ricorda tutto ciò che è mai accaduto
tratta i database di valore così quando
ti piace scrivere un aggiornamento per un record
in realtà stai creando un nuovo virtuale
copia del database ovviamente loro
non copiare veramente l’intera cosa loro
condividere i dati ma per i dati delle serie temporali I
potrei vederlo davvero
rivoluzionario per risolvere questo problema
e quello era l’unico a posto
Sarò in giro per il resto della giornata in modo da
sentiti libero di venire a fare domande
molte grazie
Please follow and like us: