見出し画像

PySparkに感動した。

ずっとSQLをメインでデータ処理をしていた自分は昨年初めてHadoopのPySparkの使いやすさ、処理の速さに感動しました。

最初は慣れないコンピューター言語で少し時間がかかりましたが、今ではPySparkがお気に入りです。


何が良いかと言うと:
①データフレームの活用
SQLだと全部の処理を一度全て考えて、クエリを書かなきゃいけないのに対し、PySparkは処理を一行一行書いて行える。さすが!

例えを書いてみると。

SQL:

Select x,y,z, count(a)
From table
Where y=1
And x in (1,2,3)
Group by x,y, z

PySpark:

Test = Spark.table(‘table’).filter((col(‘y’)==1)&(col(col(‘x’).isin(1,2,3)))\
.groupby(col(‘x’), col(‘y’), col(‘z’)).agg(F.count(a)).show()

Sparkの良いところは、一行一行すぐに試せること。この例はシンプルだけど、何箇所のテーブルから全く違うデータを用意して最後に一つのデータにするなど複雑なデータ操作が必要になるとDF(データフレーム)でセクションごとに確認できるのがとてもいい。特に初めて使うテーブルなどを使用する時にはデータを確認しながらコードを書けるのでいいですね。

②やっぱり処理能力が早い!
データの量が多いと処理に時間がかかってましう。でもPySparkは本当に早い。しかもShellからのPySpark SubmitでバックグラウンドでコードをRunできるのもいいですね。

③テーブルの上書きができる
SQLでは一度テーブルを消してからじゃないとテーブルを変更できなかったのに対し、PySparkはOverwriteを使用して変更ができる!めっちゃいい。

などなど私は感動しました。PySpark関連の話もっと載せます。興味あったらフォローか好きくれると嬉しいです。私はカナダで働いていますが、日本で解析している方たちと是非繋がりたいです。どんなプロジェクトをしているのか気になります。


この記事が気に入ったらサポートをしてみませんか?