آموزش Apache Superset

آموزش Apache Superset

نوشته شده توسط: تیم فنی نیک آموز
۱۶ بهمن ۱۴۰۰
زمان مطالعه: 10 دقیقه
۵
(۱)

مقدمه

در اکثر شرکت‌ها، کاربران نهایی یک انبار داده، تحلیلگران، دانشمندان داده و افراد تجاری هستند. بصری‌سازی داده‌ها ابزاری قدرتمند برای کمک به انسان در درک الگوهای موجود در داده‌ها می‌کند. هنگام بررسی داده‌ها، کاربران نهایی ابزاری را ترجیح می‌دهند که به آنها کمک کند تجسم کنند، داشبوردهایی را بر اساس داده‌ها ایجاد کنند و بتوانند تصاویر خود را با سایر کاربران به اشتراک بگذارند.

اگر سوالات زیر ذهن شما را به خود مشغول داشته‌اند،

  • یک جایگزین منبع باز خوب برای ابزارهای گران قیمت هوش تجاری مانند Looker کدام است؟
  • چگونه با Apache Superset شروع کنیم؟

باید گفت این مقاله دقیقا مناسب شماست. چون در این مقاله قصد داریم، به معماری Apache Superset بپردازیم، به یک انبار داده متصل شویم و نحوه ساخت نمودارها و داشبوردها را یاد بگیریم.

Apache Superset شامل کامپوننت های زیر است

  • وب سرور (می‌تواند چندین نمونه را اجرا کند)
  • پایگاه داده Metadata
  • Cache layer لایه کش
  • صف پیام برای کوئری‌های ناهمگام

وب سرور یک اپلیکیشن flask python است که از SQLalchemy ORM برای اتصال به هر پایگاه داده استفاده می‌کند. ما می‌توانیم انبارهای داده را برای اتصال به آن پیکربندی کنیم.

نصب

ما از docker-compose برای توسعه زیرساخت محلی خود استفاده خواهیم کرد. پیش نیازها عبارتند از:

  • docker
  • git
git clone https://github.com/josephmachado/sde_superset_demo.git
cd sde_superset_demo
docker-compose up –d

ما در اینجا از یک کانتینر داکر برای Superset استفاده خواهیم کرد. این اساساً وب سرور، SQLlite db را برای پایگاه داده متادیتا اجرا می‌کند و ما همچنین یک نمونه Postgres را برای انبار داده خود ایجاد می‌کنیم. از آنجایی که قرار نیست کوئری های طولانی را اجرا کنیم، می‌توانیم از قسمت اجرای ناهمگام صرف نظر کنیم.

چند دقیقه به کانتینرها فرصت دهید تا تنظیم شوند و سپس به آدرس http://localhost:8080 مراجعه کنید تا نمونه Apache Superset خود را ببینید. نام کاربری و رمز عبور به صورت زیر خواهد بود.username: adminpassword: superset

در پوشه sde_superset_demo یک فولدر داده با مقداری داده مشاهده خواهید کرد. در فایل docker-compose مشاهده می کنید که فولدر داده را در این خط ./data:/data در کانتینر قرار داده است

کانتینر رسمی Postgres شامل یک ویژگی راه‌اندازی است که هر کوئری را که در فولدر /docker-entrypoint-initdb.d کانتینر باشد بلافاصله پس از راه‌اندازی کانتینر اجرا می‌کند. ما از این روال برای ایجاد یک شِما، یک جدول و بارگذاری داده‌ها از فایل adult.data استفاده می‌کنیم.

اگر به فایل init.SQLنگاه کنید، اسکریپت ایجاد جدول را خواهید دید.

CREATE SCHEMA clickstream;
DROP TABLE IF EXISTS clickstream.people;
CREATE TABLE IF NOT EXISTS clickstream.people (
age INT,
workclass VARCHAR(100),
fnlwgt BIGINT,
education VARCHAR(100),
education_num INT,
marital_status VARCHAR(100),
occupation VARCHAR(100),
relationship VARCHAR(100),
race VARCHAR(100),
sex VARCHAR(100),
capital_gain INT,
capital_loss INT,
hours_per INT,
native_country VARCHAR(100),
earnings VARCHAR(50)
);
COPY clickstream.people
FROM '/data/adult.data' DELIMITER ',';

شروع استفاده از Apache Superset

اکنون که راه‌اندازی زیرساخت محلی خود را به انجام رساندیم، می‌توانیم از Apache Superset برای ایجاد داشبورد و استخراج داده‌های خود استفاده کنیم.

  • اتصال به انبار داده

ابتدا باید به انبار داده اتصالی را برقرار کنیم. از آنجایی که وب سرور از sql alchemy استفاده می‌کند و ما از postgres برای انبار داده خود استفاده می‌کنیم، می‌توانیم یک رشته اتصال با استفاده از کتابخانه Psycopg ایجاد کنیم. رشته اتصال به صورت زیر است.

postgresql+psycopg2://sde:password@warehouse:5432/warehouse

فرمت اصلی رشته اتصال به صورت زیر است:

postgresql+psycopg2://user_name:user_password@host:5432/database

به مسیر Sources >> Databases بروید و یک پایگاه داده جدید به نام warehouse با نام کاربری و رمز عبوری که در رشته اتصال تعریف کرده‌اید، ایجاد کنید و اتصال را تست کنید. Superset به انبار داده متصل می‌شود.قبل از فشار دادن دکمه ذخیره، حتماً گزینه‌های Allow CREATE TABLE AS، Allow CREATE VIEW AS و Allow DML را بررسی کنید.

  • کوئری داده در SQL Lab

ما می‌توانیم کوئری داده‌ها را در SQL Lab اجرا کنیم. به مسیر SQL Lab >> SQL Editor بروید. در اینجا می‌توانید یک کوئری ساده sql بنویسید و آن را مطابق شکل اجرا کنید.این یک کلاینت استاندارد SQL است که در آن می‌توانید کوئری بنویسید و داده‌ها را استخراج کنید. با کلیک بر روی دکمه Explore به صفحه نمودار هدایت می‌شوید، جایی که می‌توانید شروع به بصری‌سازی داده‌ها کنید.

  • ایجاد نمودار

نمودارها بر اساس یک جدول ایجاد می‌شوند. برای ایجاد نمودار ابتدا باید یک جدول تعریف کنیم.

  • ۱-۳) افزودن جدول

به مسیر Sources >> Tables بروید، روی علامت افزودن رکورد جدید (یعنی علامت +) کلیک کنید و clickstream را به عنوان شِما و people را به عنوان نام جدول وارد کنید.

  • ۲-۳) ایجاد نمودار

برای ایجاد نمودار به سربرگ Charts بروید و علامت افزودن رکورد جدید + را کلیک کنید.برای نمودار اول، نموداری ایجاد می‌کنیم که کل سود سرمایه را به صورت یک عدد بزرگ (Big Number) نشان دهد. آن را به عنوان total_cap_gain ذخیره می‌کنیم.

  • ۳-۳) ایجاد داشبورد

داشبورد می‌تواند از یک یا چند نمودار تشکیل شده باشد و می‌تواند بین افراد به اشتراک گذاشته شود. برای ایجاد داشبورد، روی سربرگ Dashboards کلیک کنید و علامت افزودن (+) را فشار دهید. نام آن را cap gain dashboard و قسمت Slug را cgdash قرار ‌دهید. تصویر زیر این قسمت از نرم‌افزار را نشان می‌دهد.پس از ذخیره داشبورد، روی آن کلیک کنید. اکنون دکمه EDIT DASHBOARD را فشار دهید. در ویرایشگر داشبورد، یک ردیف را بکشید و رها کنید. به نمودارهایی که با استفاده از charts & filters ایجاد کرده‌اید، دسترسی پیدا کنید. آنها را در یک ردیف، در کنار یکدیگر قرار دهید. دکمه SAVE CHANGES را فشار دهید. و بالای صفحه Draft را به Published تغییر دهید. تصویر زیر این قسمت از نرم‌افزار را نشان می‌دهد.با لینک زیر دیگر کاربران superset می‌توانند به داشبوردی که شما ایجاد کرده‌اید دسترسی داشته باشند. توجه داشته باشید که cgdash نام قسمت slug بود که هنگام ایجاد داشبورد انتخاب کردیم.

http://localhost:8088/superset/dashboard/cgdash/

می‌توانید نمودارها و داشبوردهای خود را مطابق با نیازهایتان سفارشی کنید. با استفاده از دستور زیر، زیرساخت محلی که ایجاد کرده‌اید را down کنید.

docker-compose down –v

مزایا و معایب

مزایا عبارتند از:

  • متن باز.
  • تعداد زیادی آیتم‌های بصری‌سازی پیش ساخته دارد.
  • از Apache Superset برای ایجاد داشبوردها در برنامه‌های داده خود می‌توان استفاده کرد.
  • جامعه گسترده‌ای از استفاده کنندگان که باعث می‌شود برای رفع مشکلات سریع به جواب برسیم.
  • معماری وب سرور ساده
  • کنترل دسترسی کاربر Granular.
  • پشتیبانی از دیتابیس‌های MonetDB ،Postgres ،Oracle ،SQLite ،MySQL وMicrosoft SQL Server
  • قابلیت فعال‌سازی کَش برای بالا بردن سرعت نمایش داده‌ها

معایب عبارتند از:

  • این برنامه هنوز از پایگاه داده NoSQL پشتیبانی نمی‌کند.
  • کاربران برای استفاده از این ابزار باید دانش SQL داشته باشند. مهندسان می‌توانند در ایجاد views و غیره کمک کنند. اما برای اینکه کاربران نهایی به عنوان یک ابزار هوش تجاری بتوانند از آن استفاده کنند، باید SQL را یاد بگیرند.

نتیجه‌گیری

امیدواریم این مقاله درک خوبی از Apache Superset، مزایا و معایب آن و نحوه استفاده از آن برای ایجاد بصری‌سازی داده‌ها و داشبورد به شما داده باشد. ویژگی‌های بیشتری مانند هشدارهای زمان بندی شده و ایجاد تجسم‌های سفارشی دارد که در این مقاله به آنها نپرداخته‌ایم.

به طور کلی ابزارهای ارائه شده هوش تجاری معمولا گران قیمت هستند. اگر شرکت شما نیروهای مهندسی مناسبی داشته باشد، استفاده از یک ابزار منبع باز پتانسیل صرفه جویی زیادی در هزینه‌ها دارد.

منابع

https://www.startdataengineering.com/post/apache-superset-tutorial

چه رتبه ای می‌دهید؟

میانگین ۵ / ۵. از مجموع ۱

اولین نفر باش

title sign
دانلود مقاله
آموزش Apache Superset
فرمت PDF
8 صفحه
حجم 1 مگابایت
دانلود مقاله
title sign
معرفی نویسنده
تیم فنی نیک آموز
مقالات
259 مقاله توسط این نویسنده
محصولات
0 دوره توسط این نویسنده
تیم فنی نیک آموز
پروفایل نویسنده
title sign
دیدگاه کاربران

وبینار رایگان ؛ Power BI کلید رقابت شما در دنیا داده‌ها      چهارشنبه 12 اردیبهشت ساعت 15
ثبت نام رایگان
close-image