- عنوان کتاب: Spark for Python Developers
- نویسنده: Amit Nandi
- حوزه:Spark , برنامه نویسی پایتون
- سال انتشار: 2015
- تعداد صفحه: 206
- زبان اصلی: انگلیسی
- نوع فایل: pdf
- حجم فایل: 9.43 مگابایت
Spark for Python Developers قصد دارد ظرافت و انعطاف پایتون را با قدرت و تطبیق پذیری Apache Spark ترکیب کند. Spark در اسکالا نوشته شده و بر روی ماشین مجازی جاوا اجرا می شود. با این وجود، این زبان چند زبانه است و پیوندها و APIها را برای جاوا، اسکالا، پایتون و R ارائه میکند. پایتون یک زبان خوب طراحی شده با مجموعه گستردهای از کتابخانههای تخصصی است. این کتاب به PySpark در اکوسیستم PyData نگاه می کند. برخی از کتابخانه های برجسته PyData عبارتند از Pandas، Blaze، Scikit-Learn، Matplotlib، Seaborn و Bokeh. این کتابخانه ها متن باز هستند. آنها توسط دانشمند داده و جامعه توسعه دهندگان پایتون توسعه، استفاده و نگهداری می شوند. PySpark به خوبی با اکوسیستم PyData ادغام می شود، همانطور که توسط توزیع Anaconda Python تایید شده است. این کتاب سفری را برای ساخت برنامههای فشرده داده همراه با طرحی معماری که مراحل زیر را پوشش میدهد، ارائه میکند: ابتدا، زیرساخت پایه را با Spark تنظیم کنید. دوم، جمع آوری، جمع آوری، پردازش و ذخیره داده ها. سوم، از داده های جمع آوری شده بینش به دست آورید. چهارم، پخش جریانی داده های زنده و پردازش آن ها در زمان واقعی. در نهایت، اطلاعات را تجسم کنید.
هدف این کتاب آشنایی با کتابخانههای PySpark و PyData با ساخت اپلیکیشنهایی است که تعاملات جامعه Spark را در شبکههای اجتماعی تجزیه و تحلیل میکنند. تمرکز روی داده های توییتر است.
آنچه این کتاب پوشش می دهد
فصل 1، راهاندازی یک محیط مجازی Spark، نحوه ایجاد یک ماشین مجازی مجزا به عنوان جعبه ایمنی یا محیط توسعه برای آزمایش با کتابخانههای Spark و PyData را پوشش میدهد. نحوه نصب Spark و توزیع Python Anaconda که شامل کتابخانه های PyData است را پوشش می دهد. در طول راه، مفاهیم کلیدی Spark، اکوسیستم Python Anaconda را توضیح میدهیم و یک اپلیکیشن Spark Word count میسازیم.
فصل 2، ساخت دسته ای و پخش برنامه ها با Spark، پایه و اساس معماری برنامه های فشرده داده را می گذارد. این پنج لایه از طرح معماری برنامه ها را شرح می دهد: زیرساخت، پایداری، یکپارچه سازی، تجزیه و تحلیل و تعامل. ما اتصالات API را با سه شبکه اجتماعی برقرار می کنیم: Twitter، GitHub و Meetup. این فصل ابزارهایی را برای اتصال به این سه API غیرمعمول ارائه میکند تا بتوانید در مرحله بعد ترکیبات دادههای خود را ایجاد کنید.
فصل 3، شعبده بازی داده ها با Spark، نحوه جمع آوری داده ها از توییتر و پردازش آن ها با استفاده از Pandas، Blaze، و SparkSQL با اجرای مربوطه آنها از ساختار داده قاب داده را پوشش می دهد. ما با استفاده از Spark SQL با استفاده از ساختار داده Spark dataframe به بررسیها و تکنیکهای بیشتر ادامه میدهیم.
فصل 4، یادگیری از داده ها با استفاده از Spark، یک نمای کلی از کتابخانه همیشه در حال گسترش الگوریتم های Spark MLlib ارائه می دهد. یادگیری تحت نظارت و بدون نظارت، سیستم های توصیه گر، بهینه سازی و الگوریتم های استخراج ویژگی را پوشش می دهد. ما مجموعه داده جمعآوری شده توییتر را از طریق خوشهبندی Python Scikit-Learn و Spark MLlib K-means قرار دادیم تا توییتهای مرتبط Apache Spark را جدا کنیم.
فصل 5، جریان دادههای زنده با اسپارک، پایه و اساس برنامههای معماری استریم را ایجاد میکند و چالشها، محدودیتها و مزایای آنها را شرح میدهد. ما مفاهیم استریم را با سوکتهای TCP نشان میدهیم، و به دنبال آن دریافت توییت زنده و پردازش مستقیماً از firehose توییتر انجام میشود. ما همچنین Flume را توصیف می کنیم، یک سیستم خط لوله انتقال داده قابل اعتماد، قابل انعطاف و مقیاس پذیر. ترکیب فلوم، کافکا و اسپارک استحکام، سرعت و چابکی بینظیری را در منظرهای همیشه در حال تغییر ارائه میدهد. ما این فصل را با برخی نکات و مشاهدات در مورد دو پارادایم معماری جریانی، معماریهای لامبدا و کاپا به پایان میرسانیم.
فصل 6، تجسم بینش ها و روندها، بر روی چند تکنیک کلیدی تجسم تمرکز دارد. این شامل نحوه ساخت ابرهای کلمه و افشای قدرت شهودی آنها برای آشکار کردن بسیاری از کلمات کلیدی، حالات و میم هایی است که از طریق هزاران توییت انجام می شود. سپس بر روی تجسم های نقشه برداری تعاملی با استفاده از بوکه تمرکز می کنیم. ما یک نقشه جهانی از ابتدا می سازیم و یک طرح پراکنده از توییت های مهم ایجاد می کنیم. تجسم نهایی ما این است که یک نقشه واقعی گوگل از لندن را پوشش دهیم و جلسات آینده و موضوعات مربوط به آنها را برجسته کنیم.
Spark for Python Developers aims to combine the elegance and flexibility of Python with the power and versatility of Apache Spark. Spark is written in Scala and runs on the Java virtual machine. It is nevertheless polyglot and offers bindings and APIs for Java, Scala, Python, and R. Python is a well-designed language with an extensive set of specialized libraries. This book looks at PySpark within the PyData ecosystem. Some of the prominent PyData libraries include Pandas, Blaze, Scikit-Learn, Matplotlib, Seaborn, and Bokeh. These libraries are open source. They are developed, used, and maintained by the data scientist and Python developers community. PySpark integrates well with the PyData ecosystem, as endorsed by the Anaconda Python distribution. The book puts forward a journey to build data-intensive apps along with an architectural blueprint that covers the following steps: first, set up the base infrastructure with Spark. Second, acquire, collect, process, and store the data. Third, gain insights from the collected data. Fourth, stream live data and process it in real time. Finally, visualize the information.
The objective of the book is to learn about PySpark and PyData libraries by building apps that analyze the Spark community’s interactions on social networks. The focus is on Twitter data.
What this book covers
Chapter 1, Setting Up a Spark Virtual Environment, covers how to create a segregated virtual machine as our sandbox or development environment to experiment with Spark and PyData libraries. It covers how to install Spark and the Python Anaconda distribution, which includes PyData libraries. Along the way, we explain the key Spark concepts, the Python Anaconda ecosystem, and build a Spark word count app.
Chapter 2, Building Batch and Streaming Apps with Spark, lays the foundation of the Data Intensive Apps Architecture. It describes the five layers of the apps architecture blueprint: infrastructure, persistence, integration, analytics, and engagement. We establish API connections with three social networks: Twitter, GitHub, and Meetup. This chapter provides the tools to connect to these three nontrivial APIs so that you can create your own data mashups at a later stage.
Chapter 3, Juggling Data with Spark, covers how to harvest data from Twitter and process it using Pandas, Blaze, and SparkSQL with their respective implementations of the dataframe data structure. We proceed with further investigations and techniques using Spark SQL, leveraging on the Spark dataframe data structure.
Chapter 4, Learning from Data Using Spark, gives an overview of the ever expanding library of algorithms of Spark MLlib. It covers supervised and unsupervised learning, recommender systems, optimization, and feature extraction algorithms. We put the Twitter harvested dataset through a Python Scikit-Learn and Spark MLlib K-means clustering in order to segregate the Apache Spark relevant tweets.
Chapter 5, Streaming Live Data with Spark, lays down the foundation of streaming architecture apps and describes their challenges, constraints, and benefits. We illustrate the streaming concepts with TCP sockets, followed by live tweet ingestion and processing directly from the Twitter firehose. We also describe Flume, a reliable, flexible, and scalable data ingestion and transport pipeline system. The combination of Flume, Kafka, and Spark delivers unparalleled robustness, speed, and agility in an ever-changing landscape. We end the chapter with some remarks and observations on two streaming architectural paradigms, the Lambda and Kappa architectures.
Chapter 6, Visualizing Insights and Trends, focuses on a few key visualization techniques. It covers how to build word clouds and expose their intuitive power to reveal a lot of the key words, moods, and memes carried through thousands of tweets. We then focus on interactive mapping visualizations using Bokeh. We build a world map from the ground up and create a scatter plot of critical tweets. Our final visualization is to overlay an actual Google map of London, highlighting upcoming meetups and their respective topics.
این کتاب را میتوانید از لینک زیر بصورت رایگان دانلود کنید:
Download: Spark for Python Developers
نظرات کاربران