Kayıtlar

docker etiketine sahip yayınlar gösteriliyor

Airflow'da remote folder download edememe

Resim
Bazi birtakim workflow'lar icin remote bir makineden bir klasoru airflow'un calistigi makineye indirmem gerekiyor. Olaylar gelisiyor.  Abi benim konuyla en ufak bir alakam yok. Ilk hedef SFTPOperator, cunku bu operator ile verilen bir ssh connection ile istenilen dosya remote makineden kopyalanabiliniyor. ANCAK, ben dosalarla tek tek ugrasamam. Cunku cok dosya var ve bana recursive bir operasyon gerekiyor. AMA, arastirdigim kadari ile SFTPOperator'u recursive bir dosya islemini desteklemiyor. Yol ayrimina geliyoruz: 1. Remote makinedeki kopyalancak directory'deki tun dosyalari listeleyip ona gore bir loop icerisinde tek tek indirmek gerekiyor, 2. Remote makineden kopyalayacagim directory'i, host makineye mount etmek. Bu sayede kopyalamaya gerek kalmayacak ve buradaki dosyalari sanki local dosyaymis gibi isleyebilecegiz.  Birinci yol cok killi yunlu, ic ice birsuru dosyalar var, bunlari manuel olarak recursive bir sekilde indirmek cok zor. Ikinci secenek su sekilde c

Airflow ile K8s Otomasyonu

Resim
Baaazi dosyalari isleyerek baaazi output ureten bir pipelinimiz var.  Bu dosyalari hizli isleyebilmek icin, python'da yazdigimiz uygulamayi dockerize edip, k8s uzerinde paralel calistiriyoruz. Ancak elle yapiyoruz bu isi. Ne kadar da amelece.  Simdi bunu alip, Airflow ile otomatize edelim. 1. Gun Mevcut Yontem Halihazirda dosyalari manuel olarak 20 farkli klsore boluyoruz. Daha sonra 20 farkli Pod kaldirip bu klasorleri parametere olarak veriyoruz. Klasorler de ayrica distributed bir file storeage uzerinde bulunuyor, volume mount ile hallediyoruz. Haliyle pod icerisinde calisan python uygulamasi sadece kendine verilen yol'daki dosyalari isliyor. Boylece kimse kimsenin isine karismadan butun dosyalari paralel olarak isliyoruz.   Ama otomatize edebilmek icin cok da iyi bir yontem degil.  1. Elle (veya hatta otomatize olarak) dosyalari klasorlere bolmek istemiyorum 2. Pipeline'i kolay bir sekilde trigger edebilmek istiyorum 3. Parallesim'i kolayca ayarlayabilmek istiyorum