چگونه با استفاده از Athena فایل CSV ذخیره شده در AWS S3 را پرس و جو کنیم؟
CSV (مقادیر جدا شده با کاما) می تواند به عنوان یک پایگاه داده در نظر گرفته شود و داده ها را در قالب جدول ذخیره می کند. تا آنجا که من می دانم، CSV در همه جا استفاده شده است. از گزارشها گرفته تا یادگیری ماشین برای ذخیره مجموعه داده و موارد دیگر.
باور کنید یا نه، اکثر شرکت ها هنوز از CSV به عنوان “db” استفاده می کنند. سپس، وقتی در مورد داده صحبت می کنیم و شما یک تحلیلگر داده پرشور هستید، باید آن را با استفاده از SQL (در ابزارهای BI) تجزیه و تحلیل کنیم، بنابراین، اگر در محیط AWS کار می کنید، این مراحل را دنبال کنید.
1- یک فایل CSV آماده کنید
اگر قبلاً فایل CSV را در محلی خود دارید، از آن رد شوید.
- همانطور که ما از Python استفاده خواهیم کرد، پایتون را در محلی خود نصب کنید
- نصب جعلی کتابخانه برای دریافت داده های ساختگی
- CSV را با
'first_name', 'last_name', 'age'
به عنوان سربرگ - حالا پوشه را باز کنید و
dummy-data.csv
باید در داخل آن ایجاد شود
import csv
from faker import Faker
fake = Faker()
number_of_records = 8000
with open('dummy-data.csv', mode='w+') as file:
file_writer = csv.writer(file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)
file_writer.writerow(['first_name', 'last_name', 'age'])
for _ in range(number_of_records):
file_writer.writerow([fake.first_name(), fake.last_name(), fake.numerify("@#")])
2- یک سطل در آمازون S3 ایجاد کنید
اگر قبلاً یک سطل دارید از آن صرفنظر کنید و از سطل موجود استفاده کنید
- به AWS Console -> Search بروید
S3
-> کلیک کنیدCreate Bucket
- فیلدهای لازم را پر کنید -> ایجاد سطل
- سطل جدید ایجاد می شود. اکنون می توانید تصمیم بگیرید که آیا یک پوشه جدید در داخل سطل ایجاد کنید یا خیر. برای من، من می خواهم یک پوشه جداگانه برای داده های ساختگی داشته باشم. از این رو من ایجاد کردم
dummy_data
پوشه - کلیک
Create folder
- فیلدهای لازم را پر کنید -> ایجاد پوشه
- پوشه جدید در سطل ایجاد می شود
- اکنون، فایل csv. را با کشیدن به صفحه آپلود کنید
- می توانید برای مشاهده فایل CSV وارد شده، بازخوانی کنید یا به پوشه سطل برگردید
- لطفاً فراموش نکنید که برای ایجاد جدول آتنا، URI S3 پوشه را کپی کنید
3- یک جدول در AWS Athena ایجاد کنید
- ایجاد جدول در آتنا. باید ساختار جدول را تعریف کنید تا جدول آتنا بتواند ساختار داده در فایل CSV را بشناسد.
- کنسول مدیریت AWS
- AWS CLI
- برای این پست، من از کنسول مدیریت AWS استفاده می کنم. مانند سرویس S3، می توانید کنسول AWS خود را باز کرده و Athena را جستجو کنید.
- با استفاده از پرس و جو زیر جدول را پر کنید
CREATE EXTERNAL TABLE dummy_person (
first_name string,
last_name string,
age string
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
WITH SERDEPROPERTIES (
'separatorChar' = ',',
'quoteChar' = '"',
'escapeChar' = '\\'
)
LOCATION '[S3 URI]'
TBLPROPERTIES ("skip.header.line.count"="1");
جدول ایجاد می شود.
پرس و جوهای SQL را اجرا کنید تا بررسی کنید که داده ها پر شده است
select * from dummy_person
در این لحظه، شما می توانید داده ها را مشاهده کنید
در مرحله بعد، می توانید آتنا را به ابزارهای BI خود متصل کنید و شروع به توسعه داشبورد کنید