------------------------------------------------------------------------------------ Copyright <first-edit-year> Amazon.com, Inc. or its affiliates. All Rights Reserved. SPDX-License-Identifier: MIT-0 ------------------------------------------------------------------------------------ # Athena ã«ãŠã‘るクエリ比較ã®è£œè¶³èª¬æ˜Ž ## JSON å½¢å¼ vs JSON å½¢å¼ï¼ˆãƒ‘ーティション) vs Parquet å½¢å¼ vs Parquet å½¢å¼ï¼ˆãƒ‘ーティション) ### 1. JSON å½¢å¼ <img src="images/JSON_nopartition.png"> **[クエリ例]** ``` SELECT count(user) FROM "minilake"."minilake_in1" where user = 'uchida' and timestamp >= '2019-09-27 13%' AND timestamp <= '2019-09-27 21%'; ``` ### 2. JSON å½¢å¼ï¼ˆå¹´ãƒ»æœˆãƒ»æ—¥ãƒ»æ™‚é–“ã§ãƒ‘ーティション) <img src="images/JSON_partition.png"> **[クエリ例]** ``` SELECT count(user) FROM "minilake"."minilake_in1" where user = 'uchida' and partition_0 = '2019' AND partition_1 = '09' AND partition_2 = '27' AND partition_3 >= '13' AND partition_3 <= '21'; ``` ### 3. Parquet å½¢å¼ <img src="images/Parquet_nopartition.png"> **[クエリ例]** ``` SELECT count(user) FROM "minilake"."minilake_out1" where user = 'uchida' and timestamp >= '2019-09-27 13%' AND timestamp <= '2019-09-27 21%'; ``` ### 4. Parquet å½¢å¼ï¼ˆãƒ¦ãƒ¼ã‚¶ãƒ¼ãƒ»å¹´ãƒ»æœˆãƒ»æ—¥ãƒ»æ™‚é–“ã§ãƒ‘ーティション) <img src="images/Parquet_partition.png"> **[クエリ例]** ``` SELECT count(user) FROM "minilake"."minilake_out2" where user = 'uchida' and timestamp >= '2019-09-27 13%' AND timestamp <= '2019-09-27 21%'; ``` **Athena ã¯ã‚¹ã‚ャンã—ãŸãƒ‡ãƒ¼ã‚¿é‡ã«ã‚ˆã‚‹èª²é‡‘ã§ã‚ã‚‹ãŸã‚ã€ã‚¹ã‚ャンé‡ãŒã™ããªã‘れã°ã‚³ã‚¹ãƒˆã‚‚ä½ŽãæŠ‘ãˆã‚‰ã‚Œã¾ã™ã€‚多ãã®å ´åˆã€ã‚¹ã‚ャンé‡ãŒå°‘ãªã‘れã°ãƒ‘フォーマンスå‘上ã«ã‚‚ã¤ãªãŒã‚Šã¾ã™ã€‚** èªã¿å–ã‚‹é‡ã‚’減らã™å·¥å¤«ã®ãŸã‚ã«ã€ãƒ‘ーティションã€åœ§ç¸®ã€ã‚«ãƒ©ãƒ ナフォーマットを利用ã—ã¾ã™ã€‚å‚è€ƒæƒ…å ±ã¯[ã“ã¡ã‚‰](https://aws.amazon.com/jp/blogs/news/top-10-performance-tuning-tips-for-amazon-athena/)ã‚’å‚ç…§ãã ã•ã„。