Verilen Case, aşağıdaki gibi parçalara ayrılmış ve analiz ediltikten sonra gerekli algoritma kurulup yapılmaya başlanmıştır.
-
Git üzerinden dosyayı clonelayın veya .zip olarak indirin.
-
airflow
isimli dosyanın içerisinde girin ve burada bir terminal açın. -
"docker-compose up airflow-init"
komutunu girerek container'ı kurun. Container için gerekli olan config dosyalarının hepsidocker-compose.yaml
dosyası içerisindedir. -
"docker-compose up"
ile container ve içeriklerini ayağa kaldırın. (localhost:8080
üzerinden Airflow ayağa kalkıyor ancak mysql ayağa kalksa dalocalhost:3306
üzerinden kendi makinemde erişemedim)
-
Docker desktop üzerinden
"mysql-1"
üzerinde tıklayıp terminal kısmına geçin ve"mysql -u root -p"
yazdıktan sonra gerekli olan şifreyi (kartaca
) girin. -
"database_queries_for_tables.txt"
dosyası içerisinde olan her bir SQL query'sini tek tek (Kod bloğu halinde) çalıştırın. Kodlar aşağıda verilmiştir.
-- country_currency isminde bir database oluşturuyoruz.
CREATE DATABASE country_currency;
-- country isminde bir table oluşturuyoruz
CREATE TABLE country (
code VARCHAR(2) NOT NULL PRIMARY KEY,
name VARCHAR(255) NOT NULL
);
-- currency isminde bir table oluşturuyoruz
CREATE TABLE currency (
code VARCHAR(2) NOT NULL PRIMARY KEY,
currency VARCHAR(3) NOT NULL,
FOREIGN KEY (code) REFERENCES country (code)
);
-- data_merge isminde bir table oluşturuyoruz
CREATE TABLE data_merge (
code VARCHAR(2) PRIMARY KEY,
name VARCHAR(255),
currency VARCHAR(3)
);
-
Admin > Connections kısmından yeni bir connection oluşturun.
-
Aşağıdaki inputları girin:
- Conn Id :
mysql_default
- Conn Type:
MySQL
- Host:
mysql
- Schema:
airflow
- Login:
root
- Password:
kartaca
(Eğer olmazsaroot
deneyebilirsiniz.) - Port:
3306
- Conn Id :
Sonrasında Save ederek connection oluşturmuş olacaksınız.
DAG'ları, yanlarındaki butonlara tıklayarak aktifleştirdikten sonra manuel olarak triggerlayabilirsiniz.