/
Catálogo de dados da zitrhr145

+Documentação do código

O SAP se utiliza para pegar os dados envia-los para o excel, assim se consegue verificar todos os dados separados por linhas e colunas. Utilizando o excel é observado e verificado todos os arquivos para ver se todas as colunas estravam corretas. Pyspark usado para fazer todo o processamento, para filtrar, adicionar e salvar os dados.

Recursos necessários


Todos os recursos utilizados devem ser descritos para melhor entendimento e apoio do desenvolvimento do projeto. Segue abaixo a lista de todos os recursos usados:

  • Databricks: Desenvolvimento do script da tabela zitrhr145, para efetuar requisições de dados, modificações no tipo, de nome da coluna e construção do data frame.

  • Arquivos: Arquivo coletado do sap, usado para verificação de colunas e coleta de dados para armazenamento dentro do databricks.

Desenvolvimento da carga de arquivos

Criação do database

Usado para efetuar o salvamento da tabela na nuvem, para assim conseguir concluir o script.

1%sql 2CREATE DATABASE criacaoCatalogo_ZSHR;


Importação de funções

Esta etapa é para a importação das funções que serão necessárias para fazer o desenvolvimento do script. As importações servem para acrescentar um módulo que será utilizado no código.

1from pyspark.sql.functions import lit,col


Leitura da tabela

Este processo é necessário para selecionarmos a tabela da nuvem e utiliza-la no script.

1df_zshr = spark.table('criacaoCatalogo_ZSHR.catalogozshr_rel_ger_csv')


Adicionando colunas à tabela

Usado para criação de novas colunas na tabela, foi criado a coluna “PARTITION” e “ELEMENT”.

1df_table = df_zshr.withColumn('PARTITION', lit(None).cast('String'))\ 2 .withColumn('ELEMENT', lit(None).cast('String'))


Deletar colunas

Esta etapa é para excluir as colunas em excesso da tabela.

1df_drop = df_table.drop(col("TABNAME"))\ 2 .drop(col("AS4LOCAL"))\ 3 .drop(col("AS4VERS"))\a 4 .drop(col("POSITION"))\ 5 .drop(col("ROLLNAME"))


Renomeação das colunas

Foi feito a renomeação das colunas neste processo.

1df_final = df_drop.withColumnRenamed("FIELDNAME","FIELD")\ 2 .withColumnRenamed("KEYFLAG","KEY")\ 3 .withColumnRenamed("NOTNULL","NOT NULL")\ 4 .withColumnRenamed("DATATYPE","TYPE")\ 5 .withColumnRenamed("LENG","SIZE")\ 6 .withColumnRenamed("DDTEXT","DESCRIPTION")


Salvando a tabela

Entretanto efetuamos o salvamento desta tabela.

1df_final.write.format("csv").mode("overwrite").option("sep",";").saveAsTable("criacaoCatalogo_ZSHR.catalogozshr_rel_ger_csv_processada")


Demonstração dos arquivos

O arquivo extraido para o databricks foi este:


Demonstração da tabela

A tabela após os processamentos: