Airflow on Docker-Windows Kurulumu ve PostgreSQL DB Bağlantısı

Muhammed Celik
3 min readJul 19, 2022

--

Merhabalar

Bir önceki yazımda Windows sistemde Docker üzerinde Apache Airflow kurulumunu anlatmıştık. Bu yazımda programımızın devamı niteliğinde Airflow PostgreSQL bağlantısını gerçekleştirip postgres operatörü ile tablo oluşturma ve veri gönderme işlemleri gerçekleştiriyor olacağız.

İlk olarak bir postgres veri tabanına ihtiyacımız var. Bunun için docker-compose.yml dosyamızda bulunan postgres servisine port ekleyip airflow projesinde birlikte yüklenen veri tabanına erişim sağlayalım. Resimde de görüldüğü gibi port alanı ekleyip PostgreSql default portunu yazıyoruz ve terminalde kapsayıcımızı yeniden başlatıyoruz.

docker-compose up -d — no-deps — build postgres
docker-compose up -d — no-deps — build postgres

Bağlantı işlemimiz bittiğine göre açık kaynaklı veri tabanı yönetim aracı olan Dbeaver’i kullanarak postgresql’e bağlantı gerçekleştirelim.

İndirme linki: https://dbeaver.io/download/

Bağlantımızı kurduktan sonra veri tabanına sağ tıklayabilir ve yeni veri tabanı oluştur diyebiliriz. Burada veri tabanının tablolarının boş olduğunu göreceksiniz. Bir tablo oluşturmak için VScode içerisinde gitmeden önce Airflow Bağlantısı kurmak için ara yüz menüsünde bulunan ‘Admin’ panelinden ‘Connections’ bölününe tıklıyoruz . Bu bölümde oluşturulmuş tüm bağlantıları görebilir ve yeni bağlantılar oluşturmak için kullanabilirsiniz.

Oluşturacağımız yeni bağlantıya aşağıda bulunan yolları girelim ve Schema adının PostgreSql’de oluşturduğumuz tablo olan test adını girelim.

Şimdi de vscode’a geçip airflow’a yeni DAG görevi oluşturup Postgres operatörü ile tabloya “dag_runs” ismini verelim ve içine de tarih ve kimlik bilgilerimizi yazabilmek için iki adet kolon ekleyelim.

Kodlar için : https://github.com/Mclk1/Airflow-on-Docker-PostgreSQL-Connections-P2

Bu işlemden sonra localhost:8080 portunu kullanarak tarayıcımızda airflow arayüzüne geçip Dag’larımızı çalıştırabiliriz.

DBeaver aracıyla veri tabanımızı kontrol ettiğimizde tablo oluşturma işlemin başarılı bir şekilde gerçekleşmiş olduğunu görüyoruz.

Şimdi sıra tablonun içerisine veri yazdırmaya geldi. Bunun için tekrardan Vscode’da Postgres operatörünü kullanarak yeni bir veri yazma görevi oluşturup tablo oluşturma görevini veri yazma görevine bağlayalım ve airflow üzerinden Dag’ı çalıştırıp tablonun içerisine bağlantı kimliğini ve çalıştırıldığı tarih bilgisini yazdırma işlemini gerçekleştirelim.

Dbeaver ile kontrol sağladığımızda verimizin başarılı bir şekilde PostgreSql veri tabanına yazıldığını görüyoruz.

--

--