iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 13
0
AI & Data

AWS 數據處理與分析實戰系列 第 13

Day 13 Athena 教學

  • 分享至 

  • xImage
  •  

在前面有提到透過 Glue Data Catalog 爬取 S3 的資料後,再透過 Athena 進行查詢

而今天要介紹 Athena 在不透過 Glue Data Catalog 的情形下如何查詢 S3 的資料

首先我們還是一樣使用 order.csv 這個檔案當作資料源,將他上傳到S3後就可以開始 Athena 的設定,切記要使用一個資料夾將檔案放在裡面

接下來我們回到 Athena 的頁面,在查詢框裡輸入以下 SQL 語法,LOCATION 的部分要記得改為你自己的 S3 路徑,其他部分保持不動就可以了

CREATE EXTERNAL TABLE athena_test (
order_id bigint,
user_id bigint,
eval_set string,
order_number bigint,
order_dow bigint,
order_hour_of_day bigint,
days_since_prior_order double
)

ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
ESCAPED BY '\\'
LINES TERMINATED BY '\n'
LOCATION 's3://it.sample.s3/SampleData/order/'
TBLPROPERTIES ("skip.header.line.count"="1")

執行後可以看到左邊的 table 區域會多出 athena_test 這張 table

https://ithelp.ithome.com.tw/upload/images/20200924/2012923693Zgag6SD4.png
再來點選右邊的選單在點選 Preview table,試著查詢 10 筆資料,看是否可以正常顯示

https://ithelp.ithome.com.tw/upload/images/20200924/20129236AxCoA6w0tG.png

查詢成功後你應該會看到以下畫面

https://ithelp.ithome.com.tw/upload/images/20200924/20129236cLBGsRtAlr.png

這個方法通常會使用在臨時需要查詢 log 或是 csv 資料時使用,例如 Apache log,今天你可能需要找出 近三天 log 中的特定IP或訪問的網址,這時 Athena 就非常的方便,只要將資料上傳 S3 並透過 Athena 創建虛擬 Table ,之後就可以使用 SQL 進行查詢得到所需的結果


上一篇
Day 12 Glue Partition 教學 - Part 2
下一篇
Day 14 Glue ETL Job 教學 - Part 1
系列文
AWS 數據處理與分析實戰30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言