Data Engineer
Kodėl jums apskritai reikėjo Data Vault?
Rodomame ekrane yra dvi duomenų struktūros; kurioje iš jų paieška vertės 2 bus greitesnė ir kodėl?
Ar turite patirties dirbant su Table Engine Join ClickHouse?
Kaip įvertinti konfigūraciją, skirta perkelti vieną terabaitą duomenų iš PostgreSQL į ClickHouse?
Kas yra RDD Apache Spark ir kaip jis skiriasi nuo kitų Spark abstrakcijų?
Kokias SQL operatorių grupes žinote? Kam jos priklauso?
iš interview.utils import get_clickhouse_client iš airflow importuoti DAG iš airflow.operators.python importuoti PythonOperator iš airflow.sensors.external_task importuoti ExternalTaskSensor iš datetime importuoti datetime importuoti pandas kaip pd importuoti clickhouse_driver importuoti os CLICKHOUSE_CLIENT = get_clickhouse_client() default_args = { "start_date": datetime(2024, 1, 1) } su DAG( dag_id="datamarts.daily_revenue_per_country", default_args=default_args, schedule_interval="@daily", catchup=False ) kaip dag: 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" ) 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( ... )
Galutinis rezultatas: | customer_id | gap_days | |-------------|----------| | 1 | 123 | | 2 | 120 | su cte kaip( pasirinkite order_id, customer_id, order_dt, lag(order_dt) per(partition by customer_id order by order_dt) kaip prev_order_ft, datediff(day, prev_order_ft, order_dt) kaip gap_days iš Orders ) pasirinkite customer_id, max(gap_days) kaip gap_days iš cte kur gap_days > 60 grupuoti pagal customer_id
Kokio tipo tipizacija naudojama Python: statinė ar dinaminė?
Kaip organizuoti vieno pranešimo skaitymą iš Kafka kelių skirtingų vartotojų (fan-out)?
Kokioje komandoje ir su kokiu vadovavimu jums yra patogiausia dirbti?
Kokia buvo tavo rolė keturių žmonių komandoje ir kaip matai savo karjerą per 3-4 metus, kokius tikslus keli?
Kaip įkelti duomenis iš Kafka į ClickHouse per streamingą realaus laiko ataskaitoms?
Pasakokite apie savo migracijos patirtį iš Spring Boot 2 į Spring Boot 3
Kaip įrašyti JSON į aplanką (Airflow DAG kontekste)
Kaip sukurti Airflow'e daug vienodų užduočių vienu metu (pavyzdžiui, įkelti daug vienodų failų)?
Kokiais atvejais taikoma normalizacija, o kokiais - denormalizacija?
Kokias technologijas naudojote duomenims įkelti į Parquet ir kokie mechanizmai buvo naudojami duomenims gauti ir įkelti?
Kas yra semantinis versijavimas? Kada didinti major, minor, patch?
Ar dirbote su lango funkcijomis? Kokias lango funkcijų rūšis žinai?