SlideShare a Scribd company logo
Pyt(h)on vs słoń: aktualny stan przetwarzania dużych
danych w Python
Jakub Nowacki
Yosh.AI, SigDelta, Sages
whoami
CTO @ Yosh.AI (yosh.ai)
Lead Data Scientist @ SigDelta (sigdelta.com)
Trainer @ Sages (sages.com.pl)
I can code, I do maths
@jsnowacki
4Developers 2018: Pyt(h)on vs słoń: aktualny stan przetwarzania dużych danych w Python (Jakub Nowacki)
Jak to było kiedyś?
Apache Spark!
Spark RDD
sc.textFile("hdfs://...") 
.flatMap(lambda line: line.split()) 
.map(lambda word: (word, 1)) 
.reduceByKey(lambda a, b: a + b) 
.saveAsTextFile("hdfs://...")
Spark RDD – co gdzie?
Źródło: https://cwiki.apache.org/confluence/display/SPARK/PySpark+Internals
Spark SQL - DataFrame
Źródło: https://databricks.com/blog/2015/03/24/spark-sql-graduates-from-alpha-in-spark-1-3.html
from pyspark.sql.functions import *
spark.read.text('hdfs://...’) 
.select(explode(split('value', 'W+')).alias('word')) 
.groupBy('word') 
.count() 
.orderBy(desc('count')) 
.write.parquet('hdfs://...')
UDF?!
Rozwiązanie - Java/Scala UDF to Python: http://sigdelta.com/blog/scala-spark-udfs-in-python/
from pyspark.sql.types import IntegerType
@udf(returnType=IntegerType())
def add_one(x):
if x is not None:
return x + 1
Vectorized UDFs
import pandas as pd
from pyspark.sql.types import LongType
def multiply_func(a, b):
return a * b
multiply = pandas_udf(multiply_func,
returnType=LongType())
pdf = pd.DataFrame([1, 2, 3], columns=["x"]
print(multiply_func(pdf.x, pdf.x))
# 0 1
# 1 4
# 2 9
# dtype: int64
df = spark.createDataFrame(pdf)
df.select(multiply(col("x"), col("x"))).show()
# +-------------------+
# |multiply_func(x, x)|
# +-------------------+
# | 1| # | 4| # | 9|
# +-------------------+
Źródło:
https://databricks.com/blog/2017/10/30/introduci
ng-vectorized-udfs-for-pyspark.html
Spark Structured Streaming
Źródło: https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html
PySpark w PyPI
pip install pyspark
conda install pyspark
...
Opis: http://sigdelta.com/blog/how-to-install-pyspark-locally/
Dask!
Źródło: https://dask.pydata.org/
Dask Array
Źródło: https://dask.pydata.org/
import dask.array as da
import numpy as np
x = da.ones(10, chunks=(5,))
y = np.ones(10)
z = x + y
print(z)
# dask.array<add, shape=(10,),
# … dtype=float64, chunksize=(5,)>
Dask DataFrame
Źródło: https://dask.pydata.org/
import dask.dataframe as dd
posts = dd.read_parquet('data/posts_tags.parq’)
.set_index('id’)
posts_count = posts.creation_date.dt.date
.value_counts()
posts_count_df = posts_count.compute()
posts_count_df.head()
# 2017-08-23 9531
# 2017-07-27 9450
# 2017-08-24 9366
# 2017-08-03 9345
# 2017-03-22 9342
# Name: creation_date, dtype: int64
Przykład: http://sigdelta.com/blog/stackpverflow-tags-with-dask/
Dask Bag
Przykład: http://sigdelta.com/blog/dask-introduction/
import dask.bag as db
tags_xml = db.read_text('data/Tags.xml', encoding='utf-8’)
tags_xml.take(5)
# ('ufeff<?xml version="1.0" encoding="utf-8"?>n’,
# '<tags>n’,
# ' <row Id="1" TagName=".net" Count="257092" … />n’,
# ' <row Id="2" TagName="html" Count="683981" … />n’,
# ' <row Id="3" TagName="javascript" Count="1457944" … />n’)
tags_rows = tags_xml.filter(lambda line: line.find('<row') >= 0)
tags_rows.take(5)
# (' <row Id="1" TagName=".net" Count="257092" … />n’,
# ' <row Id="2" TagName="html" Count="683981" … />n’,
# ' <row Id="3" TagName="javascript" Count="1457944" … />n’,
# ' <row Id="4" TagName="css" Count="490198" … />n’,
# ' <row Id="5" TagName="php" Count="1114030" … />n’)
tags = tags_rows.map(extract_tags_columns).to_dataframe()
Na jednej maszynie lub wielu
Źródło: https://dask.pydata.org/
Dask?!
Źródło: https://github.com/dask/dask/issues/3038 (naprawione)
...
t.reset_index().head()
# ------------------------------------------------------------------
# ValueError Traceback (most recent call last)
# <ipython-input-100-e6186d78fb03> in <module>()
# ----> 1 t.reset_index().head()
#
# ...
#
# ValueError: Length mismatch: Expected axis has 3 elements, new
# values have 2 elements
Ray
Źródło: https://rise.cs.berkeley.edu/blog/pandas-on-ray/
# import pandas as pd
import ray.dataframe as pd
stocks_df = pd.read_csv("all_stocks_5yr.csv")
print(type(stocks_df))
# <class 'ray.dataframe.dataframe.DataFrame'>
positive_stocks_df = stocks_df.query("close > open")
print(positive_stocks_df['date'].head(n=5))
# 0 2013-02-13
# 1 2013-02-15
# 2 2013-02-26
# 3 2013-02-27
# 4 2013-03-01
@ray.remote def f():
time.sleep(1)
return 1
ray.init()
results = ray.get([
f.remote()
for i in range(4)
])
Źródło: http://ray.readthedocs.io/en/latest/index.html
Apache Arrow
Źródło: https://arrow.apache.org/
Platformy chmurowe
Google Cloud Platform
Google BigQuery
Google BigQuery vs Pandas
# pip install pandas-gbq
projectid = "xxxxxxxx"
df = pd.read_gbq('SELECT * FROM test_dataset.test_table’,
index_col='index_column_name’,
col_order=['col1', 'col2', 'col3’],
projectid)
df.to_gbq(df, 'my_dataset.my_table', projectid, if_exists='fail')
TensorFlow
Źródło: https://www.tensorflow.org/get_started/premade_estimators
TensorFlow Data
dataset2 = tf.data.Dataset.from_tensor_slices(
(tf.random_uniform([4]),
tf.random_uniform([4, 100], maxval=100, dtype=tf.int32)))
print(dataset2.output_types) # ==> "(tf.float32, tf.int32)"
print(dataset2.output_shapes) # ==> "((), (100,))"
dataset3 = tf.data.Dataset.zip((dataset1, dataset2))
print(dataset3.output_types) # ==> (tf.float32, (tf.float32, tf.int32))
print(dataset3.output_shapes) # ==> "(10, ((), (100,)))"
dataset1 = dataset1.map(lambda x: ...)
dataset2 = dataset2.flat_map(lambda x, y: ...)
dataset3 = dataset3.filter(lambda x, (y, z): ...)
Źródło: https://www.tensorflow.org/programmers_guide/datasets
TensorFlow GPU & Distributed
Źródło: https://towardsdatascience.com/using-docker-to-
set-up-a-deep-learning-environment-on-aws-6af37a78c551
Źródło: http://www.pittnuts.com/2016/08/glossary-in-
distributed-tensorflow/
TensorFlow Serving
Źródło: https://www.tensorflow.org/serving/ Źródło: https://cloud.google.com/products/machine-learning/
Co przyniesie przyszłość? ¯_(ツ)_/¯
Źródło: https://www.slideshare.net/AmazonWebServices/introducing-amazon-kinesis-realtime-processing-of-streaming-
big-data-bdt103-aws-reinvent-2013
Programowanie funkcyjne
Input Function Output
Input Function Output
Input Function Output
Input Function Output
SQL
Twoja opinia na temat mojej prelekcji jest dla mnie bardzo ważna.
1. Wejdź w mój wykład znajdujący się w agendzie w aplikacji
Eventory.
2. Oceń moją prelekcję i dodaj swój komentarz.
Dzięki temu będę wiedział/a, co Ci się podobało a co
powinienem/am ulepszyć!
4Developers 2018: Pyt(h)on vs słoń: aktualny stan przetwarzania dużych danych w Python (Jakub Nowacki)

More Related Content

PDF
Hadoop meetup : HUGFR Construire le cluster le plus rapide pour l'analyse des...
PDF
AfterGlow
PDF
PuppetDB: A Single Source for Storing Your Puppet Data - PUG NY
PPTX
Node collaboration - Exported Resources and PuppetDB
PDF
Introduction to solr
PDF
Introduction to Elasticsearch
PDF
MongoDB Europe 2016 - Graph Operations with MongoDB
PDF
Spark with Elasticsearch
Hadoop meetup : HUGFR Construire le cluster le plus rapide pour l'analyse des...
AfterGlow
PuppetDB: A Single Source for Storing Your Puppet Data - PUG NY
Node collaboration - Exported Resources and PuppetDB
Introduction to solr
Introduction to Elasticsearch
MongoDB Europe 2016 - Graph Operations with MongoDB
Spark with Elasticsearch

What's hot (20)

PPTX
scalable machine learning
PDF
Anwendungsfaelle für Elasticsearch
PPTX
Building a Scalable Distributed Stats Infrastructure with Storm and KairosDB
PDF
2014 spark with elastic search
PPTX
Monitoring Spark Applications
PDF
PySpark Cassandra - Amsterdam Spark Meetup
PPTX
Introduce to Spark sql 1.3.0
PDF
Large Scale Log Analytics with Solr (from Lucene Revolution 2015)
PDF
Web Scrapping with Python
PDF
Introduction to Pig & Pig Latin | Big Data Hadoop Spark Tutorial | CloudxLab
PDF
Presto Overfview
PDF
Scalding - the not-so-basics @ ScalaDays 2014
PDF
Spark Meetup
PPTX
MongoDB Chunks - Distribution, Splitting, and Merging
PDF
Elk stack @inbot
PPTX
CONFidence 2015: DTrace + OSX = Fun - Andrzej Dyjak
PDF
Simple search with elastic search
PDF
Spark with Elasticsearch - umd version 2014
PDF
Web Crawling Modeling with Scrapy Models #TDC2014
PPTX
Powershell for Log Analysis and Data Crunching
scalable machine learning
Anwendungsfaelle für Elasticsearch
Building a Scalable Distributed Stats Infrastructure with Storm and KairosDB
2014 spark with elastic search
Monitoring Spark Applications
PySpark Cassandra - Amsterdam Spark Meetup
Introduce to Spark sql 1.3.0
Large Scale Log Analytics with Solr (from Lucene Revolution 2015)
Web Scrapping with Python
Introduction to Pig & Pig Latin | Big Data Hadoop Spark Tutorial | CloudxLab
Presto Overfview
Scalding - the not-so-basics @ ScalaDays 2014
Spark Meetup
MongoDB Chunks - Distribution, Splitting, and Merging
Elk stack @inbot
CONFidence 2015: DTrace + OSX = Fun - Andrzej Dyjak
Simple search with elastic search
Spark with Elasticsearch - umd version 2014
Web Crawling Modeling with Scrapy Models #TDC2014
Powershell for Log Analysis and Data Crunching
Ad

Similar to 4Developers 2018: Pyt(h)on vs słoń: aktualny stan przetwarzania dużych danych w Python (Jakub Nowacki) (20)

PDF
The Nitty Gritty of Advanced Analytics Using Apache Spark in Python
PDF
Improving Pandas and PySpark interoperability with Apache Arrow
PDF
Improving Pandas and PySpark performance and interoperability with Apache Arrow
PPTX
Apache_Spark_with_Python_Lecture_Updated.pptx
PDF
Apache Spark 2.3 boosts advanced analytics and deep learning with Python
PDF
Improving Python and Spark Performance and Interoperability with Apache Arrow...
PPTX
Frustration-Reduced PySpark: Data engineering with DataFrames
PDF
Introduction to Spark with Python
PDF
Vancouver AWS Meetup Slides 11-20-2018 Apache Spark with Amazon EMR
PDF
Data manipulation with DataFrames bimboo
PDF
Data Summer Conf 2018, “Hands-on with Apache Spark for Beginners (ENG)” — Akm...
PDF
Koalas: How Well Does Koalas Work?
PPTX
Koalas: Unifying Spark and pandas APIs
PDF
Introduction to Spark Datasets - Functional and relational together at last
PDF
Introduction to PySpark maka sakinaka loda
PDF
A really really fast introduction to PySpark - lightning fast cluster computi...
PPTX
Improving Python and Spark Performance and Interoperability with Apache Arrow
PDF
Vectorized UDF: Scalable Analysis with Python and PySpark with Li Jin
PDF
Pandas UDF: Scalable Analysis with Python and PySpark
PDF
ETL to ML: Use Apache Spark as an end to end tool for Advanced Analytics
The Nitty Gritty of Advanced Analytics Using Apache Spark in Python
Improving Pandas and PySpark interoperability with Apache Arrow
Improving Pandas and PySpark performance and interoperability with Apache Arrow
Apache_Spark_with_Python_Lecture_Updated.pptx
Apache Spark 2.3 boosts advanced analytics and deep learning with Python
Improving Python and Spark Performance and Interoperability with Apache Arrow...
Frustration-Reduced PySpark: Data engineering with DataFrames
Introduction to Spark with Python
Vancouver AWS Meetup Slides 11-20-2018 Apache Spark with Amazon EMR
Data manipulation with DataFrames bimboo
Data Summer Conf 2018, “Hands-on with Apache Spark for Beginners (ENG)” — Akm...
Koalas: How Well Does Koalas Work?
Koalas: Unifying Spark and pandas APIs
Introduction to Spark Datasets - Functional and relational together at last
Introduction to PySpark maka sakinaka loda
A really really fast introduction to PySpark - lightning fast cluster computi...
Improving Python and Spark Performance and Interoperability with Apache Arrow
Vectorized UDF: Scalable Analysis with Python and PySpark with Li Jin
Pandas UDF: Scalable Analysis with Python and PySpark
ETL to ML: Use Apache Spark as an end to end tool for Advanced Analytics
Ad

Recently uploaded (20)

PDF
Encapsulation theory and applications.pdf
PPTX
A Presentation on Artificial Intelligence
PPTX
TLE Review Electricity (Electricity).pptx
PPTX
cloud_computing_Infrastucture_as_cloud_p
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PPTX
OMC Textile Division Presentation 2021.pptx
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PPTX
1. Introduction to Computer Programming.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Empathic Computing: Creating Shared Understanding
Encapsulation theory and applications.pdf
A Presentation on Artificial Intelligence
TLE Review Electricity (Electricity).pptx
cloud_computing_Infrastucture_as_cloud_p
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
NewMind AI Weekly Chronicles - August'25-Week II
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
OMC Textile Division Presentation 2021.pptx
A comparative study of natural language inference in Swahili using monolingua...
Assigned Numbers - 2025 - Bluetooth® Document
1. Introduction to Computer Programming.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Per capita expenditure prediction using model stacking based on satellite ima...
Building Integrated photovoltaic BIPV_UPV.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Empathic Computing: Creating Shared Understanding

4Developers 2018: Pyt(h)on vs słoń: aktualny stan przetwarzania dużych danych w Python (Jakub Nowacki)

  • 1. Pyt(h)on vs słoń: aktualny stan przetwarzania dużych danych w Python Jakub Nowacki Yosh.AI, SigDelta, Sages
  • 2. whoami CTO @ Yosh.AI (yosh.ai) Lead Data Scientist @ SigDelta (sigdelta.com) Trainer @ Sages (sages.com.pl) I can code, I do maths @jsnowacki
  • 4. Jak to było kiedyś?
  • 6. Spark RDD sc.textFile("hdfs://...") .flatMap(lambda line: line.split()) .map(lambda word: (word, 1)) .reduceByKey(lambda a, b: a + b) .saveAsTextFile("hdfs://...")
  • 7. Spark RDD – co gdzie? Źródło: https://cwiki.apache.org/confluence/display/SPARK/PySpark+Internals
  • 8. Spark SQL - DataFrame Źródło: https://databricks.com/blog/2015/03/24/spark-sql-graduates-from-alpha-in-spark-1-3.html from pyspark.sql.functions import * spark.read.text('hdfs://...’) .select(explode(split('value', 'W+')).alias('word')) .groupBy('word') .count() .orderBy(desc('count')) .write.parquet('hdfs://...')
  • 9. UDF?! Rozwiązanie - Java/Scala UDF to Python: http://sigdelta.com/blog/scala-spark-udfs-in-python/ from pyspark.sql.types import IntegerType @udf(returnType=IntegerType()) def add_one(x): if x is not None: return x + 1
  • 10. Vectorized UDFs import pandas as pd from pyspark.sql.types import LongType def multiply_func(a, b): return a * b multiply = pandas_udf(multiply_func, returnType=LongType()) pdf = pd.DataFrame([1, 2, 3], columns=["x"] print(multiply_func(pdf.x, pdf.x)) # 0 1 # 1 4 # 2 9 # dtype: int64 df = spark.createDataFrame(pdf) df.select(multiply(col("x"), col("x"))).show() # +-------------------+ # |multiply_func(x, x)| # +-------------------+ # | 1| # | 4| # | 9| # +-------------------+ Źródło: https://databricks.com/blog/2017/10/30/introduci ng-vectorized-udfs-for-pyspark.html
  • 11. Spark Structured Streaming Źródło: https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html
  • 12. PySpark w PyPI pip install pyspark conda install pyspark ... Opis: http://sigdelta.com/blog/how-to-install-pyspark-locally/
  • 14. Dask Array Źródło: https://dask.pydata.org/ import dask.array as da import numpy as np x = da.ones(10, chunks=(5,)) y = np.ones(10) z = x + y print(z) # dask.array<add, shape=(10,), # … dtype=float64, chunksize=(5,)>
  • 15. Dask DataFrame Źródło: https://dask.pydata.org/ import dask.dataframe as dd posts = dd.read_parquet('data/posts_tags.parq’) .set_index('id’) posts_count = posts.creation_date.dt.date .value_counts() posts_count_df = posts_count.compute() posts_count_df.head() # 2017-08-23 9531 # 2017-07-27 9450 # 2017-08-24 9366 # 2017-08-03 9345 # 2017-03-22 9342 # Name: creation_date, dtype: int64 Przykład: http://sigdelta.com/blog/stackpverflow-tags-with-dask/
  • 16. Dask Bag Przykład: http://sigdelta.com/blog/dask-introduction/ import dask.bag as db tags_xml = db.read_text('data/Tags.xml', encoding='utf-8’) tags_xml.take(5) # ('ufeff<?xml version="1.0" encoding="utf-8"?>n’, # '<tags>n’, # ' <row Id="1" TagName=".net" Count="257092" … />n’, # ' <row Id="2" TagName="html" Count="683981" … />n’, # ' <row Id="3" TagName="javascript" Count="1457944" … />n’) tags_rows = tags_xml.filter(lambda line: line.find('<row') >= 0) tags_rows.take(5) # (' <row Id="1" TagName=".net" Count="257092" … />n’, # ' <row Id="2" TagName="html" Count="683981" … />n’, # ' <row Id="3" TagName="javascript" Count="1457944" … />n’, # ' <row Id="4" TagName="css" Count="490198" … />n’, # ' <row Id="5" TagName="php" Count="1114030" … />n’) tags = tags_rows.map(extract_tags_columns).to_dataframe()
  • 17. Na jednej maszynie lub wielu Źródło: https://dask.pydata.org/
  • 18. Dask?! Źródło: https://github.com/dask/dask/issues/3038 (naprawione) ... t.reset_index().head() # ------------------------------------------------------------------ # ValueError Traceback (most recent call last) # <ipython-input-100-e6186d78fb03> in <module>() # ----> 1 t.reset_index().head() # # ... # # ValueError: Length mismatch: Expected axis has 3 elements, new # values have 2 elements
  • 19. Ray Źródło: https://rise.cs.berkeley.edu/blog/pandas-on-ray/ # import pandas as pd import ray.dataframe as pd stocks_df = pd.read_csv("all_stocks_5yr.csv") print(type(stocks_df)) # <class 'ray.dataframe.dataframe.DataFrame'> positive_stocks_df = stocks_df.query("close > open") print(positive_stocks_df['date'].head(n=5)) # 0 2013-02-13 # 1 2013-02-15 # 2 2013-02-26 # 3 2013-02-27 # 4 2013-03-01 @ray.remote def f(): time.sleep(1) return 1 ray.init() results = ray.get([ f.remote() for i in range(4) ]) Źródło: http://ray.readthedocs.io/en/latest/index.html
  • 24. Google BigQuery vs Pandas # pip install pandas-gbq projectid = "xxxxxxxx" df = pd.read_gbq('SELECT * FROM test_dataset.test_table’, index_col='index_column_name’, col_order=['col1', 'col2', 'col3’], projectid) df.to_gbq(df, 'my_dataset.my_table', projectid, if_exists='fail')
  • 26. TensorFlow Data dataset2 = tf.data.Dataset.from_tensor_slices( (tf.random_uniform([4]), tf.random_uniform([4, 100], maxval=100, dtype=tf.int32))) print(dataset2.output_types) # ==> "(tf.float32, tf.int32)" print(dataset2.output_shapes) # ==> "((), (100,))" dataset3 = tf.data.Dataset.zip((dataset1, dataset2)) print(dataset3.output_types) # ==> (tf.float32, (tf.float32, tf.int32)) print(dataset3.output_shapes) # ==> "(10, ((), (100,)))" dataset1 = dataset1.map(lambda x: ...) dataset2 = dataset2.flat_map(lambda x, y: ...) dataset3 = dataset3.filter(lambda x, (y, z): ...) Źródło: https://www.tensorflow.org/programmers_guide/datasets
  • 27. TensorFlow GPU & Distributed Źródło: https://towardsdatascience.com/using-docker-to- set-up-a-deep-learning-environment-on-aws-6af37a78c551 Źródło: http://www.pittnuts.com/2016/08/glossary-in- distributed-tensorflow/
  • 28. TensorFlow Serving Źródło: https://www.tensorflow.org/serving/ Źródło: https://cloud.google.com/products/machine-learning/
  • 29. Co przyniesie przyszłość? ¯_(ツ)_/¯ Źródło: https://www.slideshare.net/AmazonWebServices/introducing-amazon-kinesis-realtime-processing-of-streaming- big-data-bdt103-aws-reinvent-2013
  • 30. Programowanie funkcyjne Input Function Output Input Function Output Input Function Output Input Function Output
  • 31. SQL
  • 32. Twoja opinia na temat mojej prelekcji jest dla mnie bardzo ważna. 1. Wejdź w mój wykład znajdujący się w agendzie w aplikacji Eventory. 2. Oceń moją prelekcję i dodaj swój komentarz. Dzięki temu będę wiedział/a, co Ci się podobało a co powinienem/am ulepszyć!