Data Build Tool na izay mahazatra eo amin'ny Data Warehouse sy Smoothie

Data Build Tool na izay mahazatra eo amin'ny Data Warehouse sy Smoothie
Amin'ny fitsipika inona no amboarina Data Warehouse?

Mifantoha amin'ny sandan'ny orinasa sy ny fanadihadiana raha tsy misy ny code boilerplate. Ny fitantanana ny DWH ho codebase: versioning, review, automated test ary CI. Modular, extensible, open source ary fiaraha-monina. Ny antontan-taratasy mora ampiasaina sy ny fijerena ny fiankinan-doha (Data Lineage).

Bebe kokoa momba izany rehetra izany sy ny andraikitry ny DBT ao amin'ny tontolo iainana Big Data & Analytics - tongasoa eto amin'ny saka.

Salama daholo

Artemy Kozyr dia mifandray. Nandritra ny 5 taona mahery aho no niara-niasa tamin'ny trano fanatobiana data, nanangana ETL/ELT, ary koa ny famakafakana angon-drakitra sy ny fijerena sary. Miasa amin'izao fotoana izao aho Wheely, Mampianatra ao amin'ny OTUS amin'ny taranja iray aho Data Engineer, ary androany aho dia te hizara aminareo lahatsoratra iray izay nosoratako ho fiandrasana ny fanombohana fisoratana anarana vaovao ho an'ny taranja.

Fampahalalana fohy

Ny rafitra DBT dia momba ny T ao amin'ny fanafohezana ELT (Extract - Transform - Load).

Miaraka amin'ny fahatongavan'ireo angona famakafakana mamokatra sy azo esorina toy ny BigQuery, Redshift, Snowflake, dia tsy nisy dikany ny fanaovana fanovana ivelan'ny Data Warehouse. 

Ny DBT dia tsy misintona angona avy amin'ny loharano, fa manome fahafahana lehibe hiasa miaraka amin'ny angon-drakitra efa nampidirina tao amin'ny Storage (ao amin'ny fitahirizana anatiny na ivelany).

Data Build Tool na izay mahazatra eo amin'ny Data Warehouse sy Smoothie
Ny tanjon'ny DBT dia ny maka ny code, manangona azy ao amin'ny SQL, manatanteraka ny baiko amin'ny filaharana marina ao amin'ny Repository.

DBT Project Structure

Ny tetikasa dia ahitana lahatahiry sy rakitra misy karazany 2 ihany:

  • Modely (.sql) - singa iray amin'ny fanovana aseho amin'ny fangatahana SELECT
  • File configuration (.yml) - masontsivana, toe-javatra, fitsapana, antontan-taratasy

Amin'ny ambaratonga fototra, ny asa dia voarafitra toy izao manaraka izao:

  • Ny mpampiasa dia manomana kaody modely amin'ny IDE mety
  • Amin'ny fampiasana ny CLI, natomboka ny modely, ny DBT dia manangona ny kaody modely amin'ny SQL
  • Ny kaody SQL natambatra dia tanterahana ao amin'ny fitahirizana amin'ny filaharana nomena (sary)

Ity ny mety ho endriky ny fandehanana avy amin'ny CLI:

Data Build Tool na izay mahazatra eo amin'ny Data Warehouse sy Smoothie

Ny zavatra rehetra dia SELECT

Ity dia singa mahafaty amin'ny rafitra Data Build Tool. Raha lazaina amin'ny teny hafa, ny DBT dia manaisotra ny kaody rehetra mifandraika amin'ny fametrahana ny fanontanianao ao amin'ny fivarotana (fiovaovan'ny baiko CREATE, INSERT, UPDATE, DELETE ALTER, GRANT, ...).

Ny modely rehetra dia misy ny fanoratana fanontaniana SELECT iray izay mamaritra ny angon-drakitra vokarina.

Amin'ity tranga ity, ny lojikan'ny fanovΓ na dia mety ho ambaratonga maro ary manambatra angona avy amin'ny modely maro hafa. Ohatra iray amin'ny maodely iray izay hanangana fampirantiana baiko (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

Inona no zavatra mahaliana hitantsika eto?

Voalohany: CTE (Expression Common Table Expressions) - handaminana sy hahatakatra ny kaody misy fiovana maro sy lojikan'ny fandraharahana.

Faharoa: Ny kaody modely dia fifangaroan'ny SQL sy ny fiteny Jinja (fitenin'ny template).

Ny ohatra dia mampiasa loop ho an'ny hamokatra ny vola isaky ny fomba fandoavam-bola voalaza ao amin'ny fitenenana voatendry. Ny asa ihany koa dia ampiasaina ref - ny fahafahana manondro modely hafa ao anatin'ny kaody:

  • Nandritra ny fanangonana ref dia hovana ho tondro kendrena ho latabatra na fijerena ao amin'ny Storage
  • ref ahafahanao manangana grafika miankina amin'ny modely

Izany dia Jinja manampy fahafahana saika tsy voafetra ho an'ny DBT. Ny tena ampiasaina matetika dia:

  • If / else fanambarana - fanambarana sampana
  • Ho an'ny tadivavarana
  • hiovaova
  • Macro - mamorona macro

Materialization: Table, View, Incremental

Ny paikadin'ny materialization dia fomba iray izay hitehirizana ny angon-drakitra modely ao amin'ny Storage.

Amin'ny teny fototra dia:

  • Table - latabatra ara-batana ao amin'ny Storage
  • View - jereo, latabatra virtoaly ao amin'ny Storage

Misy ihany koa ny paikady materialization sarotra kokoa:

  • Incremental - fampiakarana entana (amin'ny tabilao zava-misy lehibe); ampiana andalana vaovao, havaozina ny andalana niova, voafafa ny andalana voafafa 
  • Ephemeral - tsy mipoitra mivantana ny modely, fa mandray anjara amin'ny maha-CTE azy amin'ny modely hafa
  • Ny paikady hafa azonao ampiana ny tenanao

Ho fanampin'ny paikadin'ny materialization, misy ny fahafahana manatsara ny fitahirizana manokana, ohatra:

  • Bohabohan'orampanala: Tabilao mandalo, Fihetsika mitambatra, Fivondronana latabatra, Fanomezana kopia, Fijery azo antoka
  • Hafaingana radiala: Distkey, Sortkey (mifanelanelana, fitambarana), Fijery mifamatotra tara
  • bigquery: Fizarana latabatra & fivondronana, fitondran-tena mitambatra, KMS Encryption, Labels & Tags
  • kilalaon'afo: Endriky ny rakitra (parquet, csv, json, orc, delta), partition_by, clustered_by, buckets, incremental_strategy

Ireto fitahirizana manaraka ireto dia tohana amin'izao fotoana izao:

  • postgres
  • Hafaingana radiala
  • bigquery
  • Bohabohan'orampanala
  • Presto (ampahany)
  • Spark (ampahany)
  • Microsoft SQL Server (adapter fiarahamonina)

Andeha isika hanatsara ny modely:

  • Aleo atao incremental ny famenoana azy (Incremental)
  • Andeha isika hanampy fizarana sy fanasokajiana fanalahidy ho an'ny 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

Grapika miankina amin'ny modely

Hazo fiankinan-doha koa izy io. Antsoina koa hoe DAG (Directed Acyclic Graph).

DBT dia manangana grafika mifototra amin'ny fandrindrana ny maodely tetikasa rehetra, na ny marimarina kokoa, ref() rohy ao anatin'ny maodely mankany amin'ny maodely hafa. Ny fananana grafika dia ahafahanao manao ireto zavatra manaraka ireto:

  • Mihazakazaka modely amin'ny filaharana marina
  • Fampifanarahana ny fananganana trano fivarotana
  • Mandehana subgraph tsy misy dikany 

Ohatra amin'ny fijerena sary:

Data Build Tool na izay mahazatra eo amin'ny Data Warehouse sy Smoothie
Ny node tsirairay amin'ny grafika dia modely; ny sisin'ny grafika dia voafaritra amin'ny alΓ lan'ny fitenenana ref.

Data Quality sy Documentation

Ho fanampin'ny famoronana ireo maodely ho azy ireo, ny DBT dia mamela anao hitsapa vinavina maromaro momba ny angon-drakitra vokarina, toy ny:

  • Tsy Null
  • Unique
  • Reference Integrity - integrity referential (ohatra, customer_id amin'ny latabatra baiko dia mifanandrify amin'ny id amin'ny latabatra mpanjifa)
  • Mifanaraka amin'ny lisitry ny soatoavina azo ekena

Azo atao ny manampy ny fitsapana anao manokana (fitsapana angon-drakitra manokana), toy ny, ohatra, % fivilian'ny fidiram-bola miaraka amin'ny tondro manomboka amin'ny andro iray, herinandro, iray volana lasa izay. Ny fiheverana rehetra natsangana ho fangatahana SQL dia mety ho lasa fitsapana.

Amin'izany fomba izany dia azonao atao ny misambotra ny fiviliana tsy ilaina sy ny lesoka amin'ny angon-drakitra ao amin'ny varavarankelin'ny Warehouse.

Raha ny momba ny antontan-taratasy, ny DBT dia manome fomba fiasa hanampiana, famoahana ary fizarana metadata sy fanehoan-kevitra amin'ny modely ary na dia ny haavon'ny toetra aza. 

Toy izao ny endriky ny fanampim-panadinana sy ny antontan-taratasy eo amin'ny haavon'ny fisie:

 - 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']

Ary toy izao ny endrik'ity antontan-taratasy ity amin'ny tranokala novokarina:

Data Build Tool na izay mahazatra eo amin'ny Data Warehouse sy Smoothie

Macro sy Modules

Ny tanjon'ny DBT dia tsy dia ny ho lasa andian-tsoratra SQL, fa ny hanomezana ireo mpampiasa fitaovana matanjaka sy manankarena amin'ny fananganana ny fanovana azy manokana sy ny fizarana ireo maody ireo.

Macros dia andiana fananganana sy fitenenana izay azo antsoina hoe asa ao anatin'ny modely. Ny Macros dia mamela anao hampiasa indray ny SQL eo anelanelan'ny maodely sy tetikasa mifanaraka amin'ny fitsipiky ny injeniera DRY (Aza mamerina ny tenanao).

Ohatra macro:

{% 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 %}

Ary ny fampiasana azy:

{% set column_name = 'product' %}
select
 product,
 {{ rename_category(column_name) }} -- Π²Ρ‹Π·ΠΎΠ² макроса
from my_table

Ny DBT dia tonga miaraka amin'ny mpitantana fonosana izay ahafahan'ny mpampiasa mamoaka sy mampiasa indray ny maody sy macro tsirairay.

Midika izany fa afaka mameno sy mampiasa tranomboky toy ny:

  • dbt_utils: miasa miaraka amin'ny Date/Time, Fanalahidin'ny Mpisolo, Fitsapana Schema, Pivot/Unpivot ary ny hafa
  • Modely fampirantiana efa vita ho an'ny serivisy toy ny Snowplow ΠΈ mivatra 
  • Tranomboky ho an'ny Fivarotana Data manokana, oh. Hafaingana radiala 
  • fitrandrahana - Module ho an'ny fampandehanana DBT

Ny lisitry ny fonosana feno dia azo jerena ao amin'ny dbt hub.

Misy endri-javatra bebe kokoa

Eto aho dia hamaritra endri-javatra mahaliana sy fampiharana vitsivitsy hafa ampiasain'ny ekipa hananganana Data Warehouse Wheely.

Fanasarahana ny tontolo iainana DEV - TEST - PROD

Na dia ao anatin'ny cluster DWH mitovy aza (ao anatin'ny tetika samihafa). Ohatra, mampiasa ity teny manaraka ity:

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 -%}
 
)

Ity kaody ity dia milaza ara-bakiteny hoe: ho an'ny tontolo iainana dev, fitsapana, ci maka angon-drakitra ihany mandritra ny 3 andro farany ary tsy misy intsony. Izany hoe, ny fandehanana amin'ireo tontolo ireo dia ho haingana kokoa ary mitaky loharanon-karena vitsy kokoa. Rehefa mandeha amin'ny tontolo iainana famokarana ho tsinontsinoavina ny toetry ny sivana.

Materialization miaraka amin'ny fanovΓ na tsanganana mifandimby

Redshift dia DBMS tsanganana izay ahafahanao mametraka algorithm famatrarana data ho an'ny tsanganana tsirairay. Ny fisafidianana algorithm tsara indrindra dia mety hampihena ny habaka kapila amin'ny 20-50%.

Macro redshift.compress_table dia hanatanteraka ny baiko ANALYZE COMPRESSION, mamorona latabatra vaovao miaraka amin'ny algorithm fanodikodinan'ny tsanganana atolotra, ny fanalahidin'ny fizarana (dist_key) ary ny fanalahidin'ny fanasokajiana (sort_key), mamindra ny angon-drakitra ao, ary, raha ilaina, esory ny kopia taloha.

sonia macro:

{{ 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) }}

Mandeha ny modely logging

Azonao atao ny mametaka hook amin'ny fanatanterahana ny modely tsirairay, izay hotanterahina alohan'ny fandefasana na avy hatrany aorian'ny fahavitan'ny famoronana modely:

   pre-hook: "{{ logging.log_model_start_event() }}"
   post-hook: "{{ logging.log_model_end_event() }}"

Ny maody fanoratana dia ahafahanao mirakitra ny metadata ilaina rehetra amin'ny tabilao misaraka, izay azo ampiasaina amin'ny fanaraha-maso sy famakafakana ireo bottleneck avy eo.

Toy izao ny endriky ny dashboard mifototra amin'ny angona fidirana ao amin'ny Looker:

Data Build Tool na izay mahazatra eo amin'ny Data Warehouse sy Smoothie

Automation ny fitahirizana fikojakojana

Raha mampiasa fanitarana sasany amin'ny fiasan'ny Repository ampiasaina ianao, toy ny UDF (User Defined Functions), dia tena mora atao amin'ny DBT ny famoahana ireo fiasa ireo, ny fanaraha-maso ny fidirana, ary ny famoahana automatique amin'ny famoahana vaovao.

Mampiasa UDF amin'ny Python izahay hanombanana ny hash, domaine mailaka, ary decoding bitmask.

Ohatra iray amin'ny macro izay mamorona UDF amin'ny tontolo famonoana (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 %}

Amin'ny Wheely dia mampiasa Amazon Redshift izahay, izay mifototra amin'ny PostgreSQL. Ho an'ny Redshift, zava-dehibe ny manangona tsy tapaka ny antontan'isa eo amin'ny latabatra ary manafaka ny habaka kapila - ny baiko ANALYZE sy VACUUM.

Mba hanaovana izany, ny baiko avy amin'ny macro redshift_maintenance dia tanterahina isaky ny alina:

{% 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

Azo atao ny mampiasa DBT ho serivisy (Service Managed). Tafiditra:

  • Web IDE ho an'ny famolavolana tetikasa sy modely
  • Fandrindrana asa sy fandaharam-potoana
  • Fidirana tsotra sy mora amin'ny logs
  • Tranonkala misy antontan-taratasy momba ny tetikasanao
  • Mampifandray CI (Continuous Integration)

Data Build Tool na izay mahazatra eo amin'ny Data Warehouse sy Smoothie

famaranana

Ny fanomanana sy ny fihinanana DWH dia lasa mahafinaritra sy mahasoa toy ny fisotroana smoothie. DBT dia ahitana Jinja, fanitarana mpampiasa (modules), compiler, mpanatanteraka ary mpitantana fonosana. Amin'ny fampifangaroana ireo singa ireo dia mahazo tontolo miasa feno ho an'ny Data Warehouse ianao. Zara raha misy fomba tsara kokoa hitantana ny fanovana ao anatin'ny DWH ankehitriny.

Data Build Tool na izay mahazatra eo amin'ny Data Warehouse sy Smoothie

Ny finoana arahin'ireo mpamorona ny DBT dia voavolavola toy izao manaraka izao:

  • Code, fa tsy GUI, no abstraction tsara indrindra hanehoana lojika famakafakana sarotra
  • Ny fiasana amin'ny angona dia tokony hampifanaraka ny fanao tsara indrindra amin'ny injeniera rindrambaiko (Injeniera Software)

  • Ny fotodrafitrasa angon-drakitra manan-danja dia tokony hofehezin'ny vondrom-piarahamonin'ny mpampiasa ho toy ny rindrambaiko open source
  • Tsy ny fitaovana analyse ihany, fa ny kaody koa dia ho lasa fananan'ny vondrom-piarahamonina Open Source

Ireo finoana fototra ireo dia niteraka vokatra iray ampiasain'ny orinasa mihoatra ny 850 ankehitriny, ary izy ireo no fototry ny fanitarana mampientam-po maro izay hoforonina amin'ny ho avy.

Ho an'ireo liana dia misy horonan-tsary momba ny lesona misokatra nomeko volana vitsivitsy lasa izay ao anatin'ny lesona misokatra ao amin'ny OTUS - Fitaovana fananganana data ho an'ny Amazon Redshift Storage.

Ho fanampin'ny DBT sy Data Warehousing, ao anatin'ny taranja Data Engineer amin'ny sehatra OTUS, izaho sy ny mpiara-miasa amiko dia mampianatra kilasy amin'ny lohahevitra hafa mifandraika sy maoderina:

  • Hevitra ara-javakanto ho an'ny fampiharana angona lehibe
  • Manaova fanazaran-tena miaraka amin'ny Spark sy Spark Streaming
  • Mikaroka ny fomba sy ny fitaovana hametahana loharano angona
  • Manangana seho famakafakana ao amin'ny DWH
  • Hevitra NoSQL: HBase, Cassandra, ElasticSearch
  • Fitsipiky ny fanaraha-maso sy ny orkestra 
  • Tetikasa farany: mametraka ny fahaiza-manao rehetra miaraka amin'ny fanohanana ny fanoroana

andinin-tsoratra masina:

  1. Taratasy DBT - Fampidirana - Taratasy ofisialy
  2. Inona marina ny dbt? β€” Avereno jerena ny lahatsoratra nataon'ny iray amin'ireo mpanoratra ny DBT 
  3. Fitaovana fananganana data ho an'ny Amazon Redshift Storage - YouTube, fandraketana lesona misokatra OTUS
  4. Fantaro ny Greenplum - Ny lesona misokatra manaraka dia ny 15 Mey 2020
  5. Data Engineering Course β€”OTUS
  6. Manangana rindranasa Mature Analytics - Fijerena ny hoavin'ny angona sy ny analyse
  7. Fotoana hanaovana fanadihadiana loharano misokatra izao - Ny fivoaran'ny fanadihadiana sy ny fiantraikan'ny Open Source
  8. Fampidirana tsy tapaka sy fitiliana fanamboarana mandeha ho azy miaraka amin'ny dbtCloud - Fitsipiky ny fananganana CI mampiasa DBT
  9. Manomboka amin'ny fampianarana DBT β€” Practice, Toromarika tsikelikely ho an'ny asa mahaleo tena
  10. Jaffle Shop β€” Github DBT Tutorial - Github, fehezan-dalΓ na momba ny tetikasa fanabeazana

Mianara bebe kokoa momba ny fianarana.

Source: www.habr.com

Add a comment