ಡೇಟಾ ಬಿಲ್ಡ್ ಟೂಲ್ ಅಥವಾ ಡೇಟಾ ವೇರ್‌ಹೌಸ್ ಮತ್ತು ಸ್ಮೂಥಿ ನಡುವೆ ಸಾಮಾನ್ಯವಾಗಿದೆ

ಡೇಟಾ ಬಿಲ್ಡ್ ಟೂಲ್ ಅಥವಾ ಡೇಟಾ ವೇರ್‌ಹೌಸ್ ಮತ್ತು ಸ್ಮೂಥಿ ನಡುವೆ ಸಾಮಾನ್ಯವಾಗಿದೆ
ಆದರ್ಶ ಡೇಟಾ ವೇರ್ಹೌಸ್ ಅನ್ನು ಯಾವ ತತ್ವಗಳ ಮೇಲೆ ನಿರ್ಮಿಸಲಾಗಿದೆ?

ಬಾಯ್ಲರ್ ಕೋಡ್ ಅನುಪಸ್ಥಿತಿಯಲ್ಲಿ ವ್ಯಾಪಾರ ಮೌಲ್ಯ ಮತ್ತು ವಿಶ್ಲೇಷಣೆಗಳ ಮೇಲೆ ಕೇಂದ್ರೀಕರಿಸಿ. ಕೋಡ್ಬೇಸ್ ಆಗಿ DWH ಅನ್ನು ನಿರ್ವಹಿಸುವುದು: ಆವೃತ್ತಿ, ವಿಮರ್ಶೆ, ಸ್ವಯಂಚಾಲಿತ ಪರೀಕ್ಷೆ ಮತ್ತು CI. ಮಾಡ್ಯುಲರ್, ಎಕ್ಸ್‌ಟೆನ್ಸಿಬಲ್, ಓಪನ್ ಸೋರ್ಸ್ ಮತ್ತು ಸಮುದಾಯ. ಬಳಕೆದಾರ ಸ್ನೇಹಿ ದಸ್ತಾವೇಜನ್ನು ಮತ್ತು ಅವಲಂಬನೆ ದೃಶ್ಯೀಕರಣ (ಡೇಟಾ ಲಿನೇಜ್).

ಈ ಎಲ್ಲದರ ಬಗ್ಗೆ ಮತ್ತು ಬಿಗ್ ಡೇಟಾ ಮತ್ತು ಅನಾಲಿಟಿಕ್ಸ್ ಪರಿಸರ ವ್ಯವಸ್ಥೆಯಲ್ಲಿ DBT ಪಾತ್ರದ ಬಗ್ಗೆ - ಬೆಕ್ಕುಗೆ ಸ್ವಾಗತ.

ಎಲ್ಲರಿಗೂ ಹಲೋ

ಆರ್ಟೆಮಿ ಕೊಜಿರ್ ಸಂಪರ್ಕದಲ್ಲಿದ್ದಾರೆ. 5 ವರ್ಷಗಳಿಗೂ ಹೆಚ್ಚು ಕಾಲ ನಾನು ಡೇಟಾ ವೇರ್‌ಹೌಸ್‌ಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುತ್ತಿದ್ದೇನೆ, ETL/ELT ಅನ್ನು ನಿರ್ಮಿಸುತ್ತಿದ್ದೇನೆ, ಜೊತೆಗೆ ಡೇಟಾ ಅನಾಲಿಟಿಕ್ಸ್ ಮತ್ತು ದೃಶ್ಯೀಕರಣವನ್ನು ಮಾಡುತ್ತಿದ್ದೇನೆ. ನಾನು ಪ್ರಸ್ತುತ ಕೆಲಸ ಮಾಡುತ್ತಿದ್ದೇನೆ ವ್ಹೀಲಿ, ನಾನು ಕೋರ್ಸ್‌ನಲ್ಲಿ OTUS ನಲ್ಲಿ ಕಲಿಸುತ್ತೇನೆ ಡೇಟಾ ಎಂಜಿನಿಯರ್, ಮತ್ತು ಇಂದು ನಾನು ಪ್ರಾರಂಭದ ನಿರೀಕ್ಷೆಯಲ್ಲಿ ಬರೆದ ಲೇಖನವನ್ನು ನಿಮ್ಮೊಂದಿಗೆ ಹಂಚಿಕೊಳ್ಳಲು ಬಯಸುತ್ತೇನೆ ಕೋರ್ಸ್‌ಗೆ ಹೊಸ ದಾಖಲಾತಿ.

ಸಣ್ಣ ವಿಮರ್ಶೆ

DBT ಫ್ರೇಮ್‌ವರ್ಕ್ ELT (ಎಕ್‌ಸ್ಟ್ರಾಕ್ಟ್ - ಟ್ರಾನ್ಸ್‌ಫಾರ್ಮ್ - ಲೋಡ್) ಸಂಕ್ಷೇಪಣದಲ್ಲಿ T ಅನ್ನು ಹೊಂದಿದೆ.

BigQuery, Redshift, Snowflake ನಂತಹ ಉತ್ಪಾದಕ ಮತ್ತು ಸ್ಕೇಲೆಬಲ್ ವಿಶ್ಲೇಷಣಾತ್ಮಕ ಡೇಟಾಬೇಸ್‌ಗಳ ಆಗಮನದೊಂದಿಗೆ, ಡೇಟಾ ವೇರ್‌ಹೌಸ್‌ನ ಹೊರಗೆ ರೂಪಾಂತರಗಳನ್ನು ಮಾಡುವುದರಲ್ಲಿ ಯಾವುದೇ ಅರ್ಥವಿಲ್ಲ. 

DBT ಮೂಲಗಳಿಂದ ಡೇಟಾವನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡುವುದಿಲ್ಲ, ಆದರೆ ಈಗಾಗಲೇ ಸಂಗ್ರಹಣೆಗೆ (ಆಂತರಿಕ ಅಥವಾ ಬಾಹ್ಯ ಸಂಗ್ರಹಣೆಯಲ್ಲಿ) ಲೋಡ್ ಮಾಡಲಾದ ಡೇಟಾದೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು ಉತ್ತಮ ಅವಕಾಶಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ.

ಡೇಟಾ ಬಿಲ್ಡ್ ಟೂಲ್ ಅಥವಾ ಡೇಟಾ ವೇರ್‌ಹೌಸ್ ಮತ್ತು ಸ್ಮೂಥಿ ನಡುವೆ ಸಾಮಾನ್ಯವಾಗಿದೆ
ಕೋಡ್ ಅನ್ನು ತೆಗೆದುಕೊಳ್ಳುವುದು, ಅದನ್ನು SQL ಗೆ ಕಂಪೈಲ್ ಮಾಡುವುದು, ರೆಪೊಸಿಟರಿಯಲ್ಲಿ ಸರಿಯಾದ ಅನುಕ್ರಮದಲ್ಲಿ ಆಜ್ಞೆಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವುದು DBT ಯ ಮುಖ್ಯ ಉದ್ದೇಶವಾಗಿದೆ.

DBT ಯೋಜನೆಯ ರಚನೆ

ಯೋಜನೆಯು ಕೇವಲ 2 ಪ್ರಕಾರಗಳ ಡೈರೆಕ್ಟರಿಗಳು ಮತ್ತು ಫೈಲ್‌ಗಳನ್ನು ಒಳಗೊಂಡಿದೆ:

  • ಮಾದರಿ (.sql) - SELECT ಪ್ರಶ್ನೆಯಿಂದ ವ್ಯಕ್ತಪಡಿಸಲಾದ ರೂಪಾಂತರದ ಘಟಕ
  • ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ (.yml) - ನಿಯತಾಂಕಗಳು, ಸೆಟ್ಟಿಂಗ್‌ಗಳು, ಪರೀಕ್ಷೆಗಳು, ದಸ್ತಾವೇಜನ್ನು

ಮೂಲಭೂತ ಮಟ್ಟದಲ್ಲಿ, ಕೆಲಸವನ್ನು ಈ ಕೆಳಗಿನಂತೆ ರಚಿಸಲಾಗಿದೆ:

  • ಬಳಕೆದಾರರು ಯಾವುದೇ ಅನುಕೂಲಕರ IDE ಯಲ್ಲಿ ಮಾದರಿ ಕೋಡ್ ಅನ್ನು ಸಿದ್ಧಪಡಿಸುತ್ತಾರೆ
  • CLI ಅನ್ನು ಬಳಸಿಕೊಂಡು, ಮಾದರಿಗಳನ್ನು ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತದೆ, DBT ಮಾದರಿ ಕೋಡ್ ಅನ್ನು SQL ಗೆ ಕಂಪೈಲ್ ಮಾಡುತ್ತದೆ
  • ಕಂಪೈಲ್ ಮಾಡಿದ SQL ಕೋಡ್ ಅನ್ನು ನಿರ್ದಿಷ್ಟ ಅನುಕ್ರಮದಲ್ಲಿ (ಗ್ರಾಫ್) ಸಂಗ್ರಹಣೆಯಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ

CLI ನಿಂದ ಚಾಲನೆಯು ಹೇಗಿರಬಹುದು ಎಂಬುದು ಇಲ್ಲಿದೆ:

ಡೇಟಾ ಬಿಲ್ಡ್ ಟೂಲ್ ಅಥವಾ ಡೇಟಾ ವೇರ್‌ಹೌಸ್ ಮತ್ತು ಸ್ಮೂಥಿ ನಡುವೆ ಸಾಮಾನ್ಯವಾಗಿದೆ

ಎಲ್ಲವೂ ಆಯ್ಕೆಯಾಗಿದೆ

ಇದು ಡೇಟಾ ಬಿಲ್ಡ್ ಟೂಲ್ ಫ್ರೇಮ್‌ವರ್ಕ್‌ನ ಕೊಲೆಗಾರ ವೈಶಿಷ್ಟ್ಯವಾಗಿದೆ. ಬೇರೆ ರೀತಿಯಲ್ಲಿ ಹೇಳುವುದಾದರೆ, DBT ನಿಮ್ಮ ಪ್ರಶ್ನೆಗಳನ್ನು ಸ್ಟೋರ್‌ಗೆ ವಸ್ತುವಾಗಿಸುವ ಎಲ್ಲಾ ಕೋಡ್‌ಗಳನ್ನು ಅಮೂರ್ತಗೊಳಿಸುತ್ತದೆ (ರಚಿಸಿ, ಸೇರಿಸಿ, ನವೀಕರಿಸಿ, ಅಳಿಸಿ 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 (ಸಾಮಾನ್ಯ ಟೇಬಲ್ ಅಭಿವ್ಯಕ್ತಿಗಳು) ಬಳಸಲಾಗಿದೆ - ಬಹಳಷ್ಟು ರೂಪಾಂತರಗಳು ಮತ್ತು ವ್ಯವಹಾರ ತರ್ಕವನ್ನು ಒಳಗೊಂಡಿರುವ ಕೋಡ್ ಅನ್ನು ಸಂಘಟಿಸಲು ಮತ್ತು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು

ಎರಡನೆಯದು: ಮಾದರಿ ಕೋಡ್ SQL ಮತ್ತು ಭಾಷೆಯ ಮಿಶ್ರಣವಾಗಿದೆ ಜಿಂಜ (ಟೆಂಪ್ಲೇಟಿಂಗ್ ಭಾಷೆ).

ಉದಾಹರಣೆಯು ಲೂಪ್ ಅನ್ನು ಬಳಸುತ್ತದೆ ಫಾರ್ ಅಭಿವ್ಯಕ್ತಿಯಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಪ್ರತಿ ಪಾವತಿ ವಿಧಾನಕ್ಕೆ ಮೊತ್ತವನ್ನು ರಚಿಸಲು ಸೆಟ್. ಕಾರ್ಯವನ್ನು ಸಹ ಬಳಸಲಾಗುತ್ತದೆ ref - ಕೋಡ್‌ನಲ್ಲಿ ಇತರ ಮಾದರಿಗಳನ್ನು ಉಲ್ಲೇಖಿಸುವ ಸಾಮರ್ಥ್ಯ:

  • ಸಂಕಲನದ ಸಮಯದಲ್ಲಿ ref ಸ್ಟೋರೇಜ್‌ನಲ್ಲಿ ಟೇಬಲ್ ಅಥವಾ ವೀಕ್ಷಣೆಗೆ ಟಾರ್ಗೆಟ್ ಪಾಯಿಂಟರ್‌ಗೆ ಪರಿವರ್ತಿಸಲಾಗುತ್ತದೆ
  • ref ಮಾದರಿ ಅವಲಂಬನೆ ಗ್ರಾಫ್ ಅನ್ನು ನಿರ್ಮಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ

ಅದು ಜಿಂಜ DBT ಗೆ ಬಹುತೇಕ ಅನಿಯಮಿತ ಸಾಧ್ಯತೆಗಳನ್ನು ಸೇರಿಸುತ್ತದೆ. ಸಾಮಾನ್ಯವಾಗಿ ಬಳಸುವವುಗಳೆಂದರೆ:

  • ಒಂದು ವೇಳೆ / ಬೇರೆ ಹೇಳಿಕೆಗಳು - ಶಾಖೆಯ ಹೇಳಿಕೆಗಳು
  • ಲೂಪ್ಗಳಿಗಾಗಿ
  • ಅಸ್ಥಿರ
  • ಮ್ಯಾಕ್ರೋ - ಮ್ಯಾಕ್ರೋಗಳನ್ನು ರಚಿಸುವುದು

ಮೆಟೀರಿಯಲೈಸೇಶನ್: ಟೇಬಲ್, ವ್ಯೂ, ಇನ್ಕ್ರಿಮೆಂಟಲ್

ಮೆಟೀರಿಯಲೈಸೇಶನ್ ತಂತ್ರವು ಒಂದು ವಿಧಾನವಾಗಿದ್ದು, ಅದರ ಪ್ರಕಾರ ಮಾದರಿ ಡೇಟಾದ ಸೆಟ್ ಅನ್ನು ಸಂಗ್ರಹಣೆಯಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ.

ಮೂಲಭೂತ ಪರಿಭಾಷೆಯಲ್ಲಿ ಇದು:

  • ಟೇಬಲ್ - ಶೇಖರಣೆಯಲ್ಲಿ ಭೌತಿಕ ಕೋಷ್ಟಕ
  • ವೀಕ್ಷಿಸಿ - ವೀಕ್ಷಿಸಿ, ಸಂಗ್ರಹಣೆಯಲ್ಲಿ ವರ್ಚುವಲ್ ಟೇಬಲ್

ಹೆಚ್ಚು ಸಂಕೀರ್ಣ ವಸ್ತುೀಕರಣ ತಂತ್ರಗಳು ಇವೆ:

  • ಹೆಚ್ಚುತ್ತಿರುವ - ಹೆಚ್ಚುತ್ತಿರುವ ಲೋಡಿಂಗ್ (ದೊಡ್ಡ ಸತ್ಯ ಕೋಷ್ಟಕಗಳ); ಹೊಸ ಸಾಲುಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ, ಬದಲಾದ ಸಾಲುಗಳನ್ನು ನವೀಕರಿಸಲಾಗಿದೆ, ಅಳಿಸಲಾದ ಸಾಲುಗಳನ್ನು ತೆರವುಗೊಳಿಸಲಾಗಿದೆ 
  • ಅಲ್ಪಕಾಲಿಕ - ಮಾದರಿಯು ನೇರವಾಗಿ ಕಾರ್ಯರೂಪಕ್ಕೆ ಬರುವುದಿಲ್ಲ, ಆದರೆ ಇತರ ಮಾದರಿಗಳಲ್ಲಿ CTE ಆಗಿ ಭಾಗವಹಿಸುತ್ತದೆ
  • ಯಾವುದೇ ಇತರ ತಂತ್ರಗಳನ್ನು ನೀವೇ ಸೇರಿಸಬಹುದು

ವಸ್ತುೀಕರಣ ತಂತ್ರಗಳ ಜೊತೆಗೆ, ನಿರ್ದಿಷ್ಟ ಸಂಗ್ರಹಣೆಗಳಿಗೆ ಆಪ್ಟಿಮೈಸೇಶನ್‌ಗೆ ಅವಕಾಶಗಳಿವೆ, ಉದಾಹರಣೆಗೆ:

  • ಮಂಜುಚಕ್ಕೆಗಳು: ಅಸ್ಥಿರ ಕೋಷ್ಟಕಗಳು, ವಿಲೀನ ವರ್ತನೆ, ಟೇಬಲ್ ಕ್ಲಸ್ಟರಿಂಗ್, ಅನುದಾನಗಳನ್ನು ನಕಲಿಸುವುದು, ಸುರಕ್ಷಿತ ವೀಕ್ಷಣೆಗಳು
  • ರೆಡ್ ಷಿಫ್ಟ್: ಡಿಸ್ಟ್‌ಕೀ, ಸಾರ್ಟ್‌ಕೀ (ಇಂಟರ್‌ಲೀವ್ಡ್, ಕಾಂಪೌಂಡ್), ಲೇಟ್ ಬೈಂಡಿಂಗ್ ವೀಕ್ಷಣೆಗಳು
  • ಬಿಗ್‌ವೇರ್: ಟೇಬಲ್ ವಿಭಜನೆ ಮತ್ತು ಕ್ಲಸ್ಟರಿಂಗ್, ನಡವಳಿಕೆಯನ್ನು ವಿಲೀನಗೊಳಿಸಿ, KMS ಎನ್‌ಕ್ರಿಪ್ಶನ್, ಲೇಬಲ್‌ಗಳು ಮತ್ತು ಟ್ಯಾಗ್‌ಗಳು
  • ಸ್ಪಾರ್ಕ್: ಫೈಲ್ ಫಾರ್ಮ್ಯಾಟ್ (ಪಾರ್ಕ್ವೆಟ್, csv, json, orc, delta), partition_by, clustered_by, buckets, incremental_strategy

ಕೆಳಗಿನ ಸಂಗ್ರಹಣೆಗಳು ಪ್ರಸ್ತುತ ಬೆಂಬಲಿತವಾಗಿದೆ:

  • ಪೋಸ್ಟ್‌ಗ್ರೆಸ್
  • ರೆಡ್ ಷಿಫ್ಟ್
  • ಬಿಗ್‌ವೇರ್
  • ಮಂಜುಚಕ್ಕೆಗಳು
  • ಪ್ರೆಸ್ಟೊ (ಭಾಗಶಃ)
  • ಸ್ಪಾರ್ಕ್ (ಭಾಗಶಃ)
  • ಮೈಕ್ರೋಸಾಫ್ಟ್ SQL ಸರ್ವರ್ (ಸಮುದಾಯ ಅಡಾಪ್ಟರ್)

ನಮ್ಮ ಮಾದರಿಯನ್ನು ಸುಧಾರಿಸೋಣ:

  • ಅದರ ಭರ್ತಿಯನ್ನು ಇನ್ಕ್ರಿಮೆಂಟಲ್ ಮಾಡೋಣ (ಹೆಚ್ಚುವರಿ)
  • ರೆಡ್‌ಶಿಫ್ಟ್‌ಗಾಗಿ ವಿಭಜನೆ ಮತ್ತು ವಿಂಗಡಣೆಯ ಕೀಗಳನ್ನು ಸೇರಿಸೋಣ

-- Конфигурация модели: 
-- Инкрементальное наполнение, уникальный ключ для обновления записей (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 (ನಿರ್ದೇಶಿತ ಅಸಿಕ್ಲಿಕ್ ಗ್ರಾಫ್) ಎಂದೂ ಕರೆಯಲಾಗುತ್ತದೆ.

DBT ಎಲ್ಲಾ ಪ್ರಾಜೆಕ್ಟ್ ಮಾದರಿಗಳ ಸಂರಚನೆಯ ಆಧಾರದ ಮೇಲೆ ಗ್ರಾಫ್ ಅನ್ನು ನಿರ್ಮಿಸುತ್ತದೆ, ಅಥವಾ ಬದಲಿಗೆ, ಇತರ ಮಾದರಿಗಳಿಗೆ ಮಾದರಿಗಳ ಒಳಗೆ ref() ಲಿಂಕ್‌ಗಳು. ಗ್ರಾಫ್ ಹೊಂದಿರುವ ನೀವು ಈ ಕೆಳಗಿನ ಕೆಲಸಗಳನ್ನು ಮಾಡಲು ಅನುಮತಿಸುತ್ತದೆ:

  • ಸರಿಯಾದ ಅನುಕ್ರಮದಲ್ಲಿ ಚಾಲನೆಯಲ್ಲಿರುವ ಮಾದರಿಗಳು
  • ಅಂಗಡಿ ಮುಂಭಾಗದ ರಚನೆಯ ಸಮಾನಾಂತರೀಕರಣ
  • ಅನಿಯಂತ್ರಿತ ಉಪಗ್ರಾಫ್ ಅನ್ನು ರನ್ ಮಾಡಲಾಗುತ್ತಿದೆ 

ಗ್ರಾಫ್ ದೃಶ್ಯೀಕರಣದ ಉದಾಹರಣೆ:

ಡೇಟಾ ಬಿಲ್ಡ್ ಟೂಲ್ ಅಥವಾ ಡೇಟಾ ವೇರ್‌ಹೌಸ್ ಮತ್ತು ಸ್ಮೂಥಿ ನಡುವೆ ಸಾಮಾನ್ಯವಾಗಿದೆ
ಗ್ರಾಫ್‌ನ ಪ್ರತಿಯೊಂದು ನೋಡ್ ಒಂದು ಮಾದರಿಯಾಗಿದೆ; ಗ್ರಾಫ್‌ನ ಅಂಚುಗಳನ್ನು ಅಭಿವ್ಯಕ್ತಿ ref ನಿಂದ ನಿರ್ದಿಷ್ಟಪಡಿಸಲಾಗಿದೆ.

ಡೇಟಾ ಗುಣಮಟ್ಟ ಮತ್ತು ದಾಖಲೆ

ಮಾದರಿಗಳನ್ನು ಸ್ವತಃ ಉತ್ಪಾದಿಸುವುದರ ಜೊತೆಗೆ, DBT ನಿಮಗೆ ಪರಿಣಾಮವಾಗಿ ಡೇಟಾ ಸೆಟ್ ಬಗ್ಗೆ ಹಲವಾರು ಊಹೆಗಳನ್ನು ಪರೀಕ್ಷಿಸಲು ಅನುಮತಿಸುತ್ತದೆ, ಉದಾಹರಣೆಗೆ:

  • ಶೂನ್ಯವಲ್ಲ
  • ವಿಶಿಷ್ಟ
  • ಉಲ್ಲೇಖ ಸಮಗ್ರತೆ - ಉಲ್ಲೇಖಿತ ಸಮಗ್ರತೆ (ಉದಾಹರಣೆಗೆ, ಆದೇಶಗಳ ಕೋಷ್ಟಕದಲ್ಲಿನ ಗ್ರಾಹಕ_ಐಡಿ ಗ್ರಾಹಕರ ಕೋಷ್ಟಕದಲ್ಲಿನ ಐಡಿಗೆ ಅನುರೂಪವಾಗಿದೆ)
  • ಸ್ವೀಕಾರಾರ್ಹ ಮೌಲ್ಯಗಳ ಪಟ್ಟಿಯನ್ನು ಹೊಂದಿಸುವುದು

ನಿಮ್ಮ ಸ್ವಂತ ಪರೀಕ್ಷೆಗಳನ್ನು (ಕಸ್ಟಮ್ ಡೇಟಾ ಪರೀಕ್ಷೆಗಳು) ಸೇರಿಸಲು ಸಾಧ್ಯವಿದೆ, ಉದಾಹರಣೆಗೆ, ಒಂದು ದಿನ, ಒಂದು ವಾರ, ಒಂದು ತಿಂಗಳ ಹಿಂದಿನ ಸೂಚಕಗಳೊಂದಿಗೆ ಆದಾಯದ % ವಿಚಲನ. SQL ಪ್ರಶ್ನೆಯಂತೆ ರೂಪಿಸಲಾದ ಯಾವುದೇ ಊಹೆಯು ಪರೀಕ್ಷೆಯಾಗಬಹುದು.

ಈ ರೀತಿಯಾಗಿ, ವೇರ್ಹೌಸ್ ವಿಂಡೋಗಳಲ್ಲಿನ ಡೇಟಾದಲ್ಲಿ ಅನಗತ್ಯ ವಿಚಲನಗಳು ಮತ್ತು ದೋಷಗಳನ್ನು ನೀವು ಹಿಡಿಯಬಹುದು.

ದಾಖಲಾತಿಗೆ ಸಂಬಂಧಿಸಿದಂತೆ, DBT ಮೆಟಾಡೇಟಾ ಮತ್ತು ಕಾಮೆಂಟ್‌ಗಳನ್ನು ಮಾದರಿ ಮತ್ತು ಗುಣಲಕ್ಷಣದ ಹಂತಗಳಲ್ಲಿ ಸೇರಿಸಲು, ಆವೃತ್ತಿ ಮಾಡಲು ಮತ್ತು ವಿತರಿಸಲು ಕಾರ್ಯವಿಧಾನಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ. 

ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ ಮಟ್ಟದಲ್ಲಿ ಪರೀಕ್ಷೆಗಳು ಮತ್ತು ದಸ್ತಾವೇಜನ್ನು ಸೇರಿಸುವುದು ಹೇಗೆ ಕಾಣುತ್ತದೆ ಎಂಬುದು ಇಲ್ಲಿದೆ:

 - 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 ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳ ಒಂದು ಸೆಟ್ ಆಗಲು ತುಂಬಾ ಅಲ್ಲ, ಆದರೆ ಬಳಕೆದಾರರಿಗೆ ತಮ್ಮದೇ ಆದ ರೂಪಾಂತರಗಳನ್ನು ನಿರ್ಮಿಸಲು ಮತ್ತು ಈ ಮಾಡ್ಯೂಲ್‌ಗಳನ್ನು ವಿತರಿಸಲು ಪ್ರಬಲ ಮತ್ತು ವೈಶಿಷ್ಟ್ಯ-ಸಮೃದ್ಧ ವಿಧಾನಗಳನ್ನು ಒದಗಿಸುವುದು.

ಮ್ಯಾಕ್ರೋಗಳು ರಚನೆಗಳು ಮತ್ತು ಅಭಿವ್ಯಕ್ತಿಗಳ ಸೆಟ್ಗಳಾಗಿವೆ, ಇದನ್ನು ಮಾದರಿಗಳಲ್ಲಿ ಕಾರ್ಯಗಳು ಎಂದು ಕರೆಯಬಹುದು. DRY (ನಿಮ್ಮನ್ನು ಪುನರಾವರ್ತಿಸಬೇಡಿ) ಎಂಜಿನಿಯರಿಂಗ್ ತತ್ವಕ್ಕೆ ಅನುಗುಣವಾಗಿ ಮಾದರಿಗಳು ಮತ್ತು ಯೋಜನೆಗಳ ನಡುವೆ SQL ಅನ್ನು ಮರುಬಳಕೆ ಮಾಡಲು ಮ್ಯಾಕ್ರೋಗಳು ನಿಮಗೆ ಅವಕಾಶ ಮಾಡಿಕೊಡುತ್ತವೆ.

ಮ್ಯಾಕ್ರೋ ಉದಾಹರಣೆ:

{% 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 ಪ್ಯಾಕೇಜ್ ಮ್ಯಾನೇಜರ್‌ನೊಂದಿಗೆ ಬರುತ್ತದೆ ಅದು ಬಳಕೆದಾರರಿಗೆ ಪ್ರತ್ಯೇಕ ಮಾಡ್ಯೂಲ್‌ಗಳು ಮತ್ತು ಮ್ಯಾಕ್ರೋಗಳನ್ನು ಪ್ರಕಟಿಸಲು ಮತ್ತು ಮರುಬಳಕೆ ಮಾಡಲು ಅನುಮತಿಸುತ್ತದೆ.

ಇದರರ್ಥ ಲೈಬ್ರರಿಗಳನ್ನು ಲೋಡ್ ಮಾಡಲು ಮತ್ತು ಬಳಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ:

  • dbt_utils: ದಿನಾಂಕ/ಸಮಯ, ಬಾಡಿಗೆ ಕೀಗಳು, ಸ್ಕೀಮಾ ಪರೀಕ್ಷೆಗಳು, ಪಿವೋಟ್/ಅನ್‌ಪಿವೋಟ್ ಮತ್ತು ಇತರರೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವುದು
  • ಸೇವೆಗಳಿಗಾಗಿ ಸಿದ್ಧ-ನಿರ್ಮಿತ ಪ್ರದರ್ಶನ ಟೆಂಪ್ಲೇಟ್‌ಗಳು ಸ್ನೋಪ್ಲೋ и ಪಟ್ಟಿ 
  • ನಿರ್ದಿಷ್ಟ ಡೇಟಾ ಸ್ಟೋರ್‌ಗಳಿಗಾಗಿ ಲೈಬ್ರರಿಗಳು, ಉದಾ. ರೆಡ್ ಷಿಫ್ಟ್ 
  • ಲಾಗಿಂಗ್ - DBT ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಲಾಗಿಂಗ್ ಮಾಡಲು ಮಾಡ್ಯೂಲ್

ಪ್ಯಾಕೇಜ್‌ಗಳ ಸಂಪೂರ್ಣ ಪಟ್ಟಿಯನ್ನು ಇಲ್ಲಿ ಕಾಣಬಹುದು ಡಿಬಿಟಿ ಹಬ್.

ಇನ್ನೂ ಹೆಚ್ಚಿನ ವೈಶಿಷ್ಟ್ಯಗಳು

ತಂಡ ಮತ್ತು ನಾನು ಡೇಟಾ ವೇರ್‌ಹೌಸ್ ಅನ್ನು ನಿರ್ಮಿಸಲು ಬಳಸುವ ಕೆಲವು ಇತರ ಆಸಕ್ತಿದಾಯಕ ವೈಶಿಷ್ಟ್ಯಗಳು ಮತ್ತು ಅನುಷ್ಠಾನಗಳನ್ನು ಇಲ್ಲಿ ನಾನು ವಿವರಿಸುತ್ತೇನೆ ವ್ಹೀಲಿ.

ರನ್ಟೈಮ್ ಪರಿಸರಗಳ ಪ್ರತ್ಯೇಕತೆ 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 -%}
 
)

ಈ ಕೋಡ್ ಅಕ್ಷರಶಃ ಹೇಳುತ್ತದೆ: ಪರಿಸರಕ್ಕಾಗಿ ದೇವ್, ಟೆಸ್ಟ್, ಸಿ.ಐ ಕಳೆದ 3 ದಿನಗಳವರೆಗೆ ಮಾತ್ರ ಡೇಟಾವನ್ನು ತೆಗೆದುಕೊಳ್ಳಿ ಮತ್ತು ಇನ್ನು ಮುಂದೆ ಇಲ್ಲ. ಅಂದರೆ, ಈ ಪರಿಸರದಲ್ಲಿ ಓಡುವುದು ಹೆಚ್ಚು ವೇಗವಾಗಿರುತ್ತದೆ ಮತ್ತು ಕಡಿಮೆ ಸಂಪನ್ಮೂಲಗಳ ಅಗತ್ಯವಿರುತ್ತದೆ. ಪರಿಸರದಲ್ಲಿ ಓಡುವಾಗ ಉತ್ಪನ್ನ ಫಿಲ್ಟರ್ ಸ್ಥಿತಿಯನ್ನು ನಿರ್ಲಕ್ಷಿಸಲಾಗುತ್ತದೆ.

ಪರ್ಯಾಯ ಕಾಲಮ್ ಎನ್‌ಕೋಡಿಂಗ್‌ನೊಂದಿಗೆ ಮೆಟೀರಿಯಲೈಸೇಶನ್

ರೆಡ್‌ಶಿಫ್ಟ್ ಎನ್ನುವುದು ಸ್ತಂಭಾಕಾರದ DBMS ಆಗಿದ್ದು ಅದು ಪ್ರತಿಯೊಂದು ಕಾಲಮ್‌ಗೆ ಡೇಟಾ ಕಂಪ್ರೆಷನ್ ಅಲ್ಗಾರಿದಮ್‌ಗಳನ್ನು ಹೊಂದಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಸೂಕ್ತವಾದ ಕ್ರಮಾವಳಿಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡುವುದರಿಂದ ಡಿಸ್ಕ್ ಜಾಗವನ್ನು 20-50% ರಷ್ಟು ಕಡಿಮೆ ಮಾಡಬಹುದು.

ಮ್ಯಾಕ್ರೋ redshift.compress_table ANYZE 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 (ಬಳಕೆದಾರರ ವ್ಯಾಖ್ಯಾನಿತ ಕಾರ್ಯಗಳು) ನಂತಹ ಬಳಸಿದ ರೆಪೊಸಿಟರಿಯ ಕೆಲವು ವಿಸ್ತರಣೆಗಳನ್ನು ನೀವು ಬಳಸಿದರೆ, ನಂತರ ಈ ಕಾರ್ಯಗಳ ಆವೃತ್ತಿ, ಪ್ರವೇಶ ನಿಯಂತ್ರಣ ಮತ್ತು ಹೊಸ ಬಿಡುಗಡೆಗಳ ಸ್ವಯಂಚಾಲಿತ ರೋಲಿಂಗ್ DBT ಯಲ್ಲಿ ಮಾಡಲು ತುಂಬಾ ಅನುಕೂಲಕರವಾಗಿದೆ.

ಹ್ಯಾಶ್‌ಗಳು, ಇಮೇಲ್ ಡೊಮೇನ್‌ಗಳು ಮತ್ತು ಬಿಟ್‌ಮಾಸ್ಕ್ ಡಿಕೋಡಿಂಗ್ ಅನ್ನು ಲೆಕ್ಕಾಚಾರ ಮಾಡಲು ನಾವು ಪೈಥಾನ್‌ನಲ್ಲಿ 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 %}

ವೀಲಿಯಲ್ಲಿ ನಾವು ಅಮೆಜಾನ್ ರೆಡ್‌ಶಿಫ್ಟ್ ಅನ್ನು ಬಳಸುತ್ತೇವೆ, ಇದು PostgreSQL ಅನ್ನು ಆಧರಿಸಿದೆ. ರೆಡ್‌ಶಿಫ್ಟ್‌ಗಾಗಿ, ಕೋಷ್ಟಕಗಳಲ್ಲಿ ಅಂಕಿಅಂಶಗಳನ್ನು ನಿಯಮಿತವಾಗಿ ಸಂಗ್ರಹಿಸುವುದು ಮತ್ತು ಡಿಸ್ಕ್ ಜಾಗವನ್ನು ಮುಕ್ತಗೊಳಿಸುವುದು ಮುಖ್ಯವಾಗಿದೆ - ಕ್ರಮವಾಗಿ ವಿಶ್ಲೇಷಣೆ ಮತ್ತು ನಿರ್ವಾತ ಆಜ್ಞೆಗಳು.

ಇದನ್ನು ಮಾಡಲು, 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 ಅನ್ನು ಸೇವೆಯಾಗಿ ಬಳಸಲು ಸಾಧ್ಯವಿದೆ (ನಿರ್ವಹಣೆಯ ಸೇವೆ). ಒಳಗೊಂಡಿದೆ:

  • ಯೋಜನೆಗಳು ಮತ್ತು ಮಾದರಿಗಳನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಲು ವೆಬ್ IDE
  • ಕೆಲಸದ ಸಂರಚನೆ ಮತ್ತು ವೇಳಾಪಟ್ಟಿ
  • ಲಾಗ್‌ಗಳಿಗೆ ಸರಳ ಮತ್ತು ಅನುಕೂಲಕರ ಪ್ರವೇಶ
  • ನಿಮ್ಮ ಯೋಜನೆಯ ದಾಖಲಾತಿಯೊಂದಿಗೆ ವೆಬ್‌ಸೈಟ್
  • CI (ನಿರಂತರ ಏಕೀಕರಣ) ಸಂಪರ್ಕಿಸಲಾಗುತ್ತಿದೆ

ಡೇಟಾ ಬಿಲ್ಡ್ ಟೂಲ್ ಅಥವಾ ಡೇಟಾ ವೇರ್‌ಹೌಸ್ ಮತ್ತು ಸ್ಮೂಥಿ ನಡುವೆ ಸಾಮಾನ್ಯವಾಗಿದೆ

ತೀರ್ಮಾನಕ್ಕೆ

DWH ಅನ್ನು ತಯಾರಿಸುವುದು ಮತ್ತು ಸೇವಿಸುವುದು ಸ್ಮೂಥಿಯನ್ನು ಕುಡಿಯುವಷ್ಟು ಆನಂದದಾಯಕ ಮತ್ತು ಪ್ರಯೋಜನಕಾರಿಯಾಗುತ್ತದೆ. DBT ಜಿಂಜಾ, ಬಳಕೆದಾರ ವಿಸ್ತರಣೆಗಳು (ಮಾಡ್ಯೂಲ್‌ಗಳು), ಕಂಪೈಲರ್, ಎಕ್ಸಿಕ್ಯೂಟರ್ ಮತ್ತು ಪ್ಯಾಕೇಜ್ ಮ್ಯಾನೇಜರ್ ಅನ್ನು ಒಳಗೊಂಡಿದೆ. ಈ ಅಂಶಗಳನ್ನು ಒಟ್ಟಿಗೆ ಸೇರಿಸುವ ಮೂಲಕ ನಿಮ್ಮ ಡೇಟಾ ವೇರ್‌ಹೌಸ್‌ಗಾಗಿ ನೀವು ಸಂಪೂರ್ಣ ಕೆಲಸದ ವಾತಾವರಣವನ್ನು ಪಡೆಯುತ್ತೀರಿ. ಇಂದು DWH ಒಳಗೆ ರೂಪಾಂತರವನ್ನು ನಿರ್ವಹಿಸಲು ಉತ್ತಮ ಮಾರ್ಗವಿಲ್ಲ.

ಡೇಟಾ ಬಿಲ್ಡ್ ಟೂಲ್ ಅಥವಾ ಡೇಟಾ ವೇರ್‌ಹೌಸ್ ಮತ್ತು ಸ್ಮೂಥಿ ನಡುವೆ ಸಾಮಾನ್ಯವಾಗಿದೆ

DBT ಯ ಅಭಿವರ್ಧಕರು ಅನುಸರಿಸುವ ನಂಬಿಕೆಗಳನ್ನು ಈ ಕೆಳಗಿನಂತೆ ರೂಪಿಸಲಾಗಿದೆ:

  • ಕೋಡ್, GUI ಅಲ್ಲ, ಸಂಕೀರ್ಣ ವಿಶ್ಲೇಷಣಾತ್ಮಕ ತರ್ಕವನ್ನು ವ್ಯಕ್ತಪಡಿಸಲು ಅತ್ಯುತ್ತಮ ಅಮೂರ್ತತೆಯಾಗಿದೆ
  • ಡೇಟಾದೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವುದು ಸಾಫ್ಟ್‌ವೇರ್ ಎಂಜಿನಿಯರಿಂಗ್‌ನಲ್ಲಿ ಉತ್ತಮ ಅಭ್ಯಾಸಗಳನ್ನು ಅಳವಡಿಸಿಕೊಳ್ಳಬೇಕು (ಸಾಫ್ಟ್‌ವೇರ್ ಎಂಜಿನಿಯರಿಂಗ್)

  • ಕ್ರಿಟಿಕಲ್ ಡೇಟಾ ಮೂಲಸೌಕರ್ಯವನ್ನು ಬಳಕೆದಾರರ ಸಮುದಾಯವು ಓಪನ್ ಸೋರ್ಸ್ ಸಾಫ್ಟ್‌ವೇರ್‌ನಂತೆ ನಿಯಂತ್ರಿಸಬೇಕು
  • ಅನಾಲಿಟಿಕ್ಸ್ ಪರಿಕರಗಳು ಮಾತ್ರವಲ್ಲ, ಕೋಡ್ ಕೂಡ ಓಪನ್ ಸೋರ್ಸ್ ಸಮುದಾಯದ ಆಸ್ತಿಯಾಗಿ ಪರಿಣಮಿಸುತ್ತದೆ

ಈ ಪ್ರಮುಖ ನಂಬಿಕೆಗಳು ಇಂದು 850 ಕ್ಕೂ ಹೆಚ್ಚು ಕಂಪನಿಗಳಿಂದ ಬಳಸಲ್ಪಡುವ ಉತ್ಪನ್ನವನ್ನು ಹುಟ್ಟುಹಾಕಿವೆ ಮತ್ತು ಭವಿಷ್ಯದಲ್ಲಿ ರಚಿಸಲಾಗುವ ಅನೇಕ ಉತ್ತೇಜಕ ವಿಸ್ತರಣೆಗಳಿಗೆ ಅವು ಆಧಾರವಾಗಿವೆ.

ಆಸಕ್ತರಿಗೆ, OTUS ನಲ್ಲಿ ತೆರೆದ ಪಾಠದ ಭಾಗವಾಗಿ ನಾನು ಕೆಲವು ತಿಂಗಳ ಹಿಂದೆ ನೀಡಿದ ತೆರೆದ ಪಾಠದ ವೀಡಿಯೊ ಇದೆ - Amazon Redshift ಸಂಗ್ರಹಣೆಗಾಗಿ ಡೇಟಾ ಬಿಲ್ಡ್ ಟೂಲ್.

DBT ಮತ್ತು ಡೇಟಾ ವೇರ್‌ಹೌಸಿಂಗ್ ಜೊತೆಗೆ, OTUS ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ನಲ್ಲಿನ ಡೇಟಾ ಇಂಜಿನಿಯರ್ ಕೋರ್ಸ್‌ನ ಭಾಗವಾಗಿ, ನನ್ನ ಸಹೋದ್ಯೋಗಿಗಳು ಮತ್ತು ನಾನು ಹಲವಾರು ಇತರ ಸಂಬಂಧಿತ ಮತ್ತು ಆಧುನಿಕ ವಿಷಯಗಳ ಕುರಿತು ತರಗತಿಗಳನ್ನು ಕಲಿಸುತ್ತೇವೆ:

  • ಬಿಗ್ ಡೇಟಾ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗಾಗಿ ಆರ್ಕಿಟೆಕ್ಚರಲ್ ಕಾನ್ಸೆಪ್ಟ್‌ಗಳು
  • ಸ್ಪಾರ್ಕ್ ಮತ್ತು ಸ್ಪಾರ್ಕ್ ಸ್ಟ್ರೀಮಿಂಗ್‌ನೊಂದಿಗೆ ಅಭ್ಯಾಸ ಮಾಡಿ
  • ಡೇಟಾ ಮೂಲಗಳನ್ನು ಲೋಡ್ ಮಾಡಲು ವಿಧಾನಗಳು ಮತ್ತು ಪರಿಕರಗಳನ್ನು ಅನ್ವೇಷಿಸುವುದು
  • DWH ನಲ್ಲಿ ವಿಶ್ಲೇಷಣಾತ್ಮಕ ಪ್ರದರ್ಶನಗಳನ್ನು ನಿರ್ಮಿಸುವುದು
  • NoSQL ಪರಿಕಲ್ಪನೆಗಳು: HBase, Cassandra, ElasticSearch
  • ಮೇಲ್ವಿಚಾರಣೆ ಮತ್ತು ವಾದ್ಯವೃಂದದ ತತ್ವಗಳು 
  • ಅಂತಿಮ ಯೋಜನೆ: ಮಾರ್ಗದರ್ಶನ ಬೆಂಬಲದ ಅಡಿಯಲ್ಲಿ ಎಲ್ಲಾ ಕೌಶಲ್ಯಗಳನ್ನು ಒಟ್ಟಿಗೆ ಸೇರಿಸುವುದು

ಉಲ್ಲೇಖಗಳು:

  1. DBT ದಸ್ತಾವೇಜನ್ನು - ಪರಿಚಯ - ಅಧಿಕೃತ ದಾಖಲೆ
  2. ನಿಖರವಾಗಿ, ಡಿಬಿಟಿ ಎಂದರೇನು? - ಡಿಬಿಟಿಯ ಲೇಖಕರೊಬ್ಬರ ವಿಮರ್ಶೆ ಲೇಖನ 
  3. Amazon Redshift ಸಂಗ್ರಹಣೆಗಾಗಿ ಡೇಟಾ ಬಿಲ್ಡ್ ಟೂಲ್ - YouTube, OTUS ತೆರೆದ ಪಾಠದ ರೆಕಾರ್ಡಿಂಗ್
  4. ಗ್ರೀನ್‌ಪ್ಲಮ್ ಅನ್ನು ತಿಳಿದುಕೊಳ್ಳುವುದು - ಮುಂದಿನ ತೆರೆದ ಪಾಠವು ಮೇ 15, 2020 ಆಗಿದೆ
  5. ಡೇಟಾ ಎಂಜಿನಿಯರಿಂಗ್ ಕೋರ್ಸ್ -ಓಟಸ್
  6. ಪ್ರಬುದ್ಧ ಅನಾಲಿಟಿಕ್ಸ್ ವರ್ಕ್‌ಫ್ಲೋ ಅನ್ನು ನಿರ್ಮಿಸುವುದು — ಡೇಟಾ ಮತ್ತು ಅನಾಲಿಟಿಕ್ಸ್‌ನ ಭವಿಷ್ಯದ ನೋಟ
  7. ಇದು ಓಪನ್ ಸೋರ್ಸ್ ಅನಾಲಿಟಿಕ್ಸ್‌ಗೆ ಸಮಯ - ವಿಶ್ಲೇಷಣೆಯ ವಿಕಸನ ಮತ್ತು ಮುಕ್ತ ಮೂಲದ ಪ್ರಭಾವ
  8. dbtCloud ಜೊತೆಗೆ ನಿರಂತರ ಏಕೀಕರಣ ಮತ್ತು ಸ್ವಯಂಚಾಲಿತ ನಿರ್ಮಾಣ ಪರೀಕ್ಷೆ - DBT ಬಳಸಿಕೊಂಡು CI ಅನ್ನು ನಿರ್ಮಿಸುವ ತತ್ವಗಳು
  9. DBT ಟ್ಯುಟೋರಿಯಲ್‌ನೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತಿದೆ - ಅಭ್ಯಾಸ, ಸ್ವತಂತ್ರ ಕೆಲಸಕ್ಕಾಗಿ ಹಂತ-ಹಂತದ ಸೂಚನೆಗಳು
  10. ಜಾಫಲ್ ಅಂಗಡಿ - ಗಿಥಬ್ ಡಿಬಿಟಿ ಟ್ಯುಟೋರಿಯಲ್ - ಗಿಥಬ್, ಶೈಕ್ಷಣಿಕ ಯೋಜನೆಯ ಕೋಡ್

ಕೋರ್ಸ್ ಬಗ್ಗೆ ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ.

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ