
ڪهڙن اصولن تي هڪ مثالي ڊيٽا گودام ٺهيل آهي؟
بوائلر پليٽ ڪوڊ جي غير موجودگي ۾ ڪاروباري قدر ۽ تجزياتي تي ڌيان ڏيو. ڪوڊ بيس جي طور تي DWH کي منظم ڪرڻ: ورزننگ، جائزو، خودڪار جاچ ۽ CI. ماڊلر، وسعت وارو، کليل ذريعو ۽ ڪميونٽي. استعمال ڪندڙ-دوست دستاويز ۽ انحصار بصري (ڊيٽا لائينج).
هن سڀني بابت وڌيڪ ۽ بگ ڊيٽا ۽ تجزياتي ماحولي نظام ۾ ڊي بي ٽي جي ڪردار بابت - ڀلي ڪري آيا cat.
سڀني کي سلام
آرٽمي ڪوزير رابطي ۾ آهي. 5 سالن کان وڌيڪ عرصي کان آئون ڊيٽا گودامن سان گڏ ڪم ڪري رهيو آهيان، ETL/ELT تعمير ڪرڻ، گڏوگڏ ڊيٽا اينالائيٽڪس ۽ ويزولائيزيشن. مان هن وقت ڪم ڪري رهيو آهيان ، مان OTUS ۾ هڪ ڪورس سيکاريندو آهيان ، ۽ اڄ آئون توهان سان هڪ مضمون شيئر ڪرڻ چاهيان ٿو جيڪو مون شروعات جي توقع ۾ لکيو ڪورس لاء نئين داخلا.
مختصر جائزو
DBT فريم ورڪ تمام T بابت آهي ELT ۾ (Extract - Transform - Load) مخفف.
اهڙي پيداواري ۽ اسپيبلبل تجزياتي ڊيٽابيس جي اچڻ سان BigQuery، Redshift، Snowflake، ڊيٽا گودام کان ٻاهر تبديليون ڪرڻ جو ڪو به مقصد نه هو.
DBT ذريعن کان ڊيٽا ڊائون لوڊ نٿو ڪري، پر ڊيٽا سان ڪم ڪرڻ لاء بهترين موقعا فراهم ڪري ٿو جيڪا اڳ ۾ ئي اسٽوريج ۾ لوڊ ڪئي وئي آهي (اندروني يا خارجي اسٽوريج ۾).

DBT جو بنيادي مقصد ڪوڊ وٺڻ، ان کي SQL ۾ گڏ ڪرڻ، ريپوزٽري ۾ صحيح ترتيب ۾ حڪمن تي عمل ڪرڻ آھي.
ڊي بي ٽي پروجيڪٽ جي جوڙجڪ
پروجيڪٽ صرف 2 قسمن جي ڊائريڪٽرن ۽ فائلن تي مشتمل آهي:
- ماڊل (.sql) - تبديليءَ جو هڪ يونٽ جيڪو SELECT سوال جي ذريعي ظاهر ڪيو ويو آهي
- ٺاھ جوڙ فائل (.yml) - پيٽرولر، سيٽنگون، ٽيسٽ، دستاويز
بنيادي سطح تي، ڪم هن ريت ترتيب ڏنل آهي:
- صارف ڪنهن به آسان IDE ۾ ماڊل ڪوڊ تيار ڪري ٿو
- CLI استعمال ڪندي، ماڊل شروع ڪيا ويا آهن، DBT ماڊل ڪوڊ کي SQL ۾ گڏ ڪري ٿو
- مرتب ڪيل SQL ڪوڊ ڏنل ترتيب ۾ اسٽوريج ۾ جاري ڪيو ويو آهي (گراف)
هتي اهو آهي جيڪو CLI مان ڊوڙندو نظر اچي سگھي ٿو:

هر شي SELECT آهي
هي ڊيٽا بلڊ ٽول فريم ورڪ جي هڪ قاتل خصوصيت آهي. ٻين لفظن ۾، DBT توهان جي سوالن کي ذخيرو ڪرڻ سان لاڳاپيل سڀني ڪوڊ کي ختم ڪري ٿو (ڪمانڊن مان مختلف تبديليون CREATE، INSERT، UPDATE، DELETE ALTER، GRANT، ...).
ڪنهن به ماڊل ۾ هڪ SELECT سوال لکڻ شامل آهي جيڪو نتيجو ڊيٽا سيٽ کي بيان ڪري ٿو.
انهي صورت ۾، تبديلي جي منطق ڪيترن ئي سطحن جي ٿي سگهي ٿي ۽ ڪيترن ئي ٻين ماڊل کان ڊيٽا کي گڏ ڪري سگهي ٿي. ھڪڙي نموني جو ھڪڙو مثال جيڪو ٺاھيندو آرڊر شوڪيس (f_orders):
{% set payment_methods = ['credit_card', 'coupon', 'bank_transfer', 'gift_card'] %}
with orders as (
select * from {{ ref('stg_orders') }}
),
order_payments as (
select * from {{ ref('order_payments') }}
),
final as (
select
orders.order_id,
orders.customer_id,
orders.order_date,
orders.status,
{% for payment_method in payment_methods -%}
order_payments.{{payment_method}}_amount,
{% endfor -%}
order_payments.total_amount as amount
from orders
left join order_payments using (order_id)
)
select * from final
اسان هتي ڪهڙيون دلچسپ شيون ڏسي سگهون ٿا؟
پهريون: استعمال ٿيل CTE (Common Table Expressions) - ڪوڊ کي منظم ڪرڻ ۽ سمجھڻ لاءِ جنهن ۾ ڪيتريون ئي تبديليون ۽ ڪاروباري منطق شامل آهن
ٻيو: ماڊل ڪوڊ SQL ۽ ٻولي جو ميلاپ آهي (سانچو ٻولي).
مثال هڪ لوپ استعمال ڪري ٿو لاء اظهار ۾ بيان ڪيل هر ادائگي جي طريقي لاءِ رقم پيدا ڪرڻ لاءِ مقرر. فنڪشن پڻ استعمال ڪيو ويندو آهي ٿي رهي آهي - ڪوڊ جي اندر ٻين ماڊلز جي حوالي ڪرڻ جي صلاحيت:
- تاليف دوران ٿي رهي آهي ٽيبل ڏانهن ٽارگيٽ پوائنٽر ۾ تبديل ڪيو ويندو يا اسٽوريج ۾ ڏسو
- ٿي رهي آهي توهان کي هڪ ماڊل انحصار گراف ٺاهڻ جي اجازت ڏئي ٿي
اهو ئي هو ڊي بي ٽي ۾ تقريبن لامحدود امڪان شامل ڪري ٿو. سڀ کان عام استعمال ٿيل آهن:
- جيڪڏهن / ٻيو بيان - شاخ بيان
- لوپ لاء
- متغير
- ميڪرو - ميڪرو ٺاهڻ
مواد سازي: ٽيبل، ڏيک، واڌارو
مواد جي حڪمت عملي هڪ طريقو آهي جنهن جي مطابق ماڊل ڊيٽا جو نتيجو سيٽ اسٽوريج ۾ محفوظ ڪيو ويندو.
بنيادي اصطلاحن ۾ اهو آهي:
- ٽيبل - اسٽوريج ۾ جسماني ٽيبل
- ڏيک - ڏيک، ورچوئل ٽيبل اسٽوريج ۾
اتي به وڌيڪ پيچيده مادي حڪمت عمليون آهن:
- واڌارو - وڌندڙ لوڊشيڊنگ (وڏي حقيقت جي جدولن جو)؛ نيون لائينون شامل ڪيون ويون آھن، تبديل ٿيل لائينون اپڊيٽ ڪيون ويون آھن، ختم ٿيل لائينون صاف آھن
- Ephemeral - ماڊل سڌو سنئون نه ٿو اچي، پر ٻين ماڊل ۾ CTE طور حصو وٺندو آهي
- ٻيو ڪو به حڪمت عملي توهان پنهنجو پاڻ کي شامل ڪري سگهو ٿا
مادي ڪرڻ واري حڪمت عملين کان علاوه، خاص اسٽوريج لاءِ اصلاح جا موقعا موجود آهن، مثال طور:
- Snowflake: عارضي جدول، ضم ڪرڻ وارو رويو، ٽيبل ڪلسترنگ، گرانٽس نقل ڪرڻ، محفوظ نظارا
- ڳاڙهو: Distkey، Sortkey (interleaved, compound), Late Binding views
- وڏو سوال: ٽيبل ورهاڱي ۽ ڪلستر ڪرڻ، ضم ڪرڻ وارو رويو، KMS انڪرپشن، ليبل ۽ ٽيگ
- اسپار: فائل فارميٽ (parquet, csv, json, orc, delta), partition_by, clustered_by, buckets, incremental_strategy
هيٺيون اسٽوريج هن وقت سپورٽ آهن:
- پوسٽ
- ڳاڙهو
- وڏو سوال
- Snowflake
- پرسٽو (جزوي طور)
- چمڪ (جزوي طور)
- Microsoft SQL سرور (ڪميونٽي اڊاپٽر)
اچو ته اسان جي ماڊل کي بهتر بڻايون:
- اچو ته ان جي ڀرڻ کي وڌايون (وڌندڙ)
- اچو ته Redshift لاءِ ڀاڱيداري ۽ ترتيب ڏيڻ واري ڪيز شامل ڪريون
-- Конфигурация модели:
-- Инкрементальное наполнение, уникальный ключ для обновления записей (unique_key)
-- Ключ сегментации (dist), ключ сортировки (sort)
{{
config(
materialized='incremental',
unique_key='order_id',
dist="customer_id",
sort="order_date"
)
}}
{% set payment_methods = ['credit_card', 'coupon', 'bank_transfer', 'gift_card'] %}
with orders as (
select * from {{ ref('stg_orders') }}
where 1=1
{% if is_incremental() -%}
-- Этот фильтр будет применен только для инкрементального запуска
and order_date >= (select max(order_date) from {{ this }})
{%- endif %}
),
order_payments as (
select * from {{ ref('order_payments') }}
),
final as (
select
orders.order_id,
orders.customer_id,
orders.order_date,
orders.status,
{% for payment_method in payment_methods -%}
order_payments.{{payment_method}}_amount,
{% endfor -%}
order_payments.total_amount as amount
from orders
left join order_payments using (order_id)
)
select * from final
ماڊل انحصار گراف
اهو پڻ هڪ انحصار وڻ آهي. اهو پڻ DAG طور سڃاتو وڃي ٿو (هدايت ٿيل Acyclic گراف).
DBT سڀني پروجيڪٽ ماڊل جي ترتيب جي بنياد تي هڪ گراف ٺاهي ٿو، يا بلڪه، ريف () لنڪس ماڊل اندر ٻين ماڊلن ڏانهن. گراف هجڻ توهان کي هيٺين شين کي ڪرڻ جي اجازت ڏئي ٿو:
- هلندڙ ماڊل صحيح تسلسل ۾
- اسٽور فرنٽ جي ٺهڻ جي برابري
- هڪ خودمختيار سبگراف هلائڻ
گراف بصري جو مثال:

گراف جي هر نوڊ هڪ ماڊل آهي؛ گراف جي ڪنارن کي بيان ڪيل ريف پاران بيان ڪيو ويو آهي.
ڊيٽا معيار ۽ دستاويز
پاڻ ماڊلز پيدا ڪرڻ کان علاوه، ڊي بي ٽي توهان کي ڊيٽا سيٽ جي نتيجي ۾ ڪيترن ئي مفروضن کي جانچڻ جي اجازت ڏئي ٿو، جهڙوڪ:
- ناھي
- منفرد
- Reference Integrity - Reference Integrity (مثال طور، Customer_id آرڊر ٽيبل ۾ id سان ملندڙ جلندڙ آھي ڪسٽمر ٽيبل ۾)
- قابل قبول قدرن جي فهرست سان ملائڻ
توهان جا پنهنجا ٽيسٽ شامل ڪرڻ ممڪن آهي (ڪسٽم ڊيٽا ٽيسٽ)، مثال طور، هڪ ڏينهن، هڪ هفتي، هڪ مهينو اڳ جي اشارن سان آمدني جي % انحراف. SQL سوال جي طور تي ٺهيل ڪو به مفروضو هڪ امتحان بڻجي سگهي ٿو.
هن طريقي سان، توهان گودام ونڊوز ۾ ڊيٽا ۾ ناپسنديده انحراف ۽ غلطيون پڪڙي سگهو ٿا.
دستاويزن جي لحاظ کان، ڊي بي ٽي ميٽاداٽا کي شامل ڪرڻ، ورزن ڪرڻ، ۽ تقسيم ڪرڻ لاءِ ميکانيزم مهيا ڪري ٿو ۽ ماڊل ۽ حتي خاصيت جي سطح تي تبصرا.
ھتي آھي ڇا شامل ڪرڻ جا ٽيسٽ ۽ دستاويز ٺاھڻ واري فائل جي سطح تي نظر اچن ٿا:
- name: fct_orders
description: This table has basic information about orders, as well as some derived facts based on payments
columns:
- name: order_id
tests:
- unique # проверка на уникальность значений
- not_null # проверка на наличие null
description: This is a unique identifier for an order
- name: customer_id
description: Foreign key to the customers table
tests:
- not_null
- relationships: # проверка ссылочной целостности
to: ref('dim_customers')
field: customer_id
- name: order_date
description: Date (UTC) that the order was placed
- name: status
description: '{{ doc("orders_status") }}'
tests:
- accepted_values: # проверка на допустимые значения
values: ['placed', 'shipped', 'completed', 'return_pending', 'returned']
۽ ھتي اھو آھي جيڪو ھي دستاويز ٺاھيل ويب سائيٽ تي نظر اچي ٿو:

ميڪروس ۽ ماڊلز
DBT جو مقصد ايترو گهڻو نه آهي ته SQL اسڪرپٽ جو هڪ سيٽ بڻجي وڃي، پر صارفين کي هڪ طاقتور ۽ خصوصيت سان مالا مال مهيا ڪرڻ آهي انهن جي پنهنجون تبديليون ٺاهڻ ۽ انهن ماڊلز کي ورهائڻ لاءِ.
ميڪروس تعميرات ۽ اظهارن جا سيٽ آهن جن کي ماڊل اندر ڪم ڪري سگهجي ٿو. Macros توهان کي ماڊل ۽ پروجيڪٽ جي وچ ۾ SQL کي ٻيهر استعمال ڪرڻ جي اجازت ڏئي ٿو DRY (پنهنجو پاڻ کي نه ورجايو) انجنيئرنگ اصول جي مطابق.
ميڪرو مثال:
{% macro rename_category(column_name) %}
case
when {{ column_name }} ilike '%osx%' then 'osx'
when {{ column_name }} ilike '%android%' then 'android'
when {{ column_name }} ilike '%ios%' then 'ios'
else 'other'
end as renamed_product
{% endmacro %}
۽ ان جو استعمال:
{% set column_name = 'product' %}
select
product,
{{ rename_category(column_name) }} -- вызов макроса
from my_table
DBT هڪ پيڪيج مينيجر سان گڏ اچي ٿو جيڪو صارفين کي شايع ڪرڻ ۽ ٻيهر استعمال ڪرڻ جي اجازت ڏئي ٿو انفرادي ماڊل ۽ ميڪرو.
هن جو مطلب آهي لوڊ ڪرڻ ۽ لائبريرين کي استعمال ڪرڻ جي قابل ٿيڻ جهڙوڪ:
- : تاريخ/وقت سان ڪم ڪرڻ، سروگيٽ ڪيز، اسڪيما ٽيسٽ، Pivot/Unpivot ۽ ٻيا
- خدمتن لاء تيار-ٺهيل نمائش ٽيمپليٽ جيئن и
- مخصوص ڊيٽا اسٽورن لاءِ لائبريريون، مثال طور
- - ڊي بي ٽي آپريشن کي لاگ ان ڪرڻ لاءِ ماڊل
پيڪيجز جي مڪمل فهرست ملي سگهي ٿي .
اڃا به وڌيڪ خاصيتون
هتي مان ڪجهه ٻين دلچسپ خصوصيتن ۽ عملن کي بيان ڪندس جيڪي ٽيم ۽ مان ڊيٽا گودام ٺاهڻ لاءِ استعمال ڪندا آهيون .
رن ٽائم ماحول جي الڳ ٿيڻ DEV - TEST - PROD
جيتوڻيڪ ساڳئي DWH ڪلستر جي اندر (مختلف اسڪيمن اندر). مثال طور، هيٺ ڏنل بيان استعمال ڪندي:
with source as (
select * from {{ source('salesforce', 'users') }}
where 1=1
{%- if target.name in ['dev', 'test', 'ci'] -%}
where timestamp >= dateadd(day, -3, current_date)
{%- endif -%}
)
هي ڪوڊ لفظي طور تي چوي ٿو: ماحول لاء dev، test، ci صرف آخري 3 ڏينهن لاء ڊيٽا وٺو ۽ وڌيڪ نه. اهو آهي، انهن ماحول ۾ هلڻ تمام تيز ٿي ويندو ۽ گهٽ وسيلن جي ضرورت هوندي. جڏهن ماحول تي هلندو آهي prod فلٽر جي حالت کي نظرانداز ڪيو ويندو.
متبادل ڪالمن انڪوڊنگ سان گڏ مواد
ريڊ شفٽ هڪ ڪالمن ڊي بي ايم ايس آهي جيڪو توهان کي هر فرد جي ڪالمن لاءِ ڊيٽا ڪمپريشن الگورتھم سيٽ ڪرڻ جي اجازت ڏئي ٿو. بهترين الگورتھم چونڊڻ سان ڊسڪ اسپيس کي 20-50٪ گھٽائي سگھي ٿو.
ميڪرو ANALYZE COMPRESSION ڪمانڊ تي عمل ڪندو، تجويز ڪيل ڪالمن انڪوڊنگ الگورٿمز سان گڏ نئين جدول ٺاھيو، مخصوص سيگمينٽيشن ڪيز (dist_key) ۽ ترتيب ڏيڻ واري ڪيز (sort_key)، ڊيٽا کي ان ڏانھن منتقل ڪريو، ۽ جيڪڏھن ضروري ھجي ته، پراڻي ڪاپي کي حذف ڪريو.
ميڪرو دستخط:
{{ compress_table(schema, table,
drop_backup=False,
comprows=none|Integer,
sort_style=none|compound|interleaved,
sort_keys=none|List<String>,
dist_style=none|all|even,
dist_key=none|String) }}
لاگنگ ماڊل هلندو آهي
توهان ماڊل جي هر عمل تي ٿلهو ڳنڍي سگهو ٿا، جيڪو لانچ ڪرڻ کان اڳ يا فوري طور تي ماڊل جي ٺهڻ کان پوء مڪمل ڪيو ويندو:
pre-hook: "{{ logging.log_model_start_event() }}"
post-hook: "{{ logging.log_model_end_event() }}"
لاگنگ ماڊل توهان کي سڀني ضروري ميٽا ڊيٽا کي هڪ الڳ جدول ۾ رڪارڊ ڪرڻ جي اجازت ڏيندو، جنهن کي بعد ۾ استعمال ڪري سگهجي ٿو آڊٽ ۽ تجزيو ڪرڻ لاءِ رڪاوٽون.
هي اهو آهي جيڪو ڊيش بورڊ ڏسڻ جهڙو آهي ڏسندڙ ۾ لاگنگ ڊيٽا جي بنياد تي:

اسٽوريج جي سار سنڀال جو خودڪار
جيڪڏهن توهان استعمال ٿيل مخزن جي ڪارڪردگي جي ڪجهه واڌارن کي استعمال ڪريو ٿا، جهڙوڪ UDF (يوزر بيان ڪيل فنڪشن)، پوء انهن ڪمن جي ورزننگ، رسائي ڪنٽرول، ۽ نئين رليز مان خودڪار رولنگ ڊي بي ٽي ۾ ڪرڻ تمام آسان آهي.
اسان پيٿون ۾ UDF استعمال ڪريون ٿا هيش، اي ميل ڊومينز، ۽ بٽ ماسڪ ڊيڪوڊنگ جي حساب سان.
هڪ ميڪرو جو هڪ مثال جيڪو ڪنهن به عمل جي ماحول تي UDF ٺاهي ٿو (dev، test، prod):
{% macro create_udf() -%}
{% set sql %}
CREATE OR REPLACE FUNCTION {{ target.schema }}.f_sha256(mes "varchar")
RETURNS varchar
LANGUAGE plpythonu
STABLE
AS $$
import hashlib
return hashlib.sha256(mes).hexdigest()
$$
;
{% endset %}
{% set table = run_query(sql) %}
{%- endmacro %}
Wheely تي اسان Amazon Redshift استعمال ڪندا آهيون، جيڪو پوسٽ گري ايس ايس ايل تي ٻڌل آهي. Redshift لاءِ، اهو ضروري آهي ته باقاعدگي سان ٽيبلن تي انگ اکر گڏ ڪرڻ ۽ ڊسڪ اسپيس کي خالي ڪرڻ - ترتيب وار ANALYZE ۽ VACUUM ڪمانڊ.
هن کي ڪرڻ لاء، redshift_maintenance ميڪرو کان حڪم هر رات تي عمل ڪيو ويندو آهي:
{% macro redshift_maintenance() %}
{% set vacuumable_tables=run_query(vacuumable_tables_sql) %}
{% for row in vacuumable_tables %}
{% set message_prefix=loop.index ~ " of " ~ loop.length %}
{%- set relation_to_vacuum = adapter.get_relation(
database=row['table_database'],
schema=row['table_schema'],
identifier=row['table_name']
) -%}
{% do run_query("commit") %}
{% if relation_to_vacuum %}
{% set start=modules.datetime.datetime.now() %}
{{ dbt_utils.log_info(message_prefix ~ " Vacuuming " ~ relation_to_vacuum) }}
{% do run_query("VACUUM " ~ relation_to_vacuum ~ " BOOST") %}
{{ dbt_utils.log_info(message_prefix ~ " Analyzing " ~ relation_to_vacuum) }}
{% do run_query("ANALYZE " ~ relation_to_vacuum) %}
{% set end=modules.datetime.datetime.now() %}
{% set total_seconds = (end - start).total_seconds() | round(2) %}
{{ dbt_utils.log_info(message_prefix ~ " Finished " ~ relation_to_vacuum ~ " in " ~ total_seconds ~ "s") }}
{% else %}
{{ dbt_utils.log_info(message_prefix ~ ' Skipping relation "' ~ row.values() | join ('"."') ~ '" as it does not exist') }}
{% endif %}
{% endfor %}
{% endmacro %}
DBT Cloud
اهو ممڪن آهي ته ڊي بي ٽي هڪ خدمت جي طور تي استعمال ڪرڻ (منظم خدمت). شامل:
- ويب IDE ترقي يافته منصوبن ۽ ماڊلز لاءِ
- نوڪري جي ترتيب ۽ شيڊول
- لاگن تائين آسان ۽ آسان رسائي
- ويب سائيٽ توهان جي پروجيڪٽ جي دستاويزن سان
- ڳنڍڻ CI (مسلسل انضمام)

ٿڪل
DWH تيار ڪرڻ ۽ استعمال ڪرڻ ايترو ئي مزيدار ۽ فائدي وارو ٿئي ٿو جيترو سمودي پيئڻ. DBT تي مشتمل آهي جنجا، يوزر ايڪسٽينشنز (ماڊيول)، هڪ مرتب ڪندڙ، هڪ عمل ڪندڙ، ۽ هڪ پيڪيج مئنيجر. انهن عناصر کي گڏ ڪرڻ سان توهان پنهنجي ڊيٽا گودام لاءِ مڪمل ڪم ڪندڙ ماحول حاصل ڪندا آهيو. اڄڪلهه DWH اندر تبديلي کي منظم ڪرڻ جو ڪو بهتر طريقو ناهي.
DBT جي ڊولپرز پاران ڏنل عقيدن کي ھيٺ ڏنل آھي:
- ڪوڊ، نه GUI، پيچيده تجزياتي منطق جي اظهار لاءِ بهترين خلاصو آهي
- ڊيٽا سان ڪم ڪرڻ گهرجي سافٽ ويئر انجنيئرنگ (سافٽ ويئر انجنيئرنگ) ۾ بهترين طريقن کي اپنائڻ
- نازڪ ڊيٽا انفراسٽرڪچر کي صارف ڪميونٽي طرفان ڪنٽرول ڪيو وڃي جيئن اوپن سورس سافٽ ويئر
- نه رڳو تجزياتي اوزار، پر ڪوڊ پڻ وڌندي ويندي اوپن سورس ڪميونٽي جي ملڪيت
انهن بنيادي عقيدن هڪ پيداوار پيدا ڪئي آهي جيڪا اڄ 850 کان وڌيڪ ڪمپنين پاران استعمال ڪئي وئي آهي، ۽ اهي ڪيترن ئي دلچسپ توسيع جو بنياد ٺاهيندا آهن جيڪي مستقبل ۾ ٺاهيا ويندا.
دلچسپي وارن لاءِ، هڪ کليل سبق جي هڪ وڊيو آهي جيڪا مون ڪجهه مهينا اڳ ڏني هئي OTUS تي هڪ کليل سبق جي حصي جي طور تي. .
DBT ۽ ڊيٽا گودام کان علاوه، OTUS پليٽ فارم تي ڊيٽا انجنيئر ڪورس جي حصي جي طور تي، مان ۽ منهنجا ساٿي ڪلاس سيکاريندا آهيون ڪيترن ئي ٻين لاڳاپيل ۽ جديد موضوعن تي:
- بگ ڊيٽا ايپليڪيشنن لاءِ آرڪيٽيڪچرل تصور
- اسپارڪ ۽ اسپارڪ اسٽريمنگ سان مشق ڪريو
- ڊيٽا ذريعن کي لوڊ ڪرڻ لاء طريقا ۽ اوزار ڳولڻ
- عمارت جي تجزياتي نمائش DWH ۾
- NoSQL تصورات: HBase، Cassandra، ElasticSearch
- نگراني ۽ آرڪيسٽريشن جا اصول
- فائنل پروجيڪٽ: سڀني صلاحيتن کي گڏ ڪرڻ جي صلاح مشوري جي مدد تحت
حوالا:
- - سرڪاري دستاويز
- - ڊي بي ٽي جي ليکڪن مان هڪ طرفان آرٽيڪل جو جائزو وٺو
- - يوٽيوب، هڪ OTUS کليل سبق جي رڪارڊنگ
- - ايندڙ کليل سبق مئي 15، 2020 آهي
- -اوٽس
- - ڊيٽا ۽ اينالائيٽڪس جي مستقبل تي هڪ نظر
- - تجزياتي جي ارتقاء ۽ اوپن سورس جو اثر
- - DBT استعمال ڪندي CI تعمير ڪرڻ جا اصول
- - مشق، آزاد ڪم لاء قدم قدم هدايتون
- - Github، تعليمي پروجيڪٽ ڪوڊ
جو ذريعو: www.habr.com

