From 8ff61498ff629476c469d588000b9ea459e2d5b2 Mon Sep 17 00:00:00 2001 From: TeoCalvo Date: Thu, 11 Jan 2024 14:20:37 +0000 Subject: [PATCH] migration gamersclub from bronze to silver --- src/03.silver/gamersclub/ingestion.py | 24 +++++++++++ .../sql/estatisticas_partidas_jogadores.sql | 42 +++++++++++++++++++ src/03.silver/gamersclub/sql/jogadores.sql | 10 +++++ src/03.silver/gamersclub/sql/medalhas.sql | 5 +++ .../gamersclub/sql/medalhas_jogadores.sql | 9 ++++ 5 files changed, 90 insertions(+) create mode 100644 src/03.silver/gamersclub/ingestion.py create mode 100644 src/03.silver/gamersclub/sql/estatisticas_partidas_jogadores.sql create mode 100644 src/03.silver/gamersclub/sql/jogadores.sql create mode 100644 src/03.silver/gamersclub/sql/medalhas.sql create mode 100644 src/03.silver/gamersclub/sql/medalhas_jogadores.sql diff --git a/src/03.silver/gamersclub/ingestion.py b/src/03.silver/gamersclub/ingestion.py new file mode 100644 index 0000000..9597d15 --- /dev/null +++ b/src/03.silver/gamersclub/ingestion.py @@ -0,0 +1,24 @@ +# Databricks notebook source +import sys + +sys.path.insert(0, '../../lib') + +import dbtools + +# COMMAND ---------- + +database = "silver.gamersclub" +table_name = dbutils.widgets.get("table_name") + +query = dbtools.import_query(f"sql/{table_name}.sql") + +# COMMAND ---------- + +(spark.sql(query) + .coalesce(1) + .write + .mode("overwrite") + .format("delta") + .option("overwriteSchema", "true") + .saveAsTable(f"{database}.{table_name}") +) diff --git a/src/03.silver/gamersclub/sql/estatisticas_partidas_jogadores.sql b/src/03.silver/gamersclub/sql/estatisticas_partidas_jogadores.sql new file mode 100644 index 0000000..ed613e2 --- /dev/null +++ b/src/03.silver/gamersclub/sql/estatisticas_partidas_jogadores.sql @@ -0,0 +1,42 @@ +SELECT + int(idLobbyGame) AS idLobbyJogo, + int(idPlayer) AS idJogador, + int(idRoom) AS idSala, + descMapName AS descNomeMapa, + int(qtKill) AS qtAbates, + int(qtAssist) AS qtdAssistencias, + int(qtDeath) AS qtMortes, + int(qtHs) AS qtHS, + int(qtBombeDefuse) AS qtBombasDesarmadas, + int(qtBombePlant) AS qtBombasArmadas, + int(qtTk) AS qtAbateAmigo, + int(qtTkAssist) AS qtAssistenciaAbateAmigo, + int(qt1Kill) AS qt1AbateRound, + int(qt2Kill) AS qt2AbateRound, + int(qt3Kill) AS qt3AbateRound, + int(qt4Kill) AS qt4AbateRound, + int(qt5Kill) AS qt5AbateRound, + int(qtPlusKill) AS qtMultiplosAbates, + int(qtFirstKill) AS qtPrimeiroAbate, + int(vlDamage) AS vlDano, + int(qtHits) AS qtAcertos, + int(qtShots) AS qtDisparos, + int(qtLastAlive) AS qtUltimoSobrevivente, + int(qtClutchWon) AS qtClutchsVencidos, + int(qtRoundsPlayed) AS qtRoundsJogados, + int(qtSurvived) AS qtRoundVivos, + int(qtTrade) AS qtTrocaAbates, + int(qtFlashAssist) AS qtAssistenciaFlash, + int(qtHitHeadshot) AS qtAcertosCabeca, + int(qtHitChest) AS qtAcertosPeito, + int(qtHitStomach) AS qtAcertosEstomago, + int(qtHitLeftAtm) AS qtAcertosBracoEsquerdo, + int(qtHitRightArm) AS qtAcertosBracoDireito, + int(qtHitLeftLeg) AS qtAcertosPernaEsquerda, + int(qtHitRightLeg) AS qtAcertosPernaDireita, + case when int(flWinner) = 1 then TRUE else FALSE end as flVitoria , + int(vlLevel) AS vlLevel, + timestamp(dtCreatedAt) AS dtPartida + +FROM bronze.gamersclub.tb_lobby_stats_player + diff --git a/src/03.silver/gamersclub/sql/jogadores.sql b/src/03.silver/gamersclub/sql/jogadores.sql new file mode 100644 index 0000000..e8f67e2 --- /dev/null +++ b/src/03.silver/gamersclub/sql/jogadores.sql @@ -0,0 +1,10 @@ +SELECT + int(idPlayer) AS idJogador, + case when int(flFacebook) = 1 then TRUE else FALSE end as flFacebook, + case when int(flTwitter) = 1 then TRUE else FALSE end as flTwitter, + case when int(flTwitch) = 1 then TRUE else FALSE end as flTwitch, + descCountry AS descPais, + date(dtBirth) AS dtNascimento, + timestamp(dtRegistration) AS dtCadastro + +FROM bronze.gamersclub.tb_players \ No newline at end of file diff --git a/src/03.silver/gamersclub/sql/medalhas.sql b/src/03.silver/gamersclub/sql/medalhas.sql new file mode 100644 index 0000000..59104dd --- /dev/null +++ b/src/03.silver/gamersclub/sql/medalhas.sql @@ -0,0 +1,5 @@ +SELECT int(idMedal) AS idMedalha, + descMedal AS descMedalha, + descTypeMedal AS descTipoMedalha + +FROM bronze.gamersclub.tb_medalha \ No newline at end of file diff --git a/src/03.silver/gamersclub/sql/medalhas_jogadores.sql b/src/03.silver/gamersclub/sql/medalhas_jogadores.sql new file mode 100644 index 0000000..058a478 --- /dev/null +++ b/src/03.silver/gamersclub/sql/medalhas_jogadores.sql @@ -0,0 +1,9 @@ +SELECT int(id) AS id, + int(idPlayer) AS idJogador, + int(idMedal) AS idMedalha, + date(dtCreatedAt) AS dtCriacao, + date(dtExpiration) AS dtExpiracao, + date(dtRemove) AS dtRemocao, + int(flActive) AS flAtiva + +FROM bronze.gamersclub.tb_players_medalha \ No newline at end of file