勉強前イメージ
s3のデータをselect出来るっぽい名前してる。
でもそれだったらAthenaとの違いは?
調査
s3 select とは
S3バケット内に保存したオブジェクトに対し
SQL文を用いてデータの一部分を取り出すことができるサービスです。
使い方
- 事前準備
s3バケットに以下のCSVファイルをアップロードしておきます。
"Name", "Birthday", "Score"
"Sato", "02/03", 24
"Suzuki", "05/12", 29
"Takahashi", "10/06", 14
"tanaka", "5/2", 19
- S3 Select に進む
s3バケットからselectしたいファイルを選んで、
アクション > S3 Selectを使用したクエリ に進みます
- select の詳細を記載
- 実行(デフォルト)
SQLクエリには、まずデフォルトで入っていた以下のクエリを実行します。
SELECT * FROM s3object s LIMIT 5
するとすぐ下にクエリ結果が出てきます。
- 実行(select文記載)
それでは次に、以下にデフォルト以外のselect文を記載して実行してみます。
SELECT Name FROM s3object s LIMIT 2
簡単なクエリであればこれで実行することが出来ます。
Athenaとの違い
同じs3のオブジェクトの中身を実行することが出来るサービスとして、Athenaがあります。
Athenaとの違いとしては以下です。
-
S3 Select
- 単一ファイルのみ実施可能(複数ファイルは不可)
- 機能が少ない
-
Athena
- 複数ファイルを対象(ディレクトリごと)
- クエリ機能も充実
大規模なログとかselectするなら、Athenaで
ちょっとしたファイルを検索したいなーくらいだったらS3 Selectを使うって選択肢になりそう。
勉強後イメージ
今までAthenaしかないと思ってたけど、s3でもselect出来るのか・・・
正直あまりユースケースが思い浮かばないけど、どんなときなんだろう