Skip to content

Instantly share code, notes, and snippets.

View lucasjrocha's full-sized avatar
🎯
Focusing

Lucas Rocha lucasjrocha

🎯
Focusing
View GitHub Profile
@lucasjrocha
lucasjrocha / logging_logger.py
Created June 7, 2023 12:08
IniciandoLogging
logger = logging.getLogger(__name__)
@lucasjrocha
lucasjrocha / importing_libraries.py
Last active June 7, 2023 12:05
importing_libraries
from airflow import DAG
from datetime import datetime, timedelta
from airflow.operators.python import PythonOperator
from airflow.providers.microsoft.mssql.hooks.mssql import MsSqlHook
from airflow.providers.microsoft.azure.hooks.wasb import WasbHook
import pandas as pd
import logging
import tempfile
@lucasjrocha
lucasjrocha / default_args_and_task_creation.py
Created June 7, 2023 02:22
default_args_and_task_creation
default_args = {
'owner': 'TheOwnerName',
'start_date': datetime.today(),
'retries': 0,
'retry_delay': timedelta(minutes=5)
}
with DAG(
default_args=default_args,
dag_id="azure_upload_five",
@lucasjrocha
lucasjrocha / load_data_to_azure_blob_storage.py
Last active June 7, 2023 01:54
load_data_to_azure_blob_storage
def az_upload():
AZURE_CONN_ID = "adls-blob" # The connection you've created in Airflow Connections
az_hook = WasbHook(wasb_conn_id=AZURE_CONN_ID)
logging.info("Exporting SQL data to Azure Blob Storage")
with tempfile.TemporaryDirectory() as tmpdirname:
df = get_data_from_sql()
logger.info("TempFile")
df.to_parquet(f"{tmpdirname}/TableName.parquet")
logger.info("Writing data into the Azure Blob Storage / Data Lake")
@lucasjrocha
lucasjrocha / get_sql_server_data.py
Last active June 7, 2023 01:50
get_sql_server_data
# Reading data from on-premise MSSQL Server database and saving it into a Pandas dataframe
def get_data_from_sql():
mssql_hook = MsSqlHook(mssql_conn_id='MSSQL_CONNECTION') # The connectino you've created in Airflow Connections
connection = mssql_hook.get_conn()
cursor = connection.cursor()
logger.info("Querying data.")
# Execute SQL query
cursor.execute('SELECT TOP(3000000) * FROM DataBase.Schema.Table')
#print(cursor.description)