برنامه نویسی

چگونه با استفاده از Athena فایل CSV ذخیره شده در AWS S3 را پرس و جو کنیم؟

CSV (مقادیر جدا شده با کاما) می تواند به عنوان یک پایگاه داده در نظر گرفته شود و داده ها را در قالب جدول ذخیره می کند. تا آنجا که من می دانم، CSV در همه جا استفاده شده است. از گزارش‌ها گرفته تا یادگیری ماشین برای ذخیره مجموعه داده و موارد دیگر.

باور کنید یا نه، اکثر شرکت ها هنوز از CSV به عنوان “db” استفاده می کنند. سپس، وقتی در مورد داده صحبت می کنیم و شما یک تحلیلگر داده پرشور هستید، باید آن را با استفاده از SQL (در ابزارهای BI) تجزیه و تحلیل کنیم، بنابراین، اگر در محیط AWS کار می کنید، این مراحل را دنبال کنید.


لوگوی AWS

1- یک فایل CSV آماده کنید

اگر قبلاً فایل CSV را در محلی خود دارید، از آن رد شوید.

  1. همانطور که ما از Python استفاده خواهیم کرد، پایتون را در محلی خود نصب کنید
  2. نصب جعلی کتابخانه برای دریافت داده های ساختگی
  3. CSV را با 'first_name', 'last_name', 'age' به عنوان سربرگ
  4. حالا پوشه را باز کنید و 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 ایجاد کنید

اگر قبلاً یک سطل دارید از آن صرفنظر کنید و از سطل موجود استفاده کنید

  1. به AWS Console -> Search بروید S3 -> کلیک کنید Create Bucket ایجاد سطل
  2. فیلدهای لازم را پر کنید -> ایجاد سطل
    فیلدها را پر کنید
  3. سطل جدید ایجاد می شود. اکنون می توانید تصمیم بگیرید که آیا یک پوشه جدید در داخل سطل ایجاد کنید یا خیر. برای من، من می خواهم یک پوشه جداگانه برای داده های ساختگی داشته باشم. از این رو من ایجاد کردم dummy_data پوشه
  4. کلیک Create folder
    پرونده بساز
  5. فیلدهای لازم را پر کنید -> ایجاد پوشه
  6. پوشه جدید در سطل ایجاد می شود
  7. اکنون، فایل csv. را با کشیدن به صفحه آپلود کنید
    آپلود فایل
  8. می توانید برای مشاهده فایل CSV وارد شده، بازخوانی کنید یا به پوشه سطل برگردید
    توضیحات تصویر
  9. لطفاً فراموش نکنید که برای ایجاد جدول آتنا، URI S3 پوشه را کپی کنید

3- یک جدول در AWS Athena ایجاد کنید

  1. ایجاد جدول در آتنا. باید ساختار جدول را تعریف کنید تا جدول آتنا بتواند ساختار داده در فایل CSV را بشناسد.
    1. کنسول مدیریت AWS
    2. AWS CLI
  2. برای این پست، من از کنسول مدیریت AWS استفاده می کنم. مانند سرویس S3، می توانید کنسول AWS خود را باز کرده و Athena را جستجو کنید.
  3. با استفاده از پرس و جو زیر جدول را پر کنید
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 خود متصل کنید و شروع به توسعه داشبورد کنید

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا