Google GCP(Google版AWS)のDataflowサービスを使ってみました。 Dataflowとは、その名の通り、膨大なデータをGoogleご自慢の分散環境を使用して並列で爆速処理してくれる、ビッグクエリーと同じGCPのマネージドサービスの1つです。 使用できるオフィシャルなプログラミング言語は、JavaとPythonのみですが、 Spotifyから、ScioというScalaのライブラリが提供されていますので今回使用してみました。 Dataflowでは、パイプラインを作成し、入力、変換1、変換2...変換N、出力の3ステップで構成します。関数型言語のScalaは、変換ロジックをラムダ式でコンパクトに記述できるため、Javaよりもコード量が少なくて済みます。 Spotifyでは、KafkaからDataflowへ移行する際に、Scalaで記述できるようにScioライブラリを開発した
 
      
   
     
       
      ![[pandas] read_csv のオプションだけで、時系列データとして扱いやすいデータフレームを作成する - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/fa446705070c517711baeca8a1e4eea0f6cfe0bc/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fqiita-user-contents.imgix.net%252Fhttps%25253A%25252F%25252Fcdn.qiita.com%25252Fassets%25252Fpublic%25252Farticle-ogp-background-afbab5eb44e0b055cce1258705637a91.png%253Fixlib%253Drb-4.0.0%2526w%253D1200%2526blend64%253DaHR0cHM6Ly9xaWl0YS11c2VyLXByb2ZpbGUtaW1hZ2VzLmltZ2l4Lm5ldC9odHRwcyUzQSUyRiUyRnFpaXRhLWltYWdlLXN0b3JlLnMzLmFtYXpvbmF3cy5jb20lMkYwJTJGNDgxMzMlMkZwcm9maWxlLWltYWdlcyUyRjE1MzE3MzcwMjI_aXhsaWI9cmItNC4wLjAmYXI9MSUzQTEmZml0PWNyb3AmbWFzaz1lbGxpcHNlJmJnPUZGRkZGRiZmbT1wbmczMiZzPTEzYzdjY2MwNmQ3MzRmMzRmMDMxZmI5NWZhOGNmN2Q2%2526blend-x%253D120%2526blend-y%253D467%2526blend-w%253D82%2526blend-h%253D82%2526blend-mode%253Dnormal%2526s%253D9c5a8d4a7245cb76e8c08e25cd7177c9%3Fixlib%3Drb-4.0.0%26w%3D1200%26fm%3Djpg%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk2MCZoPTMyNCZ0eHQ9JTVCcGFuZGFzJTVEJTIwcmVhZF9jc3YlMjAlRTMlODElQUUlRTMlODIlQUElRTMlODMlOTclRTMlODIlQjclRTMlODMlQTclRTMlODMlQjMlRTMlODElQTAlRTMlODElOTElRTMlODElQTclRTMlODAlODElRTYlOTklODIlRTclQjMlQkIlRTUlODglOTclRTMlODMlODclRTMlODMlQkMlRTMlODIlQkYlRTMlODElQTglRTMlODElOTclRTMlODElQTYlRTYlODklQjElRTMlODElODQlRTMlODIlODQlRTMlODElOTklRTMlODElODQlRTMlODMlODclRTMlODMlQkMlRTMlODIlQkYlRTMlODMlOTUlRTMlODMlQUMlRTMlODMlQkMlRTMlODMlQTAlRTMlODIlOTIlRTQlQkQlOUMlRTYlODglOTAlRTMlODElOTklRTMlODIlOEImdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzFFMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZ0eHQtcGFkPTAmcz1iMmQxN2YzMjBhMmY3YmZkZGIyMDBlNTQxMzk0OWNkOQ%26mark-x%3D120%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTgzOCZoPTU4JnR4dD0lNDBhb19sb2cmdHh0LWNvbG9yPSUyMzFFMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtcGFkPTAmcz1lNWYyNWExYmQ2ZGIzOWVjYzM5ZmE0YjVjNzk5ODllZA%26blend-x%3D242%26blend-y%3D480%26blend-w%3D838%26blend-h%3D46%26blend-fit%3Dcrop%26blend-crop%3Dleft%252Cbottom%26blend-mode%3Dnormal%26s%3Dd2845e9353d366b1aab7f4858e1b6d61) 
       
       
      ![[pd.read_csv] IsADirectoryError: [Errno 21] Is a directory: '[パス名]/.AppleDouble' - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/3ec91501cc0133d56a8b2cbd7e50afa9bc985288/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fqiita-user-contents.imgix.net%252Fhttps%25253A%25252F%25252Fcdn.qiita.com%25252Fassets%25252Fpublic%25252Farticle-ogp-background-afbab5eb44e0b055cce1258705637a91.png%253Fixlib%253Drb-4.0.0%2526w%253D1200%2526blend64%253DaHR0cHM6Ly9xaWl0YS11c2VyLXByb2ZpbGUtaW1hZ2VzLmltZ2l4Lm5ldC9odHRwcyUzQSUyRiUyRnFpaXRhLWltYWdlLXN0b3JlLnMzLmFwLW5vcnRoZWFzdC0xLmFtYXpvbmF3cy5jb20lMkYwJTJGMTkxMzEzJTJGcHJvZmlsZS1pbWFnZXMlMkYxNjI3NDI5ODQ4P2l4bGliPXJiLTQuMC4wJmFyPTElM0ExJmZpdD1jcm9wJm1hc2s9ZWxsaXBzZSZiZz1GRkZGRkYmZm09cG5nMzImcz0wOTU4YTQ5OTBjN2Q4ZDI1YmY1ZDk0ZjkyZmVjMGEwMg%2526blend-x%253D120%2526blend-y%253D467%2526blend-w%253D82%2526blend-h%253D82%2526blend-mode%253Dnormal%2526s%253D96084ab9ae8d4396617faafaacbf45b3%3Fixlib%3Drb-4.0.0%26w%3D1200%26fm%3Djpg%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk2MCZoPTMyNCZ0eHQ9JTVCcGQucmVhZF9jc3YlNUQlMjBJc0FEaXJlY3RvcnlFcnJvciUzQSUyMCU1QkVycm5vJTIwMjElNUQlMjBJcyUyMGElMjBkaXJlY3RvcnklM0ElMjAlMjclNUIlRTMlODMlOTElRTMlODIlQjklRTUlOTAlOEQlNUQlMkYuQXBwbGVEb3VibGUlMjcmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzFFMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZ0eHQtcGFkPTAmcz0yNjkwMTlhMDU1MWJmMDZiNjg4MDk2MDE0ODk3ZTE3Yw%26mark-x%3D120%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTgzOCZoPTU4JnR4dD0lNDBjdl9jYXJuYXZpJnR4dC1jb2xvcj0lMjMxRTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LXBhZD0wJnM9MDI2Yzc5ZGQwNGJkZWYxY2UyNTE3NjE0ZjZiMDcxY2M%26blend-x%3D242%26blend-y%3D480%26blend-w%3D838%26blend-h%3D46%26blend-fit%3Dcrop%26blend-crop%3Dleft%252Cbottom%26blend-mode%3Dnormal%26s%3Dd02a50b097147c6673620d7166794487) 
       
       
       
       
       
       
       
       
       
       
       
      

