Uzun zamandır Big Data 'Büyük Veri' konusu değinmek istediğim konulardan biriydi. Big Data kısmını biliyorsunuz ki 5V olarak tanımlanıyor.
Bu konumuz verinin Volume kısmıyla alakalıdır. Şimdi Hadoop ortamında HDFS komutlarını nasıl kullanıyoruz örneklemeye başlayalım.
Sistem üzerinde klasör oluşturur. Klasör önünde slash kullanımı önemlidir, klasörün yolunu belirlememizde bize yardımcı olur.
hdfs dfs -mkdir /directoryName
Hadoop sistemi üzerinde klasör ve dosyaları listeler.
hdfs dfs -ls / hdfs dfs -ls /directoryName
hdfs dfs -ls / Found 7 items drwxrwxrwx - hdfs supergroup 0 2017-10-23 09:15 /benchmarks drwxr-xr-x - hbase supergroup 0 2019-05-14 14:51 /hbase drwxr-xr-x - cloudera supergroup 0 2019-05-13 06:43 /pythontr drwxr-xr-x - solr solr 0 2017-10-23 09:18 /solr drwxrwxrwt - hdfs supergroup 0 2019-05-13 04:22 /tmp drwxr-xr-x - hdfs supergroup 0 2017-10-23 09:17 /user drwxr-xr-x - hdfs supergroup 0 2017-10-23 09:17 /var
Local makinanız üzerinden hdfs ortamına dosya kopyalamanıza yarar.
hdfs dfs -copyFromLocal /source/sourcefile /target/
hdfs dfs -copyFromLocal /home/cloudera/Downloads/ziyaretciler.csv /pythontr/
Kontrol edelim.
hdfs dfs -ls /pythontr Found 1 items -rw-r--r-- 1 cloudera supergroup 186366657 2019-05-14 15:42 /pythontr/ziyaretciler.csv
Dosyamızın hdfs ortamında yer aldığını görüyoruz.
Hdfs sistemindeki dosyanın içeriğini gösterir.
hdfs dfs -cat /directoryName/fileName
hdfs dfs -cat /pythontr/ziyaretciler.csv 260455,https,www.pythontr.com/makale/python-nedir-235,213.74.XX.XXX,/makale/python-nedir-235,2018-10-29 18:43:27,Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36 260456,http,direct,66.249.XX.XXX,/,2018-10-29 18:43:32,Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.75 Safari/537.36 Google Favicon 260457,https,www.pythontr.com/makale/sorun-bildirdiginden-windows-bu-aygiti-durdur-563,95.70.XX.XXX,/makale/sorun-bildirdiginden-windows-bu-aygiti-durdur-563,2018-10-29 18:44:28,Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36 260458,https,www.pythontr.com/makale/linux-zaman-dilimi-degistirme-335,212.175.XX.XXX,/makale/linux-zaman-dilimi-degistirme-335,2018-10-29 18:44:41,Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36
Belirtilen yol üzerindeki dosya ve dizin sayısını verir.
hdfs dfs -count / hdfs dfs -count /directoryName
Hdfs sistemindeki dosyaların sistem içindeki diğer klasörlere kopyalanmasını sağlar.
hdfs dfs -cp /source/fileName /target/
hdfs dfs -cp /pythontr/ziyaretciler.csv /user/
Hdfs sistemindeki klasörlerin veya dosyarların taşınmasını sağlar.
hdfs dfs -mv /source /target
hdfs dfs -mv /pythontr /user
Hdfs sistemindeki bir dosyanın silinmesini sağlar.
hdfs dfs -rm /directoryName/fileName
Hdfs sistemindeki bir klasörün silinmesini sağlar. Klasör boş değilse silme işlemini başarısız kılar.
hdfs dfs -rmdir /directoryName
Hdfs sistemindeki dosya ve klasörlerin okuma, yazma ve çalıştırma izinlerini yönetmemizi sağlar.
hdfs dfs -chmod +x /directoryName # + ise izin verilir. hdfs dfs -chmod -x /directoryName/fileName # - ise izin geri alınır.
Hdfs sistemindeki dosyaların kaç replication üzerinde kopya oluşturacağını belirleyebiliriz. Biz single olarak çalıştığımız için siz bu komutu kullanmış olsanız bile tek replication olacaktır.
hdfs dfs -setrep 3 -R /directroyName/fileName
Çalışma ortamını sanal bir sunucu 'VirtualBox' kurarak rahatlıkla oluşturabilirsiniz. Cloudera'yı sizin için tavsiye edebilirim. https://www.cloudera.com/downloads/quickstart_vms/5-13.html [cloudera.com]
Evet eksik kalan komutlarımız olabilir yorumlarda paylaşabilirsiniz. Sonraki yazımda görüşmek üzere.
Yorumlar