Data Engineer
Kāpēc jums vispār bija nepieciešams Data Vault?
Attēlotajā ekrānā ir divas datu struktūras; kurā no tām meklēšana vērtībai 2 būs ātrāka un kāpēc?
Vai jums ir pieredze ar Table Engine Join ClickHouse?
Kā novērtēt konfigurāciju, lai pārsūtītu vienu terabaitu datu no PostgreSQL uz ClickHouse?
Kas ir RDD Apache Spark un kā tas atšķiras no citām Spark abstrakcijām?
Kuras SQL operatoru grupas pazīsti? Pie kā tās pieder?
no interview.utils importēt get_clickhouse_client no airflow importēt DAG no airflow.operators.python importēt PythonOperator no airflow.sensors.external_task importēt ExternalTaskSensor no datetime importēt datetime importēt pandas kā pd importēt clickhouse_driver importēt os CLICKHOUSE_CLIENT = get_clickhouse_client() default_args = { "start_date": datetime(2024, 1, 1) } ar DAG( dag_id="datamarts.daily_revenue_per_country", default_args=default_args, schedule_interval="@daily", catchup=False ) kā 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( ... )
Galīgais rezultāts: | customer_id | gap_days | |-------------|----------| | 1 | 123 | | 2 | 120 | ar cte kā( atlasiet order_id, customer_id, order_dt, lag(order_dt) pār(daļa pēc customer_id kārtojot pēc order_dt) kā prev_order_ft, datediff(diena, prev_order_ft, order_dt) kā gap_days no Orders ) atļaujiet customer_id, max(gap_days) kā gap_days no cte kur gap_days > 60 grupu pēc customer_id
Kāda veida tipizācija tiek izmantota Python: statiska vai dinamiska?
Kā organizēt vienas un tā paša ziņojuma lasīšanu no Kafka vairākām dažādām patērētājiem (fan-out)?
Kādā komandā un zem kāda vadības jums ir visērtāk strādāt?
Kāda bija tava loma četru cilvēku komandā un kā tu redzi savu karjeru pēc 3-4 gadiem, kādus mērķus izvirzi?
Kā ielādēt datus no Kafka uz ClickHouse, izmantojot streaming, reāllaika atskaitēm?
Pastāstiet par savu migrācijas pieredzi no Spring Boot 2 uz Spring Boot 3
Kā ierakstīt JSON mapē (Airflow DAG kontekstā)
Kā Airflow izveidot daudz vienādas uzdevumus paralēli (piemēram, ielādēt daudz vienādu failu)?
Kādos gadījumos tiek piemērota normalizācija, bet kādos - denormalizācija?
Kuras tehnoloģijas jūs izmantojāt, lai iegūtu un ielādētu datus Parquet, un kādi mehānismi tika izmantoti datu iegūšanai un ielādei?
Kas ir semantiskā versijācija? Kad palielināt major, minor, patch?
Vai esi strādājis ar logu funkcijām? Kādas logu funkciju veidus pazīsti?