0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

はじめてのAthena

Posted at

はじめてのAthena

webサイトの訪問ログがs3に溜まっていくことになったので、Athenaを使ってみることに。
はじめてのAthenaを使う色々を自分用にメモ。

#テーブルを作る
最初なので、GUIで作る(2回目以降はSQLで作った方が楽ちん)

step0
create table > from S3 bucket data
スクリーンショット 2020-04-09 17.06.53.png

step1
DB名、Table名、データの取得場所を入力
※ フォルダを指定すると、中にある該当ファイルが取り込まれる
スクリーンショット 2020-04-09 17.15.45.png

step2
ファイルフォーマットを指定
スクリーンショット 2020-04-09 17.46.23.png

step3
Columnを設定。ひとつずつプルダウンで選べるけど、多いと大変なので一気に入力
スクリーンショット 2020-04-09 17.47.38.png

step4
Partitionに使うColumnを決める。最初なので、いったんそのままで。
スクリーンショット 2020-04-09 17.49.13.png

step5
createでテーブル作成
作成と同時に作成に使われたSQLが表示されるので、次回以降はこれを修正しながら作るのが早い
GUIでヘッダーをスキップする方法が見つからないので、結局SQLでつくり直し:upside_down:

CREATE EXTERNAL TABLE IF NOT EXISTS <Database>.<Table> (
  `id` string 
  ...
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
WITH SERDEPROPERTIES (
  'serialization.format' = ',',
  'field.delim' = ','
) LOCATION 's3://XXXXXXXX'
TBLPROPERTIES (
  'has_encrypted_data'='false',  # 暗号化するか否か
  'skip.header.line.count'='1'   # ヘッダーをスキップ
);

Database, Tableを削除

DROP DATABASE `DB_name`; # DBを削除
DROP TABLE `table_name`; # Tableを削除

TIMESTAMP分割

useragentわける

https://qiita.com/nightyknite/items/b2590a69f2e0135756dc
https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/r_CASE_function.html

そのうち使いそう

サブクエリからの配列の作成
https://docs.aws.amazon.com/ja_jp/athena/latest/ug/creating-arrays-from-subqueries.html

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?