Cloud & IT Cert Prep · पाठ

Amazon Athena: S3 पर सर्वररहित SQL

Athena में मानक SQL से सीधे S3 डेटा की क्वेरी कीजिए, Parquet और ORC जैसे स्तंभ-आधारित प्रारूपों से अनुकूलन कीजिए और लागत नियंत्रण के लिए विभाजन कीजिए।

पाठ 3, कुल 4 में से13 चरण

Amazon Athena: S3 पर सर्वररहित SQL, CoddyKit पर Cloud & IT Cert Prep का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Cloud & IT Cert Prep सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Cloud & IT Cert Prep पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

Amazon Athena क्या है

Amazon Athena एक सर्वररहित, इंटरैक्टिव क्वेरी सेवा है, जो आपको Amazon S3 में संग्रहीत डेटा पर सीधे मानक SQL चलाने देती है। इसमें सर्वर का प्रावधान करने या क्लस्टर प्रबंधित करने की आवश्यकता नहीं होती, और आप प्रत्येक क्वेरी द्वारा स्कैन किए गए डेटा के लिए ही भुगतान करते हैं (लगभग $5 प्रति स्कैन किए गए TB)। Athena अंदरूनी रूप से Presto का उपयोग करता है और तालिका मेटाडेटा के लिए Glue Data Catalogue के साथ मूल रूप से एकीकृत होता है।

Athena सेट अप करना: Workgroups और आउटपुट स्थान

क्वेरी चलाने से पहले, एक Athena Workgroup कॉन्फ़िगर करें और क्वेरी परिणामों के आउटपुट के लिए S3 पथ निर्दिष्ट करें। Workgroups आपको टीमों के बीच क्वेरी इतिहास और लागत-ट्रैकिंग अलग रखने, परिणामों पर एन्क्रिप्शन लागू करने और प्रति-क्वेरी डेटा-स्कैन सीमाएँ निर्धारित करने देते हैं, ताकि अनियंत्रित लागत रोकी जा सके। प्रत्येक क्वेरी का परिणाम कॉन्फ़िगर किए गए S3 आउटपुट बकेट में CSV के रूप में लिखा जाता है।

# Create a workgroup with an encrypted output location
aws athena create-work-group \
  --name analytics-team \
  --configuration '{
    "ResultConfiguration": {
      "OutputLocation": "s3://athena-results-123/analytics-team/",
      "EncryptionConfiguration": {"EncryptionOption": "SSE_S3"}
    },
    "EnforceWorkGroupConfiguration": true,
    "PublishCloudWatchMetricsEnabled": true,
    "BytesScannedCutoffPerQuery": 10737418240
  }'

अपनी पहली क्वेरी चलाना

Athena को Glue Data Catalogue डेटाबेस से जोड़ें और ANSI SQL चलाएँ। Athena SELECT, JOIN, GROUP BY, विंडो फ़ंक्शन और CTE का समर्थन करता है। आप CREATE TABLE AS SELECT (CTAS) का उपयोग करके क्वेरी परिणामों को Parquet फ़ॉर्मैट में नई तालिका के रूप में सहेज सकते हैं। इससे मध्यवर्ती परिणाम स्थायी रूप से तैयार हो जाते हैं और बाद की क्वेरी तेज़ चलती हैं।

-- Query total sales by month from partitioned S3 data
SELECT
  year,
  month,
  SUM(order_total) AS monthly_revenue
FROM my_db.curated_sales
WHERE year = '2024'
GROUP BY year, month
ORDER BY month;

-- CTAS: materialise result as Parquet for reuse
CREATE TABLE my_db.monthly_revenue
WITH (format = 'PARQUET', external_location = 's3://my-data-lake-123/curated/monthly_revenue/')
AS
SELECT year, month, SUM(order_total) AS revenue
FROM my_db.curated_sales
GROUP BY year, month;

लागत अनुकूलन: Partition Pruning

Athena स्कैन किए गए प्रत्येक TB के आधार पर शुल्क लेता है। लागत घटाने का सबसे प्रभावी तरीका partition pruning है: अपनी WHERE शर्त में हमेशा partition कॉलम शामिल करें। यदि डेटा year/month/day के आधार पर विभाजित है, तो इन कॉलम पर फ़िल्टर लगाने से Athena अन्य partitions को स्कैन करने से बचता है। पेटाबाइट-स्तर की तालिका में partition फ़िल्टर के बिना एक साधारण क्वेरी की लागत सैकड़ों डॉलर हो सकती है।

-- EXPENSIVE: No partition filter -> scans all data
SELECT * FROM my_db.curated_sales WHERE customer_id = '12345';

-- CHEAP: Partition filter applied -> scans only Jan 2024
SELECT * FROM my_db.curated_sales
WHERE year = '2024' AND month = '01' AND customer_id = '12345';

लागत अनुकूलन: कॉलमर फ़ॉर्मैट

डेटा को CSV या JSON के बजाय Apache Parquet या ORC में संग्रहीत करने से Athena द्वारा प्रति क्वेरी स्कैन किए जाने वाले डेटा की मात्रा बहुत कम हो जाती है। 50 में से केवल 3 कॉलम वाली कॉलमर क्वेरी डिस्क पर केवल उन्हीं 3 कॉलम का डेटा स्कैन करती है। अंतर्निहित संपीड़न (Snappy, Zstd) के साथ Parquet फ़ाइलें आम तौर पर समकक्ष CSV से 5–10 गुना छोटी होती हैं, जिससे लागत में कई गुना बचत होती है।

-- After converting raw CSV to Parquet:
-- CSV version: 500 GB table, query scans 500 GB -> $2.50
-- Parquet version: same data compressed to 50 GB,
--   query reads only 2 columns -> scans ~2 GB -> $0.01

-- Verify table format in Glue Catalogue
SHOW CREATE TABLE my_db.curated_sales;

Data Source Connectors के साथ Federated Queries

Athena Federated Query, Lambda-आधारित data source connectors का उपयोग करके Athena की क्षमता S3 से आगे बढ़ाता है और RDS, DynamoDB, Redshift, Elasticsearch तथा कस्टम स्रोतों में डेटा पर क्वेरी चलाने देता है। आप Serverless Application Repository से connector Lambda फ़ंक्शन परिनियोजित करते हैं, उसे Athena data source के रूप में पंजीकृत करते हैं और फिर डेटा को पहले स्थानांतरित किए बिना एक ही SQL JOIN में S3 तालिकाओं और सक्रिय डेटाबेसों पर क्वेरी चला सकते हैं।

-- Federated query: join S3 Parquet with live RDS table
SELECT s.order_id, s.total, c.email
FROM my_db.curated_sales s
JOIN rds_lambda.prod_db.customers c
  ON s.customer_id = c.id
WHERE s.year = '2024' AND s.month = '01';

Athena और QuickSight का एकीकरण

Amazon QuickSight data source के रूप में सीधे Athena से जुड़ता है, जिससे व्यावसायिक विश्लेषक किसी मध्यवर्ती डेटाबेस के बिना S3 डेटा से इंटरैक्टिव डैशबोर्ड बना सकते हैं। QuickSight तेज़ डैशबोर्ड रेंडरिंग के लिए Athena क्वेरी परिणामों को कैश करने हेतु SPICE (Super-fast, Parallel, In-memory Calculation Engine) का उपयोग करता है। यह सर्वररहित BI स्टैक (S3 + Glue + Athena + QuickSight) कम लागत वाले विश्लेषण के लिए परीक्षा में अक्सर दिखाई देने वाला पैटर्न है।

Athena क्वेरी के प्रदर्शन को बेहतर बनाना

Partitioning और कॉलमर फ़ॉर्मैट के अलावा, Athena क्वेरी को बेहतर बनाने के लिए ये उपाय करें: बड़ी फ़ाइलों को विभाजित करें (समानांतर प्रोसेसिंग के लिए प्रत्येक फ़ाइल 128 MB–1 GB रखने का लक्ष्य रखें), अक्सर JOIN किए जाने वाले कॉलम के लिए bucketing का उपयोग करें, SELECT * से बचें और जब सटीक मान आवश्यक न हों, तो approx_distinct() तथा approx_percentile() जैसे अनुमानित aggregate functions का उपयोग करें। ये तकनीकें लागत और विलंबता दोनों घटाती हैं।

-- Use approx_distinct for fast cardinality estimate
SELECT
  year,
  approx_distinct(customer_id) AS approx_unique_customers
FROM my_db.curated_sales
WHERE year = '2024'
GROUP BY year;

Athena तक पहुँच नियंत्रित करना

Athena पहुँच नियंत्रण के लिए IAM के साथ एकीकृत होता है: उपयोगकर्ताओं को Athena क्वेरी चलाने (athena:StartQueryExecution), S3 आउटपुट बकेट तक पहुँचने और अंतर्निहित S3 डेटा पढ़ने की अनुमतियाँ चाहिए। सूक्ष्म-स्तरीय कॉलम और पंक्ति पहुँच के लिए Athena को Lake Formation के साथ संयोजित करें। आप Workgroup ARN पर IAM condition keys के माध्यम से किसी workgroup को विशिष्ट डेटाबेस तक भी सीमित कर सकते हैं।

# Minimum IAM policy for an Athena analyst
{
  "Effect": "Allow",
  "Action": [
    "athena:StartQueryExecution",
    "athena:GetQueryExecution",
    "athena:GetQueryResults",
    "athena:StopQueryExecution",
    "glue:GetDatabase",
    "glue:GetTable",
    "glue:GetPartitions",
    "s3:GetObject",
    "s3:PutObject"
  ],
  "Resource": "*"
}

क्वेरी परिणाम सहेजना और Scheduled Queries

Athena क्वेरी परिणाम S3 में CSV फ़ाइलों के रूप में संग्रहीत होते हैं और 7 दिनों तक कैश किए जाते हैं, इसलिए उस अवधि में समान क्वेरी दोबारा चलाने पर डेटा फिर से स्कैन नहीं होता। नियमित रिपोर्टिंग की आवश्यकताओं के लिए Athena Scheduled Queries का उपयोग करके किसी cron शेड्यूल पर क्वेरी चलाएँ और परिणामों को नए S3 स्थान या सीधे किसी तालिका में सहेजें। वैकल्पिक रूप से, Step Functions state machine या EventBridge rule से Athena क्वेरी शुरू करें।

# Start an Athena query via CLI and retrieve results
QUERY_ID=$(aws athena start-query-execution \
  --query-string 'SELECT COUNT(*) FROM my_db.curated_sales WHERE year=2024' \
  --work-group analytics-team \
  --query 'QueryExecutionId' --output text)

# Wait and fetch results
aws athena get-query-results --query-execution-id $QUERY_ID

Athena बनाम Redshift: सही टूल चुनना

SAA-C03 परीक्षा के लिए जानें कि Athena की तुलना में Redshift की अनुशंसा कब करनी है। S3 पर बिना किसी इन्फ्रास्ट्रक्चर को प्रबंधित किए तदर्थ और कभी-कभार चलने वाली क्वेरी के लिए Athena चुनें। जटिल JOIN पर एक सेकंड से कम प्रतिक्रिया समय चाहिए, समर्पित विश्लेषण टीम सैकड़ों समवर्ती क्वेरी चलाती है, या S3 डेटा के साथ डेटा वेयरहाउस बढ़ाने के लिए Redshift Spectrum का उपयोग करना चाहते हैं, तो Redshift चुनें। मुख्य संकेत क्वेरी की आवृत्ति और जटिलता है।

त्वरित जाँच

इस पाठ में दिए गए AWS Solutions Architect (SAA-C03) की अवधारणाओं की अपनी समझ जाँचिए।

पाठ का पुनरावलोकन

इस पाठ में आपने सीखा: Athena प्रति स्कैन किए गए TB के लिए शुल्क लेता है, इसलिए partition pruning और Parquet फ़ॉर्मैट आवश्यक लागत नियंत्रण हैं, Athena Federated Query Lambda connectors के माध्यम से SQL को गैर-S3 डेटा स्रोतों तक विस्तारित करता है, और Athena तदर्थ क्वेरी के लिए सबसे अच्छा है, जबकि Redshift उच्च-समवर्ती विश्लेषण के लिए उपयुक्त है। आगे हम रीयल-टाइम डेटा स्ट्रीमिंग और विश्लेषण के लिए Kinesis का अध्ययन करेंगे।

शुरुआत निःशुल्क

एआई शिक्षक के साथ Cloud & IT Cert Prep सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
150
पाठ
600

अक्सर पूछे जाने वाले प्रश्न

क्या “Amazon Athena: S3 पर सर्वररहित SQL” पाठ निःशुल्क है?

हाँ—“Amazon Athena: S3 पर सर्वररहित SQL” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Cloud & IT Cert Prep पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Cloud & IT Cert Prep पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“Amazon Athena: S3 पर सर्वररहित SQL” में मैं क्या सीखूँगा?

Athena में मानक SQL से सीधे S3 डेटा की क्वेरी कीजिए, Parquet और ORC जैसे स्तंभ-आधारित प्रारूपों से अनुकूलन कीजिए और लागत नियंत्रण के लिए विभाजन कीजिए। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Cloud & IT Cert Prep का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Cloud & IT Cert Prep शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Cloud & IT Cert Prep शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।

“Amazon Athena: S3 पर सर्वररहित SQL” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Cloud & IT Cert Prep पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Cloud & IT Cert Prep पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. S3 पर डेटा लेक बनाना
  2. AWS Glue: ETL और डेटा कैटलॉग
  3. Amazon Athena: S3 पर सर्वररहित SQL
  4. Kinesis Streams, Firehose और रीयल-टाइम विश्लेषण
← Cloud & IT Cert Prep पर वापस जाएँ