Data Analysis with Python and PySpark 1st Edition Jonathan Rioux pdf download
Data Analysis with Python and PySpark 1st Edition Jonathan Rioux pdf download
https://ebookmeta.com/product/data-analysis-with-python-and-
pyspark-1st-edition-jonathan-rioux/
https://ebookmeta.com/product/python-for-data-analysis-data-
wrangling-with-pandas-numpy-and-ipython-1st-edition-wes-mckinney/
https://ebookmeta.com/product/data-science-solutions-with-python-
fast-and-scalable-models-using-keras-pyspark-mllib-h2o-xgboost-
and-scikit-learn-1st-edition-tshepo-chris-nokeri/
https://ebookmeta.com/product/behavioral-data-analysis-with-r-
and-python-customer-driven-data-for-real-business-results-1st-
edition-buisson/
https://ebookmeta.com/product/job-ready-python-1st-edition-balti-
haythem-weiss-kimberly-a/
The The Qualitative Landscape of Information Literacy
Research Core approaches and methods 1st Edition
Annemaree Lloyd
https://ebookmeta.com/product/the-the-qualitative-landscape-of-
information-literacy-research-core-approaches-and-methods-1st-
edition-annemaree-lloyd/
https://ebookmeta.com/product/the-routledge-introduction-to-
american-war-literature-1st-edition-jennifer-haytock/
https://ebookmeta.com/product/the-struggle-for-health-medicine-
and-the-politics-of-underdevelopment-2nd-edition-david-sanders/
https://ebookmeta.com/product/operationalizing-threat-
intelligence-1-converted-edition-kyle-wilhoit/
https://ebookmeta.com/product/greig-beck-omnibus-1st-edition-
greig-beck/
The Significance Test Controversy Revisited The
Fiducial Bayesian Alternative 2nd Edition Bruno
Lecoutre
https://ebookmeta.com/product/the-significance-test-controversy-
revisited-the-fiducial-bayesian-alternative-2nd-edition-bruno-
lecoutre/
Jonathan Rioux
MANNING
Resilient distributed data set (RDD) Data frame (DF)
In an RDD, we think of each record as A data frame organizes the records in columns.
being an independent object on which We perform transformations either directly on
we perform functions to transform them. those columns or on the data frame as a whole;
Think “collection,” not “structure.” we typically don’t access records horizontally
(record by record) as we do with the RDD.
An RDD versus a data frame. In the RDD, we think of each record as an independent entity.
With the data frame, we mostly interact with columns, performing functions on them. We still
can access the rows of a data frame, via RDD, if necessary.
Data Analysis with
Python and PySpark
JONATHAN RIOUX
MANNING
SHELTER ISLAND
For online information and ordering of this and other Manning books, please visit
www.manning.com. The publisher offers discounts on this book when ordered in quantity.
For more information, please contact
Special Sales Department
Manning Publications Co.
20 Baldwin Road
PO Box 761
Shelter Island, NY 11964
Email: orders@manning.com
Many of the designations used by manufacturers and sellers to distinguish their products are
claimed as trademarks. Where those designations appear in the book, and Manning Publications
was aware of a trademark claim, the designations have been printed in initial caps or all caps.
Recognizing the importance of preserving what has been written, it is Manning’s policy to have
the books we publish printed on acid-free paper, and we exert our best efforts to that end.
Recognizing also our responsibility to conserve the resources of our planet, Manning books
are printed on paper that is at least 15 percent recycled and processed without the use of
elemental chlorine.
The author and publisher have made every effort to ensure that the information in this book
was correct at press time. The author and publisher do not assume and hereby disclaim any
liability to any party for any loss, damage, or disruption caused by errors or omissions, whether
such errors or omissions result from negligence, accident, or any other cause, or from any usage
of the information herein.
ISBN: 9781617297205
Printed in the United States of America
contents
preface xi
acknowledgments xiii
about this book xv
about the author xviii
about the cover illustration xix
1 Introduction
1.1
1
What is PySpark? 2
Taking it from the start: What is Spark? 2 ■
PySpark = Spark +
Python 3 Why PySpark? 4
■
iii
iv CONTENTS
64
4.2 PySpark for analyzing and processing tabular data 65
4.3 Reading and assessing delimited data in PySpark 67
A first pass at the SparkReader specialized for CSV files 67
Customizing the SparkReader object to read CSV data files 69
Exploring the shape of our data universe 72
4.4 The basics of data manipulation: Selecting, dropping,
renaming, ordering, diagnosing 73
Knowing what we want: Selecting columns 73 Keeping what we
■
views using the CREATE keyword 163 Adding data to our table
■
using UNION and JOIN 164 Organizing your SQL code better
■
PySpark 170
7.6 Conclusion 172
UDF 194
Connecting Spark to Google’s BigQuery 194 Series to Series UDF:
■
Column functions, but with pandas 199 Scalar UDF + cold start
■
approaches 223
10.2 Beyond summarizing: Using ranking and analytical
functions 224
Ranking functions: Quick, who’s first? 225 ■
Analytic
functions: Looking back and ahead 230
10.3 Flex those windows! Using row and range
boundaries 232
Counting, window style: Static, growing, unbounded 233
What you are vs. where you are: Range vs. rows 235
10.4 Going full circle: Using UDFs within windows 239
10.5 Look in the window: The main steps to a successful
window function 240
data and getting our first feature columns 281 Addressing data
■
mishaps and building our first feature set 283 Weeding out
■
of ML in Spark 304
Data comes in, data comes out: The Transformer 305
Data comes in, transformer comes out: The Estimator 310
13.2 Building a (complete) machine learning pipeline 312
Assembling the final data set with the vector column type 314
Training an ML model using a LogisticRegression
classifier 316
13.3 Evaluating and optimizing our model 319
Assessing model accuracy: Confusion matrix and evaluator
object 320 True positives vs. false positives: The ROC
■
validation 325
13.4 Getting the biggest drivers from our model:
Extracting the coefficients 328
CONTENTS ix
xi
xii PREFACE
language. I started writing this book to promote PySpark as a great tool for data ana-
lysts. In a fortunate turn of events, the Spark project really promoted Python as a
first-class citizen. Now, more than ever, you have a powerful tool for scaling your
data programs.
And big data, once tamed, really feels powerful.
acknowledgments
Although my name is on the cover, this book has been a tremendous team effort, and
I want to take the time to thank those who helped me along the way.
First and foremost, I want to thank my family. Writing a book is a lot of work, and
with this work comes a lot of complaining. Simon, Catherine, Véronique, Jean, merci
du fond du coeur pour votre soutien. Je vous aime énormément.
Regina, in a way, you’ve were my very first PySpark student. Through your leader-
ship, you literally changed everything for me career-wise. I will forever cherish the
time we worked together, and I feel lucky our paths crossed when they did.
I want to thank Renata Pompas, who allowed me to use a color palette made under
her supervision for the diagrams in my book. I am color-blind, and finding a set of
safe colors to use that would please me and be consistent was helpful during book
development. If the figures look good to you, thank her (and the fine Manning
graphic designers). If they look bad, blame it on me.
Thank you to my team at EPAM, with a special shout-out to Zac, James, Nasim,
Vahid, Dmitrii, Yuriy, Val, Robert, Aliaksandra, Ihor, Pooyan, Artem, Volha, Ekaterina,
Sergey, Sergei, Siarhei, Kseniya, Artemii, Anatoly, Yuliya, Nadzeya, Artsiom, Denis,
Yevhen, Sofiia, Roman, Mykola, Lisa, Gaurav, Megan, and so many more. From the day
I announced that I was writing a book to when I wrote these words, I felt supported
and encouraged. Thank you to the Laivly team, Jeff, Rod, Craig, Jordan, Abu, Brendan,
Daniel, Guy, and Reid, for the opportunity to continue the adventure. I promise you
that the future is bright.
xiii
Discovering Diverse Content Through
Random Scribd Documents
Truppen zuführte und denselben Weg über die Anden einschlug,
hatte noch mehr Verluste als der Adelantado. Die Schneemassen
begruben manchen Mann und manches Roß. Dann marschirte
Almagro im chilenischen Küstenlande weiter nach Süden, nach
Coquimbo. Hier traf er unerwartet einen Spanier, welcher, vor einer
angedrohten Strafe flüchtig, aus Peru 600 Meilen weit nach Chile
gelaufen war, ohne Schaden zu erleiden. (Oviedo, historia 47, 4).
Von Coquimbo aus ließ Almagro dann das Land im Süden bis zum
Rio Maule (35° s. Br.) erforschen und trat dann, da die erträumten
Schätze sich nirgends zeigen wollten, enttäuscht den Rückweg an.
Um das Heer nicht noch einmal den Gefahren des Hochgebirgs
auszusetzen, wählte er diesmal den Küstenweg, welchen ihm die
Indianer in Jujuy bereits empfohlen hatten. Zwar mußte er hier die
Atacama passiren und verlor durch Mangel an Wasser und Futter
mehr als 30 Pferde, aber keinen Mann. Sein Heer war in kleine
Abtheilungen vertheilt, Almagro bildete mit seinem Gefolge den
Schluß. So überwand er glücklich diese Wüste und stieg dann von
Arequipa nach dem Hochland von Cuzco hinauf, wo er im Frühling
1537 wieder anlangte. Es war ein überaus verwegener, aber
erfolgloser Entdeckungszug gewesen.
Während Almagro auf dem Marsche nach Chile war, suchte die
nationale Partei unter ihrem Inka Manco die Gelegenheit, das
spanische Joch abzuschütteln, zu benutzen, so lange ein
ansehnlicher Theil des feindlichen Heeres aus dem Lande abwesend
war. Manco entwich aus Cuzco und rief das Volk zu den Waffen. Die
Hauptstadt wurde belagert und durch brennende Pfeile leicht in
Brand geschossen, da die meisten Häuser mit Stroh gedeckt waren.
Die halbe Stadt wurde zerstört, die Festung fiel in die Hände der
Peruaner. Juan Pizarro eroberte zwar einen Theil derselben wieder,
wurde aber dabei durch einen Steinwurf so gefährlich verletzt, daß
er bald darauf starb. Erst nach seinem Tode konnten die Spanier die
Festung wieder gewinnen; dann wurden sie aber Monate lang von
einem großen indianischen Heere in Cuzco belagert und ihre
Verbindungen mit Lima abgeschnitten, so daß Francisco Pizarro
vergebens, da die Indianer die Bergpässe besetzt hielten, versuchte,
der bedrohten Hauptstadt Ersatz zu bringen. Erst als in der Zeit der
Feldbestellung das peruanische Belagerungsheer sich theilweise
auflöste, wich die äußerste Noth, in welcher sich die Besatzung
befunden hatte. Man machte in dieser Zeit sogar den, wenn auch
verfehlten Versuch, sich durch einen Handstreich der Person des
Inka zu bemächtigen. Francisco Pizarro fühlte, daß der ganze Besitz
seiner Eroberung durch den allgemeinen Aufstand auf dem Spiel
stehe, wenn nicht rasche Hilfe komme. Er entsandte Schiffe nach
Mittelamerika und forderte die dortigen Statthalter unter lockenden
Verheißungen auf, ihn mit Truppen zu unterstützen.
Unter solchen Verhältnissen erschien Almagro wieder in Peru. Die
schon lange im Stillen glimmende Eifersucht zwischen ihm und
Pizarro hatte zwar schon vor seinem Abmarsch nach Chile eine
scheinbare Versöhnung gefunden, da sich beide Rivalen durch
schriftlichen Vertrag und Eidschwur auf die Hostie am 12. Juni 1535
zur Beilegung des Streites bereit erklärt hatten; allein da nun nach
seiner Rückkehr Almagro erfuhr, daß eine königliche Vollmacht ihn
zum selbständigen Statthalter über alle Länder ernenne, welche 270
Leguas (17½ Leguas = 1 Breitengrad von 15 Meilen) südlich vom
Santiagoflusse[447] beginnend, sich gegen Süden ausdehnten, so
glaubte er Anspruch auf den Besitz von Cuzco zu haben. Bei der
Unsicherheit genauer astronomischer Bestimmungen konnte zu jener
Zeit allerdings die Entscheidung dieser Frage zweifelhaft sein, wenn
wir jetzt auch mit Bestimmtheit sagen können, daß die alte
Hauptstadt noch zum Gebiete Pizarro’s gehört. Ehe Almagro noch in
die Nähe von Cuzco gelangt war, suchte er mit dem Fürsten Manco,
mit welchem er früher befreundet gewesen, eine Zusammenkunft,
wurde von diesem aber überfallen. Nachdem er den Angriff siegreich
abgewiesen hatte, rückte er mit seinem Heere vor Cuzco und
forderte von Gonzalo und Hernando Pizarro, welche in derselben
befehligten, die Uebergabe der Stadt. Da dieselbe unter
verschiedenen Vorwänden verzögert wurde, so drang er in einer
finstern Nacht am 8. April 1537 in Cuzco ein und nahm beide Brüder
nach kurzem Kampfe in ihrem Hause, welches dabei in Flammen
aufging, gefangen.
Inzwischen war Alvarado, von Francisco Pizarro zu Hilfe gerufen,
zum zweitenmale in Peru erschienen und stand, im Begriff mit 500
Mann auf Cuzco zu marschiren, 13 Meilen von der Hauptstadt
entfernt in Jauja. Almagro ließ ihm die erfolgte Besetzung seiner
Hauptstadt melden, aber Alvarado befahl, die Boten in Ketten zu
werfen. Erbittert über solchen Verrath fiel Almagro rasch über ihn
her, besiegte ihn bei der Brücke von Abancay, am 12. Juli 1537, und
kehrte dann nach Cuzco zurück. Der Inka wurde mit dem Rest seiner
Scharen ins Gebirge getrieben und das Land von den Aufständischen
gesäubert. Es kam nun vor allem darauf an, eine directe Verbindung
mit dem Mutterlande zu schaffen und einen Seehafen im südlichen
Peru ausfindig zu machen. Deshalb zog Almagro ins Küstenland
hinunter, um dort einen befestigten Landungsplatz zu gründen. Sein
Augenmerk war auf das fruchtbare Chinchathal gerichtet; Hernando
Pizarro mußte als Gefangener folgen, während es dem andern
Bruder Gonzalo gelang, aus der Haft zu entfliehen und Lima zu
erreichen.
Francisco Pizarro, welchem vor allem daran gelegen war, seinen
noch gefangenen Bruder dem siegreichen Gegner zu entreißen,
zeigte sich sehr friedlich gesinnt und knüpfte Unterhandlungen an.
Beide Parteien kamen am 13. November in Mala, südlich von Lima,
zusammen und Almagro verstand sich dazu, gegen die vorläufige
Anerkennung seiner Ansprüche auf Cuzco, Hernando Pizarro
freizugeben. Die endgiltige Entscheidung des Streits wurde der
spanischen Regierung überlassen.
Kaum war Hernando frei, so erklärte bereits Francisco Pizarro den
Vertrag für ungiltig, und der Streit begann von neuem. Almagro ging
nach Cuzco zurück, wohin ihm sein erbitterter Gegner Hernando im
Frühling des nächsten Jahres folgte. Am 26. April 1538 kam es zum
Kampfe bei Las Salinas, eine kleine Meile von der Hauptstadt. Keine
der beiden Parteien verfügte über mehr als 700 oder 800 Mann, aber
das Gefecht war sehr heftig und dauerte den ganzen Tag. Almagro
konnte, weil er krank war, nicht unmittelbar in den Streit eingreifen,
aber er befand sich ganz in der Nähe. Während des Gefechtes fielen
nur 15 bis 20 Mann, aber bei der Verfolgung der geschlagenen
Truppen Almagro’s, welcher selbst gefangen genommen wurde,
sollen noch 150 Mann niedergemacht worden sein. Hernando hatte
für den überwundenen Gegner, den frühern Waffengefährten, der
ihm großmüthig die Freiheit geschenkt, kein Mitgefühl, kein
Erbarmen; er sann auf Rache für die angethane Schmach. Almagro
wurde nach Cuzco gebracht und ihm dort der Proceß gemacht. Unter
Aufbietung einer ansehnlichen Truppenmacht wurde ihm öffentlich
am 8. Juli der Urtheilsspruch verkündet. Dann ließ Hernando ihn im
Gefängniß erdrosseln.
Almagro war eine offne, rohe Natur, welche sich nie mit
heuchlerischen Hintergedanken oder mit Racheplänen trug. Er besaß
einen empfindlichen Ehrgeiz und liebte es, durch verschwenderische
Geschenke seine Truppen zu belohnen. Tapfer und in allen Strapazen
ausharrend, machte ihn seine durch und durch soldatische Natur bei
seinem Heere beliebt. Seine Verbindung mit dem herz- und
gewissenlosen Pizarro stürzte ihn ins Verderben.
SÜDAMERICA
mit einer südlichen Meerenge,
nach dem
von Joh. Schöner 1515
entworfenen Globus.
Die punktirten Conturen zeigen die richtigen Umrisse des Landes.
2. Fernão de Magalhães.