Data Engineer
O que faz o OPTIMIZE no ClickHouse e por que não deve ser executado sem pensar?
O que é o YARN e para que serve?
Como encontrar uma substring numa coluna específica de um ficheiro de log no Linux (por exemplo, a data na terceira coluna)?
Qual é o seu interesse nesta função, considerando o trabalho próximo com analistas, revisão do código deles e consultoria?
Quais tipos de algoritmos JOIN existem no PostgreSQL e qual é a diferença entre Hash Join e Nested Loop Join? Em que casos o Hash Join não é aplicável?
Análise da atividade dos utilizadores em campanhas publicitárias A empresa mantém um registo de eventos relacionados com campanhas publicitárias. São fornecidas duas tabelas: • campaigns — lista de campanhas publicitárias com os seus identificadores e nomes; • events — eventos de utilizadores por campanha com informações sobre o tipo de evento (por exemplo, 'click' (clique na publicidade)) e o tempo. É necessário criar um relatório para cada campanha com os seguintes indicadores: • Número total de eventos. • Número de utilizadores únicos que realizaram eventos. • Hora do primeiro e do último evento por campanha. • Classificação da campanha por ordem decrescente do número total de eventos. A classificação é um número atribuído a cada linha no conjunto de resultados com base na ordem dos dados. Se duas ou mais linhas tiverem o mesmo valor, recebem a mesma classificação, mas a classificação seguinte é pulada. O relatório deve incluir apenas campanhas que tiveram eventos: campanhas sem eventos não são consideradas. O relatório final deve ser ordenado primeiro pela classificação da campanha em ordem crescente, e depois por campaign_name em ordem alfabética. Formato de entrada • campaign_name (string) — nome da campanha publicitária • start_date (timestamp) — data e hora de início da campanha • end_date (timestamp) — data de fim da campanha Tabela events: • event_id (int) — identificador único do evento • user_id (int) — identificador único do utilizador que realizou o evento • campaign_id (int) — identificador único da campanha • event_type (string) — tipo de evento, por exemplo 'click' ou 'conversion' • event_time (timestamp) — data e hora do evento Os dados não contêm valores em falta ou incorretos. Formato de saída A consulta deve retornar uma tabela com os campos nesta ordem: • campaign_name (string) — nome da campanha publicitária • total_events (int) — número total de eventos relacionados com a campanha • unique_users (int) — número de utilizadores únicos que realizaram eventos • first_event_time (timestamp) — data e hora do primeiro evento da campanha • last_event_time (timestamp) — data e hora do último evento da campanha • campaign_rank (int) — classificação da campanha por ordem decrescente do número total de eventos Ordene os dados por classificação da campanha em ordem crescente, e depois por campaign_name em ordem alfabética.
Qual é o propósito de dividir os dados em blocos no HDFS?
O que é uma partição no ClickHouse e com base em que princípio ela é escolhida?
Como fazer uma extensão para cima (preencher NULL com o valor não nulo anterior na direção inversa)?
Qual foi a sua arquitetura no projeto? DWH ou algo mais?
Como saber o plano real de execução de uma consulta no Oracle?
Quais os tipos de junções físicas de tabelas existem (Hash Join, Merge Join, Nested Loop)?
Que tipos de ligações físicas (métodos de junção) existem?
Como funciona o Merge Join (junção com ordenação)?
Que vantagens e desvantagens do ACID podem ser mencionadas, além da velocidade de leitura?
Greenplum é um OLTP ou um armazém analítico?
Quais métodos existem para remover dados no ClickHouse?
A rastreabilidade mostra apenas pedidos REST ou algo mais?
Quais são as vantagens e desvantagens das bases de dados de linha e coluna? Qual é mais eficiente para agrupamento e agregação?
O que é o Hive e como se diferencia das bases de dados relacionais tradicionais?