Data Engineer
Auf dem angezeigten Bildschirm gibt es zwei Datenstrukturen; in welcher wird die Suche nach dem Wert 2 schneller sein und warum?
Haben Sie Erfahrung mit Table Engine Join in ClickHouse?
Wie bewertet man die Konfiguration für die Übertragung von einem Terabyte Daten von PostgreSQL zu ClickHouse?
Welche Gruppen von SQL-Operatoren kennst du? Was gehört dazu?
aus interview.utils import get_clickhouse_client from airflow import DAG from airflow.operators.python import PythonOperator from airflow.sensors.external_task import ExternalTaskSensor from datetime import datetime import pandas as pd import clickhouse_driver import os CLICKHOUSE_CLIENT = get_clickhouse_client() default_args = { "start_date": datetime(2024, 1, 1) } with DAG( dag_id="datamarts.daily_revenue_per_country", default_args=default_args, schedule_interval="@daily", catchup=False ) as 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( ... )
Endergebnis: | customer_id | gap_days | |-------------|----------| | 1 | 123 | | 2 | 120 | mit cte als( select order_id, customer_id, order_dt, lag(order_dt) über(Partition by customer_id order by order_dt) als prev_order_ft, datediff(Tag, prev_order_ft, order_dt) als gap_days von Orders ) wähle customer_id, max(gap_days) als gap_days von cte wo gap_days > 60 gruppe nach customer_id
Welche Art der Typisierung wird in Python verwendet: statisch oder dynamisch?
Wie organisiert man das Lesen derselben Nachricht aus Kafka durch mehrere verschiedene Verbraucher (Fan-Out)?
In welchem Team und unter welcher Führung fühlst du dich am wohlsten bei der Arbeit?
Welche Rolle hattest du in einem Team von 4 Personen, und wie siehst du deine Karriere in 3-4 Jahren, welche Ziele setzt du dir?
Wie lädt man Daten von Kafka nach ClickHouse über Streaming für Echtzeitberichte?
Berichten Sie von Ihren Erfahrungen bei der Migration von Spring Boot 2 auf Spring Boot 3
Wie man JSON in einen Ordner schreibt (im Kontext von Airflow DAG)
Wie erstellt man in Airflow mehrere identische Tasks parallel (z.B. um viele gleiche Dateien hochzuladen)?
In welchen Fällen wird die Normalisierung angewendet und in welchen die Denormalisierung?
Welche Technologien wurden verwendet, um die Daten in Parquet zu laden, und welche Mechanismen wurden genutzt, um die Daten zu erhalten und zu laden?
Was ist RDD in Apache Spark und wie unterscheidet es sich von anderen Abstraktionen von Spark?
Was ist semantische Versionierung? Wann sollte man Major, Minor, Patch erhöhen?
Hast du mit Fensterfunktionen gearbeitet? Welche Arten von Fensterfunktionen kennst du?
Wir haben eine Tabelle mit Kunden (id, name, adresse usw.), Produkten (id, name usw.), Warenbewegung (hier haben wir kunden-id, produkt, datum, menge, summe), wir müssen herausfinden, welche Produkte am 1. Januar verkauft wurden, nur die einzigartigen, und auch den Namen des Käufers anzeigen und...