Data Engineer
Vai esat kādreiz saskārušies ar ClickHouse `Too many parts` kļūdu ievietošanas laikā? Kā to risinājāt?
Ar kādiem failu formātiem jūs strādājāt?
Vai S3 glabājāt tabulas skatu rezultātus Parquet vai citādi?
Kādi fiziskie JOIN tipi pastāv Spark?
Kāpēc dati var tikt zaudēti? Sniedziet dažus iemeslus.
Kāpēc tu tagad apsver jaunas piedāvājumus?
Pastāstiet par sevi: pieredze, uzdevumi, funkcijas vai sasniegumiem, ar kuriem esat lepns.
Vai jums ir pieredze ar FastAPI?
dict1 = { (1, 2), [3, 4, 5] : 0 } var = 1, 2
Kādā situācijā vārdnīcas meklēšana var pasliktināties līdz sliktākajam gadījumam?
Kā jūs risinājāt optimizācijas problēmas, kad vaicājums ilgstoši darbojas un veic pilnu skenēšanu? Kā pieietu jaunai līdzīgai uzdevumam?
def extract_from_s3(**kwargs): df = pd.read_csv("s3://manobucket/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
Ko dara depends_on_past parametrs Airflow?
Kāpēc jums vispār bija nepieciešams Data Vault?
Pastāstiet par replikācijas konfigurācijas uzdevumu, kuru jūs risinājāt.
Kas notiks, ja piemērosiet `s ** 2` sarakstam `s = [1, 2, 3]`?
Salīdziniet ETL un ELT pieejas: kāda ir atšķirība un kad katra no tām tiek piemērota?
Kā strādāja ar 1C: tieši no datu bāzes ņēma datus, vai caur shēnu vai citādi?
Ar ar ko datu bāzēm esat strādājis? Kā darbojas MongoDB un kā tā mērogojas?
Kā noteicāt, ka ieraksts jau pastāv un to atkārtoti ierakstīt nav nepieciešams?