Anasayfa / Genel bir bakış / Pratik Bilgiler, Pratik Komutlar-2

Pratik Bilgiler, Pratik Komutlar-2

1. Scala’da boşluklardan kelimeleri ayırma

Scala büyük veri işlemede oldukça popüler bir dil. Özellikle Spark kullananların bilmesinde çok fayda var. Çünkü Spark’ın ana dili Scala’dır. Veri manipülasyonunda sık sık sütunları veya kelimeleri birbirinden ayırmamız gerekir. En yaygın ayraç virgül olsa da boşluk veya tab ondan sonra gelen popüler ayraçlardır. Tek boşlukla ayırmak ayrılan kelimelerin sağında solunda gizli boşluklar kalmasına sebep olabilir. Bu yüzden ayraç olarak ” ” gibi tek boşluk değil de “\\s+” gibi birden fazla ardışık boşluk kullanımı ideal bir çözümdür.

"one   two   three".split("\s+")

2. Scala ile dosya nasıl okunur? Scala dosya okuma

Bunun için scala.io.Source sınıfı kullanılır. Örnek kod parçası:

package V001_010_Inrodoction

import scala.io.Source
object V021ReadFromFile extends App {

val source = Source.fromFile("src/matrix.txt")

val lines = source.getLines()

lines.foreach(println)

/**
* 32 14 98
* 3 8 58
* 92 16 4
* 12 90 14
*/
source
.close()
}

3. Scala ile dosyaya yazma işlemi

Bunun için java.io.PrintWriter kullanabiliriz. Yukarıdaki matrisi dosyaya yazalım.

// Yazma
val pw = new PrintWriter("src/rowSums.txt")

// Her satırı yazdıralım.
matrix
.foreach( row => pw.println(row))

pw.close()

4. Scala uygulamasına komut satırından argüman gönderme

Bir uygulmaya uygulama dışından dinamik olarak bazı parametreleri gönderebiliriz. Uygulama bu parametreleri args ile alır. Örneğin dosyanın okunacağı dizin ve yazılacağı dizin uygulamadan uygulamay değişebilir. Uygulama içinde sabit bir dizin yazmak esnekliği azaltacaktır.

// HelloYou.scala adlı dosya
object HelloYou extends App {
    if (args.size == 0)
        println("Hello, you")
    else
        println("Hello, " + args(0))
}

Uygulamayı derleyelim:

scalac HelloYou.scala

Ve komut satırından uygulamayı çalıştıralım:

$ scala HelloYou Erkan
Hello, Erkan

Yukarıdaki Erkan uygulama içinde args(0) ile karşılanır. HelloYou ise object adıdır.

5. Bir dizinde kaç dosya var Python ile nasıl öğrenilir?

import os, os.path
dosya_sayisi = len([name for name in os.listdir('dizin') if os.path.isfile(os.path.join('/dizin', name))]
print(dosya_sayisi)
544

6. Elasticsearch curl sorgu (query) örneği

Aşağıdaki örnek products indeksinde name alanında kuru üzüm arama sorgusuna örnektir.

curl -H 'Content-Type: application/x-ndjson' -XGET 'hpe.impektra.com:9200/products/_search?pretty&q=name:kuru\üzüm'

7. Ubuntu üzerine sbt kurmak

echo "deb https://dl.bintray.com/sbt/debian /" | sudo tee -a /etc/apt/sources.list.d/sbt.list
sudo apt-key adv --keyserver hkps://keyserver.ubuntu.com:443 --recv 2EE0EA64E40A89B84B2DF73499E82A75642AC823
sudo apt-get update
sudo apt-get install sbt

8. Ubuntu server üzerinde root kullanıcısına geçiş yapmak

Ubuntu server kurarken bizden bir kullanıcı ister ve bu kullanıcı root yetkilerine sahiptir ancak adı root değildir. root yetkisi gerektiren bir çok işlemi bu kullanıcı ile yapabiliriz. Ancak bazı komutlar kullanıcının bizzat root olmasını gerektirir. O yüzden kullanıcıyı değiştirip root yapmalıyız. Normalde kullanıcıyı su ile değiştiririz ancak bu durumda

sudo -i

kullanmamız gerekir.

9. Jupyter notebook geri planda nasıl çalışır?

Jupyter notebook çalıştırdığımızda genelde bir cmd penceresini açık bırakmak zorunda kalırız. Aşağıdaki kodu kullanarak çalıştırdığımız takdirde komut satırında çalışmaya devam edebiliriz.

jupyter notebook &

10. Ubuntu terminalde bulunulan dizni gizleme

Terminal içinde sık sık dizin değiştiririz. İçinde bulunduğumuz dizin genelde komut yazdığımız yerin solunda bulunur. Şayet dizin derinliği fazla olursa artık ekranın orta yerinde komut yazmanız gerekir ve hatta alt satıra bile inersiniz. Bunu istemiyorsanız ve ekranda bana komut yazacak yer kalsın diyorsanız kolayı var:

erkan@ubuntu-server:~/webscraping_tutorials/scrapy_official_site$
erkan@ubuntu-server:~/webscraping_tutorials/scrapy_official_site$ export PS1='\u@\h:$'

Sonuç:

erkan@ubuntu-server:$

Artık dizin değiştirseniz bile sol taraf aynı kalır.

erkan@ubuntu-server:$cd webscraping_tutorials/
erkan@ubuntu-server:$

11. Komut satırından Jupyter notebook nasıl kapatılır?

jupyter notebook stop

Çıktı:
Shutting down server on port 8888 ...
[I 09:15:34.505 NotebookApp] Shutting down on /api/shutdown request.
[I 09:15:34.505 NotebookApp] Shutting down 0 kernels
[1]+  Done                    jupyter notebook

Hakkında Erkan ŞİRİN

2014'ten beri hem akademik alanda hem de sektörde pratik anlamda büyük veri ve veri bilimi ile ilgili çalışmalar yürütmektedir. Halihazırda İmpektra Bilişim A.Ş.'de büyük veri yöneticisi olarak çalışmakta olup aynı zamanda Gazi Üniversitesi Yönetim Bilişim Sistemleri doktora öğrencisidir. Büyük veri ve veri bilimi ile ilgili birçok kurum ve şirkete eğitimler vermekte ve projeler icra etmektedir. Çalışma alanları: büyük veri platformlarının kurulum ve yönetimi, büyük veri üzerinde makine öğrenmesi, olağan dışılık tespiti, sahtecilik tespiti, veri hazırlama sürecidir.

GÖZ ATMAK İSTEYEBİLİRSİNİZ

Veri Analizi – E-ticaret Uygulaması

Merhaba VBO okuyucuları! Bu yazımda, e-ticaret örnek verisi üzerinden veri analizi uygulaması yapacağız. Bir önceki …

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir