Airflow'da remote folder download edememe
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 cozulebiliniyor:
echo '{password}' | sshfs -o password_stdin user@remote_makine:/remote_folder lokal_buraya_mount_et
Eger ki bu mount edilen directory'i, docker container'e mount edecekseniz, yukaridaki yontem ise yaramaz. Buna ek olarak, baska bazi ayarlamalar yapmak gerekli ki, surada anlatilmis.
Yorumlar
Yorum Gönder