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関連の話もっと載せます。興味あったらフォローか好きくれると嬉しいです。私はカナダで働いていますが、日本で解析している方たちと是非繋がりたいです。どんなプロジェクトをしているのか気になります。
この記事が気に入ったらサポートをしてみませんか?