Data Engineer
Rääkige endast: kogemused, ülesanded, funktsioonid või saavutused, millega olete uhke.
Kas teil on kogemusi FastAPI-ga?
Kui kaua te kokku Sparkiga töötasite ja kui sügavalt te sellesse sukeldusite?
dict1 = { (1, 2), [3, 4, 5] : 0 } var = 1, 2
Rääkige huvitavast ülesandest ettevõttes viimase 2,5 aasta jooksul, näiteks seotud ClickHouse'iga.
Millises olukorras võib sõnastiku otsing halveneda kuni halvimini?
Kuidas lahendasite optimeerimisprobleeme, kui päring kestab kaua ja teostab täieliku skannimise? Kuidas läheneksite sellisele uuele ülesandele?
Kuidas lisada kasutaja jaoks jooksva ja kahe eelneva päeva tellimuste summa liikuvat keskmist?
def extract_from_s3(**kwargs): df = pd.read_csv("s3://minu-pudel/data/transactions_{}.csv".format(datetime.now().strftime("%Y-%m-%d"))) kwargs["ti"].xcom_push(key="df", value=df.to_dict()) def load_to_raw_table(**kwargs): df = pd.DataFrame(kwargs["ti"].xcom_pull(task_ids="extract", key="df")) rows = [tuple(r) for r in df[["transaction_id", "user_id", "amount", "created_at"]].to_numpy()] CLICKHOUSE_CLIENT.execute( "INSERT INTO raw.transactions (transaction_id, user_id, amount, created_at) VALUES", rows ) def build_aggregate_view(): query = """ INSERT INTO datamarts.daily_revenue_per_country SELECT toDate(r.created_at) as event_date, u.country, sum(r.amount) as total_revenue FROM raw.transactions r LEFT JOIN core.userMetadata u ON r.user_id = u.UserId WHERE toDate(r.created_at) = '{}' GROUP BY event_date, u.country """.format(datetime.now().strftime("%Y-%m-%d")) CLICKHOUSE_CLIENT.execute(query) transactions_sensor = S3KeySensor( task_id="transactions_sensor", bucket_key="data/transactions_{}.csv".format(datetime.now().strftime("%Y-%m-%d")), bucket_name="my-bucket", aws_conn_id="aws_default", timeout=600, poke_interval=30, mode="poke" ) extract = PythonOperator( task_id="extract", python_callable=extract_from_s3, provide_context=True ) load = PythonOperator( task_id="load", python_callable=load_to_raw_table, provide_context=True ) aggregate = PythonOperator( task_id="aggregate", python_callable=build_aggregate_view ) transactions_sensor >> extract >> load >> aggregate
Mida teeb depends_on_past parameeter Airflow's?
Milleks teil üldse oli vaja Data Vaulti?
Rääkige replikatsiooni seadistamise ülesandest, mille te lahendasite.
Kas kasutati kirjehashide võrdlusmeetodit, et arvutada välja allika ja sihttabeli vahe?
Mida juhtus, kui andmekvaliteedi piirang aktiveeriti: hoiatus, langus, taaskäivitamine?
Võrrelge ETL ja ELT lähenemisi: mis vahe neil on ja millal igaüks neist rakendub?
Kuidas töötasid 1C-ga: kas nad võtsid andmeid otse andmebaasist, läbi bussi või muul viisil?
Milliste andmebaasidega olete töötanud? Kuidas töötab MongoDB ja kuidas see skaleerub?
Kuidas te määratlesite, et kirje on juba olemas ja seda ei ole vaja uuesti kirjutada?
NULL plus 5 — kui palju see on?
Kas Sparkis saab paralleelselt lugeda andmeid ühest Parquet-failist või ainult ühe tuumaga ühes ülesandes?