Data Engineer
Неге жаңы жумуш издеп жатасыз?
Sparkта кандай физикалык JOIN түрлөрү бар?
Маалыматтар эмне үчүн жоголушу мүмкүн? Бир нече себептерди келтириңиз.
Неге азыр жаңы сунуштарды карап жатасың?
Өзүңүз жөнүндө айтып бериңиз: тажрыйба, милдеттер, өзгөчөлүктөр же горд боло турган жетишкендиктер.
FastAPI менен тажрыйбаңыз барбы?
dict1 = { (1, 2), [3, 4, 5] : 0 } var = 1, 2
Компанияда акыркы 2,5 жылда кызыктуу тапшырма тууралуу айтып бериңиз, мисалы, ClickHouse менен байланыштуу.
Кайсы учурда сөздүк боюнча издөө эң жаман учурга чейин төмөндөйт?
Кандайча сиз оптимизация маселелерин чечип жаттыңыз, когда запрос долго иштейт жана толық скан жүргүзөт? Мындай жаңы тапшырмага кандайча карайсыз?
def extract_from_s3(**kwargs): df = pd.read_csv("s3://my-bucket/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
Airflowдеги depends_on_past параметри эмне кылат?
Жалпысынан алганда, Data Vault сизге эмне үчүн керек болчу?
Репликацияны орнотуу тапшырмасы жөнүндө айтып бериңиз, аны сиз чечип калдыңыз.
Жазуулардын хештерин салыштыруу ыкмасы колдонулду беле, бу менен булак жана максат таблицасынын ортосундагы айырманы эсептөө үчүн?
`s ** 2` дегенди `s = [1, 2, 3]` тизмесине колдонсоңуз эмне болот?
ETL жана ELT ыкмаларын салыштырыңыз: айырмасы эмне жана кайсы учурда колдонулат?
1C менен иштешкенде: маалыматтарды түздөн-түз маалыматтар базасынан алдыңарбы, же шина аркылуу же башка жол мененби?
Кайсы маалыматтар базаларында иштедиңиз? MongoDB кантип иштейт жана кантип масштабдалып жатат?
Эмне үчүн жазуу мурда эле бар экенин жана кайра жазуу керек эместигин кандай аныктадыңыз?