Press "Enter" to skip to content

GOTO 2016 • Scala: The Unpredicted Lingua Franca for Data Science • Dean Wampler


allora questo non è un lavoro per Walker
sono stato con la compagnia nel mio incantesimo e
in realtà grandi dati per Scala ma come
perché si scopre che gli studiosi
all’improvviso ha scoperto che potrebbe essere il migliore asiatico
mondo dei dati anche per caso c’è a
molti dei grandi progetti open source come
scintilla e conquista strappa e Scala e poi
si scopre che sai, diciamo sottoinsieme
certamente non maggioranza ma c’è un
alcune persone chiave che in realtà davvero
come scritto per la scienza dei dati così
tipicamente ambienti di grandi dimensioni si rompono
e chiamiamoli tre gruppi lì
sempre le persone che operano che possono
mantieni le cose in funzione e dimenticati
quelli ragazzi ragazze poi c’è come il
ingegneri che progettano l’ impianto idraulico noi
sai come fare il caffè al lavoro sai
come eseguire il debug di tracce di stack e scintille
che è in realtà per le cose aziendali
come quella sotto i dati degli scienziati una volta
se ti piacciono i modelli di apprendimento automatico o
statistiche e tutto ciò più comune
anche questa parte funziona in Python e nel nostro
lingue come quella per la scienza dei giorni
questo è quello a cui sono abituati ma lo sai
gli sviluppatori stanno andando avanti
Linguaggi di Tiffany jbm come lavoro JPM
centrico come Java e Scala e abbiamo
visto un po ‘così che la scintilla dentro
particolare perché è così caldo adesso
ha guidato una studiosa di schivata ma
questo è davvero un discorso sul perché è così
una specie di mix parla in un certo senso è per questo che tu
teschio davvero bello per i big data ma anche
in generale
i vantaggi che ha invaso l’ azoto
quindi è solo un po ‘ di qualcosa
per tutti questo erano solo tre slide
e sto per dimostrarci solo il tutto
tempo che il primo vedrà di solito
promemoria per valutare la sessione di posta
domande alla persona che parla velocemente
prendilo quando abbiamo finito o possiamo farlo
fallo alla maniera antiquata in cui sono io
il feedback lo mettete anche lì
vediamo e quando ottieni le diapositive
la cosa che mostrerò volontà
essere tutti in questo git repo escala per i dati
scienza che potresti ottenere e per questo è tutto
forse le diapositive me lo rimetteranno in ordine
alla fine, ma quello che faremo
in realtà è utilizzare una metafora notebook per
la dimostrazione quindi questo è qualcosa
non è troppo familiare ai più
sviluppatori ma gli scienziati di dati amano
queste cose è davvero un’elettronica
versione e quali sono stati gli scienziati
fare per sempre che è mantenere note di laboratorio
e libri, ragazzi, probabilmente lo avete fatto
come le lezioni di chimica e fisica
la cosa bella di loro è che puoi fare
cose come te conoscono l’interlocutore
commenti come sopra la parte superiore di questo
questo è tutto segnato in fondo a cui puoi finire
si contrassegna il modo in cui posso incorporare
Il codice esegue l’app che mescola e anche quella
i grafici hanno tracciato uno che è così avanti così
come puoi immaginare se i tuoi dati
gli scienziati amano soprattutto la trama
parte sarebbe davvero grande ma qualsiasi
linguaggio che supporta il nostro ribelle e
interprete è davvero bello stasera
le cose funzionano in questo modo, se mai
trascorso un sacco di tempo a lavorare in un nuovo il
interprete per una qualsiasi delle lingue
tranne jossa come Python e Scala
chiusura Ruby dopo un po ‘ per ottenere davvero
noioso è fantastico per scherzare su a
un po ‘ma e cosa succede se voglio aggiungere
qualcosa
deve essere in realtà un notebook difficile
portarti molto più lontano posso andare facilmente
indietro e modifica un registro e riesegui quell’auto
c’è oro in questo particolare
taccuino rivaluta tutto ciò che voglio
e così via, ecco perché ho deciso di farlo
fai questa particolare demo perché è
in parte mirato, intendo le persone
non sono abituati a usare questi per fare qualcosa
evangelizzare l’idea ma anche mostrare come
sono utili, quindi ho effettivamente ottenuto un
coppia di voi che questo particolare
il taccuino sembra essere per una scintilla e
esercizio che ho scritto per un po ‘di allenamento
come se tu lo sapessi spudorato
spina vuoi comprare formazione da noi noi
puoi venderti anche questo, ma in realtà
la ragione per cui ho parlato di questo è davvero
per mostrarti come un vero quaderno
sembra davvero che sto usando un
particolare ambiente di notebook chiamato
scintilla quaderno che scheletro
trucco potresti aver sentito quello che
è molto più popolare in realtà grandi dati
e non ho mai nemmeno parlato con una rissa a sinistra
persona che probabilmente hai sentito Jupiter o
come lo chiamano ora è stato Ciao io sono
Abby chiama tuber così ma è lo stesso
le celle di modifica delle idee le valutano miste
la documentazione sequel interroga qualsiasi cosa
così insieme per ottenere questo
un particolare notebook fondamentalmente riff
sorta di ciao mondo dei big data
che è lavoro ne ho un sacco
documenti che sto per succhiarli
tokenizzare in parole e poi contare tutti
le valute delle parole nel
cosa così sarebbe come la prima
cosa dovresti scrivere se stai costruendo
un killer di Google una sorta di ricerca
indice come quello in realtà però che tu
userebbe lavoro e tu usi il prossimo
cosa che si chiama indice di peso
perché il problema si risolve come te
dimentica dove hai trovato roba te
preoccuparsi è la ragione del consiglio che ho portato
questo però è che ho avuto persone dentro
Questo
la tua taglia passa e un tweet questo
algoritmo un po ‘da fare in più
le cose in questo caso particolare loro
Conta le parole e poi le mucche
vorremmo raggruppare sui conti cosa
significa è quante parole compaiono due volte come
senti parlare di tre volte quanti peer
10.000 volte quel nome però e
ciò che è interessante di questo esercizio
per i data scientist è così
arriva al comportamento naturale del linguaggio
come alcuni tipi di parole appaiono tutti i
tempo qui molte altre parole molto di più
raro di più interessante perché
le loro parole e quindi ecco solo che a
programma tipico di studioso dell’Allspark
sembra così invece di alzarmi
qui davanti, ma fondamentalmente sto caricando
alcuni dati che ho avuto con questo esercizio
creazione di token nelle mie parole è che cosa si tratta
facendo la creazione di templi erano si conosce in
questo caso deve dare a ogni ordine di fare
un paio fuori erano le parole il
chiave e c’è un campo di scena in uno
mikey ridotto è un corpo di gruppo ottimizzato
che si adatta a tutte le parole insieme
perché sono in una posizione chiave e
riassume tutti quei conteggi così ora ho
le mie parole nella mia casa e poi il resto
della logica per le prossime bugie che è
tutto bene no io in realtà non voglio
ordina le mie parole più e voglio ordinare
per conteggi o in questo caso frutta la mia casa
quindi questo è questo gruppo per dichiarazione
cose come renderlo un po ‘più grande
Sarei un po ‘difficile da vedere nella parte posteriore
questo è un po ‘ più bello in chiave Roubaix
questo caso perché ho già detto usato
contare come due chiavi
in una riga precedente ora ho intenzione di ottenere
tutti i gruppi di parole insieme
il tuo posto o qualunque sia il tuo tipo
so da questo conteggio in questo caso sono
mi dispiace mandare questo dei falsi mezzi
e c’è qualche risultato finale che faccio
e il caching è un’ottimizzazione di cosa si tratta
interessante però su questi dati
che poi si scende scrivo a
file che sai che è interessante
se mi lasci scorrere un po ‘meglio e
se effettivamente trama questo ciò che trovi
è così quaggiù sembra qualcosa
come questo dove hai alcune parole
appare un numero enorme di volte
e poi cade velocemente così ottieni
qualcosa che sembra inutile come il
interpreti ma notate che sto facendo grafici
questo dato è che lo guardo sto pensando
come posso ottenere qualcosa di più significativo
fuori da questo bene la prima cosa che a
scienziati di scienze del giorno tipico per
farebbe dire che sai forse pensa
Claude registra quindi questo tipo di estremità
sparirebbe e questo primo che siamo
Traguardo Penso che sia solo log di uno
asse ma l’avviso interessante io
può anche includere la tecnologia questo è il solito
la tecnologia per chi come me
ha scritto una tesi in latte comunque
Posso formule evento lasciami valutare
quella cella contro di te presto per molti solo
scomparire così sembra che tu
conosco la matematica normale ma se in realtà
ha portato blog blog che mi dà un
linea retta più o meno eccetto per a
molto rumore che in realtà si rivela
essere una distribuzione di legge di potere che è il
idea che alcune cose accadano davvero molto
e poi altre cose su Taylor davvero
veloce e quindi per tendere a formare una linea e
sai se ti ricordi qui era
matematica della scuola superiore è possibile calcolare il
pendenza della linea perché si prende il
accedi puoi ottenere l’esponenziale
perché mi piace davvero salire come a
fattore e quadrato o qualsiasi altra cosa e poi
se davvero ti guardassi in questo giorno
il dettaglio che hai notato queste cose
che appare lata ruggisce come la chiave e
tutte le cosiddette parole di stop che nessuno
importa perché non te lo dicono
tutto ciò che è questo è in realtà il
luogo di Shakespeare e se si scende
qui e guarda queste parole che il
giorno in cui le porte sono effettivamente perse in questo
punto si vedrebbe che è si sa come
Amleto e Ophelia e conosci Henry
e c’è una specie di parole più specifiche
comunque volevo solo mostrartelo
fai notare perché sono questi quaderni
attraente è uno strumento ma poi
solleva la domanda bene qual è il migliore
linguaggio qui su di te Scala ma più
la gente userebbe Python o forse il nostro
lingua quindi invece ne ho scritto un’altra
quaderno che effettivamente attraversa
alcuni di questi vantaggi di Scala finita
altre lingue prima della scintilla
supporta il nostro cranio a cui è scritto
in un lavoro Python lo sono e Java non è così
male perché ha lambda ora
non avevo lambda quel blocco di codice
righe come cose raggruppamento riducenti che
sarebbe stato come diverse centinaia
linee e quindi free java 8 in Java 8
sarebbe forse tre volte di più ma
ci sono un sacco di cose che fanno
è così veloce da scrivere questo tipo di dati
applicazioni con relativamente poco
quantità di codice e Scala ha un unico
set di funzionalità sono state abilitate
ma poi le altre lingue lo fanno
una laurea quindi è reale
una specie di saggio se lo farai nel
punti di forza e debolezza del cranio albury
in particolare finisci anche con dei punti deboli
perché non è perfetto, il primo
il punto è che è Scala è una specie di a
bel compromesso o meno stupido pubblico pieno
schermo si ottiene solo un po ‘più reale
estate qui schermo ci andiamo vediamo a
Poco meglio ora la gente ne discute
il ruolo di programmazione funzionale ma esso
è una specie di piacevole bilanciamento pragmatico di
programmazione funzionale orientata agli oggetti
si scopre che a mio parere i big data
è davvero una specie di assassino a
programmazione funzionale se lo sai
dieci anni fa, quando tutti parlavano
su quello che stavano ossessionato da esso
era la fine della legge di Moore e all’improvviso
sta per ottenere una concorrenza migliore e la tua
persone che stavano pensando a questo
Occhi corretti che conosci in realtà
lo stile funzionale è migliore
valuta perché enfatizza le cose
funzioni simili che non hanno il lato
effetti che modificano solo quando passi
in o sugli uomini, anche modificare l’orbitale
lo passi e poi restituisci qualcosa
nuovo ma cambieranno lo stato immutabile
valori dove se creo un oggetto in a
stato che non ho intenzione di mutarlo e
rischiare di avere qualcuno che usciva
simultaneamente conducendo incoerenze
la trasparenza referenziale è l’idea
che tu sappia se io chiamo una funzione con
un valore che mi dà sempre lo stesso
rispondi per quell’input che posso
in realtà sostituisce una risposta in denaro in
implicazioni successive ha anche
implicazioni per Londra faccio il caching
molto bene ma posso anche spostarlo
funzione in giro perché non ha
molta connessione con il resto del mondo
Posso chiamarlo ovunque una volta che lo so
svolge funzioni di ordine superiore del
idea
come se stessi facendo una matematica su una lista
Ho passato una funzione per mappare il
la funzione è un valore che si chiama più alto
ordine perché è piuttosto una funzione
di un valore normale e ovviamente di una mappa
applica quella funzione a ciascun valore e
lascia che questo veda tutti gli esempi di
tutti questi se nessuno di essi non è chiaro
e poi l’ idea davvero interessante
ho ragione , ho dovuto fare tutto questo
l’ora in cui faccio doppio clic sulle cose
evidenziali e va un editore
cappuccio quindi continuerò a farlo così bene
ecco qui c’è più markdown ciascuno di loro
lavoro ma la diversa idea dall’oggetto
riprogrammazione che è fantastico
in realtà separare le occupazioni da
struttura così posso avere liste come o
alberi o matematica e posso avere iteratori
e batteria ragazzi e mappatori piatti e
riduttori e roba e solo in modo uniforme
applicato che risulta essere fantastico
per aver chiuso il tipo di cose che noi
costruire con i dati ma si scopre che
i programmi puramente funzionali tendono ad essere deboli
su strutture per la modularizzazione in a
il modo in cui dovrei creare grandi applicazioni
e avere dei bei confini così che sia
non solo tutto nel globale e nel
cranio di decisione e alcune altre lingue
hanno fatto è usare l’ uso continuato
oggetti come meccanismo di modularità nel
nel caso di Java contro F sharp
o o cammello markandkirsty che hai creato
Scala ha detto tutto bene, lo faremo
fondamentalmente ti permettono di fare tutto il possibile
fare in Java non proveremo a dire solo l’uso
oggetti in un certo modo ti daremo
struttura completa con gli oggetti ma davvero
come incoraggiarti a usare funzionale
programmando lì puoi usare oggetti come
il tuo strumento di modularità e in generale
funziona piuttosto bene e segue il bene
pratica in questo modo alcune di queste cellule
ecco un’altra cella in realtà sai
confronta questo con alcuni degli altri
lingue e gran parte di ciò che ho appena detto
è più o meno vero Python che puoi fare
conosci un buon equilibrio di funzionale
e il dottor Jordan program in là
se vuoi Java sta iniziando a prendere
con fuori da Atlanta e ora che loro
avere flussi potrebbe essere più di a
interfaccia di raccolta stile funzionale se
tu sarai la nostra lingua scritta da
gli statistici quindi non si adattano veramente
i soliti paradigmi di object-oriented
cazzo di per sé è più di una statistica
la lingua ha una lingua specializzata in
un modo in cui i MATLAB sono specializzati
matrici e cose del genere ma lì
sono alcune persone che erano in grado di fare
di una versione di object-oriented e
programmazione funzionale standard se tu
voglio ora un argomento secondario di questo funzionale
contro oggetto o trade-off è un
un’idea interessante chiamata tratti che sono
sorta di sostituzione per interfacce
in skul ora prima del lavoro un così nessuno Java
8 aggiunto è ora possibile definire il valore predefinito
metodi per le interfacce che tu
definiamo nelle vostre interfacce che dichiariamo
così abbiamo detto più precisamente che vedi
questa terminologia un sacco di C e C ++
dove hai una dichiarazione e a
file di intestazione in una definizione che conosci C
lo stesso codice è vero qui nel lavoro che ero solito fare
essere che le interfacce non potrebbero realmente
definire la funzione che possono solo
dichiararlo e questo è diventato un problema
perché se volessi avere un comune
astrazione per la registrazione diciamo molto
di volte è solo ovvio quello che voglio
avere senso come implementazione ma
non c’era alcun meccanismo nella lingua
per fare questo devo sempre fare una sorta
di ha dovuto implementare la registrazione
interfaccia ma poi delegare ad alcuni
metodo di supporto o classe superiore o
qualcosa ma Scala e ora lavoro a meno che
in realtà allega definizioni a questi
mazzo dichiarato funzioni e che esso
abilita il mix in record di architettura
mescolare comportamenti come il blogging o
persistenza o qualcos’altro di più
perfettamente implementato separatamente e fatto
composizione piuttosto che eredità
c’è in realtà qualche altra cosa
i tratti ti danno oltre le interfacce come
puoi avere dei campi nella traccia, così posso
portare con sé rimanere come si Chris the
più a lungo userò o è in Java 8
non puoi ancora sentirli
le interfacce fanno solo casino ma ci sono
modi per sbarazzarsi di loro questo cosa
il punto 1 B è qualcosa che un amico di
il mio ha menzionato chi ha fatto molto
il lavoro è programmazione in streaming, quindi questo è
come una cosa nuova che hanno aggiunto al
API di collezioni o puoi prendere un
lavoro regolare e raccolta e girarlo
in essenzialmente un flusso pigro dove
tiri fuori i valori come se solo a
soprendentemente datato entrare e poi tu
può fare questo tipo di tipo funzionale di
elaborazione della mappa di vita sul flusso piatta
mappare e filtrare così avanti e lo ha trovato
essere un po ‘imbarazzante per tornare indietro e
avanti tra queste metafore mentre
lingue che sono state progettate di più con
programmazione funzionale in mente come
Scala tende a renderlo più di un primo
classe e questo è l’unico modo in cui lo fai
stai operando con questi operatori e
ecco la lista degli analisti in realtà guarda
qualche esempio quindi parliamo di un gruppo
di collezioni di stili funzionali così ho
ho un piccolo metodo qui da un teschio
Wikipedia per determinare i gestori primi
in realtà non è un ottimo metodo
è un po ‘carina fa il lavoro se io
voglio essere sicuro che ci sia compilazione
questo caso fammi semplicemente spostare il ritorno o
possono cliccare questo pulsante freccia qui
e solo per verificare che questo funziona così
compila con successo mi dice come
a lungo ci sono voluti così avanti, ma è solo chiedere
Il metodo di Allah fa alcune delle cose
che abbiamo detto vanno bene per il funzionale
programma e non ci sono effetti collaterali
usando la capsulazione di un secondo metodo
qui dentro, quindi non ce l’ ho
funzione che fa l’occhiolino attraverso l’astrazione
ci sono un sacco di cose che sono belle
circa e modo funzionale ma per il
la maggior parte è solo una specie di standard
metodo che potresti scrivere in uno qualsiasi
queste lingue quindi ricorda quello che ha detto
su te che hai funzioni di ordine superiore
qui sto passando una funzione per mapparla
andando a prendere ciascuno di questi numeri così
quindi generando dalla finestra sotto
conclusivo ho intenzione di mappare su quelli
e per ognuno di questi interi vado
per ottenere una funzione che restituisce un doppio
e questa è una delle cose che otterrò
a più tardi ma questo è veramente bello e
Scala che hai questa sintassi letterale
e metto le cose tra parentesi e
crea automaticamente un’istanza di a
raddoppiamo per me in questo caso l’intero
che io e se sia bello è
troppo primo quindi non sarà un manager
ribollire sarà il tipo c’è il
periodi alla fine questo è davvero uno
grande espressione e poi me ne vado
gruppo sopra se o non è primo così
Arriverò ai grandi dischi che conosci
meraviglioso il non progresso insieme a
il premio e poi l’ultima cosa che farò
fare è mappare su quel doppio e posso ottenere
no dopo ho visto che qui ecco come te
prendi il secondo elemento del tunnel
sottolineatura anche qui è il primo e così
avanti conto da wando a sorta di
cosa storica rispetto a zero e
l’ultima cosa anche se ci sto facendo
questa dichiarazione della mappa è che voglio solo vedere
vero falso e quindi la prima cosa è
sarà il vero falso perché quello
è quello che uso
chiave nella terra e poi quanti di
loro ho e ironicamente abbastanza e
guarda il numero che esce che 75
non sono primi in 25 prezzi è esattamente 3
2 1 105 di salvataggio di risultati interessanti
noi quello che questo notebook e alcuni dei
altri cercheranno di fare è quando tu ritorni
in questo caso una mappa cercherà di mostrare
a un tavolo per te automaticamente e
questo è quello che si fa qui non terribilmente
eccitante in questo caso ma è carina
utile se voglio solo vedere un
rappresentazione dei dati okay
guarda la stessa cosa nella scintilla così qui
quindi iscriviti è fondamentalmente ispirato da
le collezioni di studiosi li notano
tre linee mappano nuovamente il gruppo I sulla mappa
con alcune impostazioni creo effettivamente il mio
la raccolta e il suo parco sono fondamentalmente
lo stesso codice ci sono alcuni impostati su
prima riga e poi la stessa identica tre
metodi e poi finalmente ti spiegherò
un secondo che potrei in un contesto di scintilla è
il punto di ingresso nel mio cluster o in
questo caso la mia macchina locale è stata parallelizzata
è una sorta di analogo del solo calcolo
una gamma e trasformandola in scintille proprie
struttura interna dei dati chiamata a it’s
chiamato un RDD puoi effettivamente vedere il
scrivi qui in questo sta per brasiliano
set di dati distribuiti Assassino brasiliano
lì se perdi un nodo puoi recuperarlo
ricostruire ciò che è stato perso e distribuito
perché ho l’illusione di uno
grande collezione di memoria ma è
effettivamente partizionato su cluster ma
una volta che l’ho impostato e l’ho fatto
esattamente gli stessi metodi a mia disposizione
quindi avrei potuto persino inserire questo codice in a
libreria bene la battitura è in realtà a
un po ‘ diverso non funzionerebbe affatto
per andare dalle collezioni degli studiosi alla scintilla
ma a causa del tipo di fronte non lo faccio
mi interessa solo copiarlo e incollarlo in realtà
Funziona il motivo per cui è qui dopo che l’ho fatto
costruttivista RDV ciò che raccoglie è
trasforma il mio grande rdd in uno studioso locale
collezione una differenza importante tra
queste sono operazioni DB e scala
le collezioni sono le operazioni rtd sono
pigri non fanno nulla fino a quando io
stato ti fa così ed è quello che raccolgono
Indossa le collezioni di un erudito
riscaldatori che avrebbero funzionato subito così io
ha dovuto fare un po ‘di pulizia al
finisci se lo farai ma per il resto lo sai
una volta ho questi per quello che offre
sai mappare e appiattire il mio
felicità tutto ciò che sai solo
trasferisce magnificamente per sembrare grande
ambiente dati e otteniamo lo stesso
i risultati e andare non è un probabilistico
rischiamo di stare bene così è un po ‘freddo
ispirazione che conosci guardando il
studioso raccoglie i ragazzi che hanno creato
le scintille dicono che sai questo lavoro del genere
di problemi stanno cercando di risolvere
manipolando i dati è una specie di quello che è
non proprio un aerodinamico ancora ma è
l’idea di decomporrò questo
Devo andare da qui a qui sono
andando a decomporlo in passaggi che posso
avere tutte queste operazioni a mia disposizione
per farlo in profondità così loro fondamentalmente
copiato l’API scalding e il tuo Python
e il nostro codice vorrebbe molto
simile che novembre è lì con Java
fino a quando non hanno aggiunto lambda e la stringa
API non era affatto elegante da fare
Questo
in Java la scintilla EV che ti ho dato
questo tipo di metodi nel loro lavoro Apiru
era solo un rumore molto più difficile da provare
creare classi interne anonime per tutti
di questi piccoli ma semplici metodi
Elet ha almeno bagnato uno dei
cose potenti anche se ancora Java
non ha anche se ci sono voci I
Immagino che possano avere questo in Joe il nove
o Java 10 è un vero interprete così
quello invece di scrivere solo test unitari
e scrivere, eclissi o qualsiasi altra cosa
guarda cosa hai in realtà puoi
spara qualcosa come questo
ambiente che è attualmente in esecuzione
l’interprete o usa il comando Scala
e poi lavorano interattivamente
sperimentare con i tuoi NPI e così via
quindi non ho nemmeno mostrato un esempio perché
tutte le cose che mi sembrano così lontane che ho
effettivamente usato la Scala
interprete per farlo dietro le quinte
e tutto ciò che jolly ha questo
capacità in modo che non sia davvero troppo nuovo
Ho parlato di questo pronto al bello
comoda sintassi Tuffle perché è
davvero bello pensare che Records sia
come i templi dei dati e persino alcuni di voi
conosci il tipo di livello di database che vedrai
quel tipo di descrizione e Scala
rende davvero facile solo mettere cose
e affitta la borsa della stagione e ottieni
più dura e sorta di cerimonia d’amore così
questo è quello che sono utile qui e così
scopre che Python è tutta la signora. non è bello
le escala altrettanto flessibili sono le sue
tipi di coppia e con questo questo
sintassi un po ‘meno comoda e java
non ha niente del genere
potrebbe davvero aggiungere facilmente i doppi tipi a
la biblioteca su come è il tuo matrimonio
il cielo così scintilla ha aggiunto uno per il più
doppio comune che è un due elemento
Tuffle che rappresenta coppie di valori chiave e
ho scritto questo in scala ma fondamentalmente questo
è quello che vorresti fare in java e
scintilla per abbracciare lei una coppia ma sì questo
è davvero rumoroso, giusto non lo voglio
devo fare
non ti interessa avere i tipi giusti
Argomenti contadini Voglio solo scrivere
roba come questa idea che cosa più
l’idea potente è funzionale
programmazione e l’hai visto, se lo sei
a Stephen Oskis parla di aereo di linea
minuto fa è il modello che corrisponde
diminuisce niente capisce cosa abbiamo
ti ho passato qualcosa ma possiamo
strapparlo a parte nelle sue parti costituenti
molto facilmente piuttosto che usare come
getter e così via così qui
Ho riscritto l’ultimo esempio di scintilla per
utilizzare la funzione di gestione dei modelli per
tuorli così invece di dire gruppo I e
allora ecco la tua vasca ci prenderemo un secondo
melvin the temple Posso usare questo caso
parola chiave e ho anche usato ricci
bretelle in termini, potrei dire che voglio
aspettarsi in questo caso so che sto andando
per avere sempre un Tuffle due elementi sono
andando a ignorare il primo campo, quindi io uso
sottolineatura per dire non mi interessa
e ma notate che posso applicarlo un bel
nome che in questo caso è primo o
non e poi quel valore che era
tirato fuori dalla realtà di assegnazione del BB
e in questo caso sto solo andando
restituiscilo ed è così che so
se andiamo a gruppo in crociera
pulsa e fallo di nuovo qui abbinato
criminalità e valuta di nuovo questi
sono le scelte arbitrarie dei nomi variabili ma
Posso leggere questo codice e nessuno di questi
campi me che è molto carino e poi
Sono appena tornato quando guardo questo in linea
te stesso quindi è un modo elegante
di lacerare le cose ma anche di lasciarle
fai cose come usare nomi utili per
cose a cui viene automaticamente firmato
i pezzi di ID sì, il più importante
numero che se vai su di te e
circa 70 pieni oh sai perché lo aggiusto
è perché sono andato su ma non
incluso adesso giusto sì, buon prezzo
grazie per questo è più carino sveglio
quindi sì, hai sempre solo qualcuno
il pubblico è una settimana alle sei
così ci siamo, sei tu
felice sono molto felice grazie a tutti voi
e solo per dimostrare che questo è carino
flessibile in realtà nella compagnia aerea ogni
lo stesso è in realtà un pattern match
Espressione fai quel muscala per sentirmi
può guidare a Tuffle profondamente annidati e
poi ho appena fatto un incarico a sinistra
lato della mano dove solo tu conosci il nome
variabili che capita di abbinare il
struttura e funziona automaticamente
che di nuovo ha estratto automaticamente tutto
i pezzi in un modo carino abbastanza bello io
usa questo molto l’unica presa è che ho
per sapere esattamente che ho il diritto
numero di elementi e giusto investimento
altrimenti otterranno un’eccezione ma
se so esattamente cosa succede se dio è questo
davvero utile per come avere multi
restituire valori da una funzione e semplicemente
tirandolo come si fa allora
questo è qualcosa che non penso che tu possa
fallo una delle altre lingue che non conosco
pensa che Python nidifichi la tenuta di
le richieste via di casa sono i benvenuti per
questo come un membro sottovoce vita esperta su un
lo sono facendo rendendo lo spazio benvenuto
correttamente Oh le classi di casi sono davvero
caratteristica utile in studioso che anche
dimostrato di essere molto utile sono spesso
usato per rappresentare i record in scintilla il
idea è questa parola chiave caso dice non solo
sto solo definendo la classe normale, ma
Voglio che tu prenda automaticamente tutto
questi argomenti e renderli campi I
voglio che tu
dover stringhe equivale a hashcode e fare
è il modo giusto, non il QA più
di noi finiscono e voglio anche te
costruire di qualcosa chiamato a
oggetto compagno fondamentalmente un po ‘statico
metodi che sono usati per fare questo modello
abbinandomi così sarò in grado di disegnare pattern
corrispondenza su questo tipo di persona in solo a
minuto solo perché piace quello che è il caso
lui era lì e anche ce ne sono alcuni
altre cose che buttano dentro che sono molto
bello è un modo davvero utile di solo
costruire queste piccole classi strutturali
che mantengono il vecchio stato e quindi leggibile
di default e dovrei inserire in
i voti fuckup sono una parola chiave da bar che voglio
dì il nome per essere bello ma io
potrei farlo voglio che sia un altro
esempio di studioso fai cose
che potresti voler fare ma
scoraggiarti dal farlo
default quindi qui elencho alcuni dei
cose che ottieni ma qui vediamo quelle
è un modello che corrisponde a questo e a
Lo farò davvero in scintilla tutto
avremmo potuto farlo e solo regolarmente
Scala così prenderò il mio contesto di scintilla che farò
trasforma questo trucco in persone che mi sentono a
Io sono completamente indipendente da un’età fasulla
chi ha effettivamente co-scritto il titolo e in
controllo che in realtà è stato creato
smart notebook quindi abbiamo due persone
li trasformeremo in un rho come
parallelizzando questa collezione su un grande
cluster e sto andando a dirti qui
è una mappa su questa collezione e pattern
coincidere su istanze di persone e poi
estrarre prima l’ultima età in questo caso I
fai qualcosa di stupido restituisci il doppio
ma quando lo faccio sai che capisco cosa
ti aspetteresti invece i due colori
di due persone quindi è proprio così
davvero perché le parole chiave del caso usavano entrambe
corrispondenza del modello
le orecchie sono state davvero perché dà
questa dualità di costruzione e
decostruzione che è semplicemente fantastica
per lavorare in fretta e come me
diciamo che gli occhiali usati spesso sono usati con
scintilla per rappresentare lo schema del tuo
registra il tempo va bene sì e alcuni di
l’altro non è davvero l’altro
tre lingue in realtà supportano
tutto ciò che supportano
cose come l’ analisi regolare delle operazioni
stringhe che è il nostro vecchio standby ma non
questo tipo di decomposizione strutturale
devi andare a qualcosa che ho passato
su Emma o stai mentendo per farlo o
chiudi il tuo pisolino questa è la facilità oh così
uno dei grandi argomenti ovviamente in
la nostra industria è se dovresti esserlo
tipizzato staticamente o no oh voglio ottenere
in quella discussione qui, ma se ciò che io
dirà è perché ne ha alcuni
proprietà convenienti in questo caso prima
di tutti gli studiosi interpreterà in modo furtivo
in molte situazioni non è tutto
Pascal può effettivamente fare quasi tutto
situazioni difficili ma qui non l’ho fatto
dì qualcosa sui tipi ma solo
dedotto che stavo lavorando con il
ferite e la cosa banale e se noi
guarda che conosci uno dei nostri esempi
da prima non c’è niente qui dentro
tutto su tipi in questo raggruppamento di
esempio di finalità e ancora in primo luogo
correttamente e convenientemente che ho
un RDD quando è finito e questo
nota che puoi effettivamente usare il
tumble siggno young quote cose o
studio II piuttosto senza fiato
e anche nel tipo di firma
questo è in realtà in alto a è il
registrare il tipo nella nostra TV è come a
raccolta in cima così così è così
in realtà ha fatto qualcosa con il Python
API non molto tempo fa e in realtà lo era
Davvero un po ‘ frustrante quando io
farebbe qualcosa come questo che è
tramite la sintassi è molto simile I
non sarebbe successo a nessuno quando ero
fatto ho sempre finito per stampare il
primi cinque o qualcosa solo per vedere cosa
Ho finito con considerando che almeno qui io
Conosci la struttura sì sì ragazzo
l’ho descritto un po ‘di più da dire
potresti anche scrivere quella firma come
questo ma piace così puoi vedere a
Ancora meglio, sono orsi, sì
quindi avrei potuto scrivere una firma tipo
come questo ma mi permette anche di scrivere il
lo stesso tipo di sintassi speciale come lo sono io
usato per valore supponiamo due tipi così per
me questo è un buon equilibrio di inferire
tipi per tenere quella roba fuori dalla mia strada
il più delle volte, ma anche molto
di errori e dimmi cosa ho bisogno
so cosa ho bisogno di sapere, sì come me
accennato come era una specie di una seccatura non
avendo questo nel corso Python e Java
invece sii stretto ma non devi farlo
essere più espliciti sulla digitazione di quelli
cose tranne che come lambda e roba
e r è anche molto simile ai pitoni
digita dinamicamente cosa sono
cose interessanti che incontri quando tu
fare java è una specie di tecnica
punto per java contro cranio è scala
in realtà ti dà l’illusione che tutto
i primitivi sono tipi di oggetti regolari
tipi di riferimento che scrivi come ants duh
sai ruttare, signore, è un bene
esempio, lo fai in float o
qualcosa se vuoi
flusso mentre in Java è molto chiaro
che stai lavorando a qualcosa che è
completamente diverso da te per tipo
gerarchia ma ci sono casi in cui tu
devono fare queste conversioni di boxe a
passare da un primitivo a un intero
quando lo metti in una collezione e quello
tipo di dualità non esiste in skul
puoi semplicemente avere la tua lista di stringhe
o elenca eventi e funziona solo ora
cosa sta facendo in realtà, anche se non lo è
completamente perfetto è in realtà
avvolgere questi numeri interi che è davvero
male nei big data hai miliardi e
Billion Manager quindi non è perfetto
soluzione è una comodità per noi lì
è un’annotazione chiamata tua specializzata
Sto facendo di nuovo clic sulle cose, oh, possiamo solo
indicatelo proprio lì che dirà
Va bene, davvero, voglio che tu lo faccia
generare implementazioni personalizzate per
un editor di B e C come float ferito
doppio e lungo o tipico che non farà
il pugilato ma anche questo non è perfetto
soluzione ma comunque è bello
luce che albero appena uniforme
primitivi e tipi di riferimento
identicamente in ogni metodo in realtà
restituisce sempre qualcosa anche quando tu
ritornerebbe normalmente vuoto in Java tu
può restituire l’unità e lo studioso che è
un tipo che funziona fondamentalmente lo stesso
modo ma ti dà una sintassi uniforme
che rende il tuo pensiero più te stesso e
anche noi diventiamo davvero eleganti sorprendentemente
strumenti delicati per creare il main
lingue specifiche questo è uno dei più
cose che Ruby è famosa per te
può un po ‘rendere zoppi linguaggi
che sono
Codice rubino sembrava qualcosa che
esperto di dominio scriverà perché se
gli strumenti di test sono un ottimo esempio di questo
se non hai mai guardato le nostre specifiche Ruby
o anche se dimentico quello che alcuni dei
altri strumenti sono freddi meglio di Python
anche un ma per qualche motivo il cranio succede
avere un numero di strutture che anche
anche se è tipizzato staticamente è
veramente bello per scrivere questi
piccoli linguaggi specifici del dominio e
l’esempio che ho qui è in realtà uno
era fondamentalmente implementazione e
scala di una pitone api è stato così
fondamentalmente copiato dalla nostra lingua
quello che è chiamato un api dataframe è
fondamentalmente il modo di fare sequel query
e scintilla, così inizi a farlo
le importazioni che non sono proprio così
importante per noi entrare ma l’unico
cosa che è importante cercare il was
lo chiama andre a questa API
qualcosa chiamato un contenuto sequel una volta
hai quel creativo, vado avanti e
fallo di nuovo in realtà, penso che non lo farò
probabilmente non ha valutato tutto il
celle Ron si può vedere che questa uscita
i tuoi peccati perché ho appena eseguito il tutto
cosa che un po ‘po’ di tempo qui Io sono
andando a usare il contesto sequel per
dati Jason recenti , quindi ho bisogno di capire
fuori di cosa si tratta e ho impostato l’ambiente
variabile in anticipo dimmi dov’è
situato così sono solo questo è come il
tipico ambiente di sistema Java chiamato
per ottenere una variabile d’ambiente che puoi
vedi che entra in questa directory qui
niente di stravagante ma il contesto sequel
è nella capacità di ottenere un lettore e
allora posso dire tutto bene voglio raggiungere
Jason e qui c’è un file JSON
rappresenta un dato di aeroporto per
aeroporti commerciali negli Stati Uniti bella cosa
su questo è effettivamente contro schema
dai file JSON ecco quindi lo schema
si avvicinò in base a tali dati in modo che il
l’aeroporto è come tu sai che il principale
Mi piaceva o’hare il paese della città
latitudine longitudine I atas i codici voi
vedi i tuoi biglietti come Ord preparare atl
atlanta cose così che possiamo
in realtà gli chiedo alcuni dei dischi
quindi se lo fai mostrare all’aeroporto inizia
stampando le cose a cui sei abituato
visto che hai mai lavorato con te
conoscere uno di questi database interattivo
strumenti che hai appena premuto i primi 20
registra e memorizza nella cache la citazione è questo
lattice davvero astrazione devi
raccontaci bene se sto andando a lavorare
con uno stato ancora e ancora non farlo
continua a rileggere e ogni volta che faccio a
interrogare solo incassare in memoria , ecco il nostro
conosci i primi 20 dischi per questo
Dati dell’aeroporto e possiamo effettivamente scrivere
tipiche query sequel che puoi semplicemente fare
sequel e quindi una stringa è valutare il tuo
sequel query che è un metodo di messaggistica
disponibile su questo data frame aeroporto o
possiamo usare questa API idiomatica e questo
è davvero gentile del punto che ero
arrivare a questa API è molto simile
il modo di illuminare in Python che è
una lingua completamente diversa in cui
hanno una sorta di idioma dollaro per
dicendo che voglio un gruppo dallo stato e
Cap su un paese e poi voglio
contano hanno capovolto quei gruppi e
allora voglio ordinare dalla contessa
finendo quindi è una specie di idiomatico
modo di scrivere sequel un po ‘di più
typesafe di appena incorporare una forza
che non saprai che è un buon runtime
hai capito bene e quando lo fai se
tu esegui quella query stampa lo schema tu
avere dei bei piccoli strumenti per vedere cosa
sei finito con così stato e paese
dove le mie chiavi per il raggruppamento in un account
e poi ecco i conteggi discendenti di
i risultati dove si scopre Alaska
è la maggior parte degli aeroporti che sono per lo più
come questi piccoli aeroporti in mezzo
il mezzo sembra che tu li uccida
Denali National Park è così
sono lì e texas è lassù
la corte del centro e della California qui ha detto
ecco un po ‘ ok ma la cosa
Potrei anche averlo scritto come a
sequel query e sarebbe stato
analizzato un sequel e siamo entrati nel
stesso tempo di esecuzione ma lo usano
sarebbero suppongo che tecnicamente sia questo
dsl più fluente o più fluente
dsl naturale l’altro alcuni dibattiti su
quei termini, ma il punto è che quando
devi fare qualcosa che si spera
sarà familiare alle persone che vengono da
un’altra comunità linguistica e tu vuoi
quello o anche un dominio dove pensano
in termini di una sorta di regole simili o
legge fiscale o qualcosa della lingua
sostiene di essere in grado di costruire quel tipo
di roba in anticipo, ma per essere onesti con te
potrebbe averlo fatto anche in java, quindi è così
ho una discussione zoppa è la migliore che posso
venire con comunque così era in realtà
prendere in prestito questa API è stata quella ispirata da a
python api chiamato frame di dati che è
in realtà ispirato dal nostro metto lo stesso
cosa va bene Oh, vedi come sappiamo per tempo
voglio essere sicuro che stiamo andando nella giusta direzione
hai finito, quindi l’ ho diviso in due
metà e non ho intenzione di passare attraverso
la seconda metà perché siamo quasi a
un tempo il motivo per cui lo chiamo un po ‘
altre cose sono le cose che vanno dopo
questo è davvero prezioso per i regolari come
Java contro gli sviluppatori di scala ma
in realtà meno utile per i big data people
o Dave signers playa per esempio
dove va bene, a volte a
ragazza di servizio non sono sicuro di trovarla
rapidamente ma bene le cose che stavo andando
parlare di ricorsione come fa Scala
la pattuglia blu Hale chiama automaticamente
per te questo non è davvero qualcosa di te
usando i dati perché di solito sei il tuo
il sistema sta facendo qualsiasi tipo di iterazione
non te stesso cose come quelle sono
c’è una ottimizzazione della ricorsione della coda
in realtà molto utile se sei un normale
lo sviluppatore non è così importante per giorni
scienziati e quindi ciò che è reale
la sezione trasformata in è solo un bucato
elenco di tutte le cose in cui penso
il cranio è meglio del lavoro così giusto
preferenza personale credo ma penso
ci sono alcune cose interessanti a
considera qui per un design più simile
gerarchie classe acciaio o lanciare il
idea cosa fare se dichiaro un’astrazione
e voglio solo essere in grado di dichiarare
sottoclassi e non lasciare mai nessun altro
dichiara qualcos’altro come sottoclasse
perché non possono esserci quelli che
Sto dichiarando che un buon esempio è
qualcosa ha chiamato il tipo di opzione che
è un’alternativa per sapere dove sia io
avere qualcosa e che sarà in
vista di qualcuno o qualcosa o non ho niente
e quello sarà dentro e finito e
non c’è un pub non c’è via di mezzo
non siamo preoccupati per la legge di
escluso medio se lo sai che siamo
assumendo che possa essere solo in quelli
due stati quindi mi piacerebbe essere in grado di
trova la distrazione che cattura
ma non lasciare mai che qualcun altro possa aggiungere
un terzo sottotipo e come studiosi sorprendenti
storia sono chiamati alcuni tipi di essere
comunque tecnico fammi andare fino in fondo
quali sono alcune cose peggiori del college
non è così grande e solo per dimostrare che a
un sacco di scuola completa un bevitore in alcuni
di questi in realtà se sei veramente
interessato a loro specialmente se lo sei
facendo Spartan penso che abbia fatto un discorso a
paglia a San Jose e ecco le gambe
per quelle diapositive che vuoi
vedi quelli con cui vado molto di più
dettaglio di cui ora posso parlare bene
la cosa molto praticamente è quella e
python molto più ricco di librerie di dati e
scala lavoro fai così c’è un sacco di cose
semplicemente non hai con
lavoro da studioso come un viaggio davvero bello
librerie è difficile che tu sia il tuo cuore duro
può essere installato nella JDM stessa ne ha alcuni
problemi si scopre che il fatto che
gli array sono indicizzati dagli interi è a
enorme dolore nel culo perché se tu
pensaci, questo significa che non puoi mai
avere più di due miliardi di qualcosa
e già perché stiamo anche andando avanti
tipi di sito e se hai voglia nel nostro
bocca a modo tuo come la serializzazione
qualcosa oggetto in un morso in giro
sei bloccato con due gigabyte è come
grande grande e sì amazon appena uscito
due terabyte conosci istanze in AWS
giusto così siamo tornati a tipo
il problema che abbiamo avuto con das meravigliosamente
uscendo con il mio stalker che era il giovane
con Josh, perché qualcuno avrebbe bisogno di più
abbiamo ben 640 kilobyte di memoria
praticamente l’ho capito subito
non c’è davvero molto di più
sono venuti con tutti questi pazzi
schemi per stratificare l’indirizzamento indiretto di
segmenti di memoria e questo è un po ‘cosa
abbiamo bloccato con te non puoi semplicemente assegnare
come grande sai 40 giga byte array
più devi romperlo così questo
è in realtà un vero problema, noi no
appartiene all’indicizzazione che risulta nella JVM
modello di memoria è la garbage collection
via gioca fuori oggetti è davvero
flessibile davvero potente al servizio
davvero bene, ma è una cosa che fa schifo
grandi dati e il problema è quando tu
avere miliardi della stessa identica cosa
vuoi usare il modello regolare così
proprio come un esempio ecco un diagramma di
sai cosa potrebbe sembrare un tipo di persona
mi piace memoria o ho qualche riferimento a
lui personalmente
Spence forse i nomi della persona è il
stringa che è un altro offic di riferimento
memoria da qualche altra parte se la loro età è
numero intero posso inline che un po ‘di più il
compilazione fa ma sai se ho un
puntatore al loro indirizzo che è a
riferimento a un altro oggetto ha il suo
proprie cose come altre stringhe si trasforma
ogni singola freccia qui è una cache
signorina e sto facendo questo miliardi di
tempi per elaborare questi popoli e tutti
questa roba è in loop è una spazzatura che
solo torturare il netturbino così
quello che vogliamo veramente è qualcosa di simile
questo in cui incoraggiamo oggetti in simili
una singola matrice di byte che si spera
inserire nella cache allineare la CPU e questo
è in realtà ciò che scintilla è fatto nel
API dataframe dove invece di
allocando roba sembra questo
allocare un sacco di pochi piccoli bit e
roba e tutto si inserisce in una linea di cache
così e in poco tempo con questo
palazzo è una struttura che alcuni campi potrebbero essere
no e quindi hanno un grande campo per questo
quindi se un po ‘se il campo capita di essere
Mel non ci sarà nulla a
campo rappresentativo il resto del
registra e quindi hanno otto byte
per il campo cosa rimane se è un
primitivo come un lungo che si adatta a
ciclista in linea e altrimenti che il
valore e quindi un campo di morso sarà un
compensare in questa sezione di lunghezza variabile
per cose su stringhe e cose così
è tutto sapere molto meglio per la cache
prestazioni riduce la quantità di
spazzatura e fa solo la cosa che sono
ottenendo come fattori 100 miglioramento in
prestazioni semplicemente facendo questo tipo di
ottimizzazioni e diversione di
scorpioni che escono dalla scintilla estiva
sta per aggiungere un altro 10 x o più
performance facendo cose
C’è poco query che vi ho mostrato
stanno solo andando a generare bytecode
per quelli che non stanno nemmeno andando
compilarli come se conoscessi il metodo
chiamate e roba che stanno solo andando a
generare abbastanza bene per questo tipo di
domande per arrivare al suo assoluto
al massimo così tante cose interessanti che puoi fare
quando ottieni buone astrazioni e tu
strato sotto di esso un sacco di spazio dalla TV
ora ci sono anche alcuni problemi strani
con il modo in cui la pace funziona
il suo interprete causa davvero molto
di dolore da una delle mie grandi banche in New
York potrebbe essere necessario in realtà reengineer
il repple per funzionare meglio per davvero grande
i set di dati hanno probabilmente avuto comunque un tempo
qui ma anche se questo è fondamentalmente il mio
argomento per perché Scala è in realtà un
buon linguaggio non solo per
ingegneri ma per i vostri scienziati di dati
ma come dici tu non lo è

Please follow and like us: