Anasayfa / Büyük Veri / Apache Spark ile Parquet Formatında Veri Yazma ve Okuma (Scala)

Apache Spark ile Parquet Formatında Veri Yazma ve Okuma (Scala)

Merhaba. Bu yazımızda Apache Spark ile  csv uzantılı bir veri dosyasını okuyup  parquet uzantılı olarak diske kaydedeceğiz ve kaydettiğimiz parquet dosyasını tekrar Spark ile okuyacağız. Spark, birçok formatta veriyi okuyup yazabiliyor. Parquet, csv dosyalarına göre daha az yer kapladığı gibi okuma performansı da daha yüksek. Ayrıca okuma yaparken inferSchema veya header gibi ilave seçenekler kullanmıyoruz. Bu bilgiyi parquet formatından alıyor. Bu kısa açıklamadan sonra uygulamaya geçebiliriz. Uygulama esnasında kullanacağımız veri setini buradan edinebilirsiniz.

Benim yaptığım çalışma esnasında kullandığım ortam bilgileri:

İşletim sistemi: Windows 10 64 bit Pro

IDE: Intellij IDEA Community Edition

Spark 2.3.1

Dil: Scala

Kodlara buradan erişebilirsiniz.

Kütüphaneler:

SparkSession:

Csv kaynağından veri okuma:

Okuduğumuz csv dosyasına göz atma:

Çıktı:

Gayet güzel okundu. Şimdi bu df’i parquet formatında diske yazalım:

Yazdığımızı okuyalım:

Okuduğumuzu görelim:

Çıktı:

Dosya büyüklüğü kontrolü yaptığımızda csv uzantılı dosya  45.024 KB yer kaplarken parquet dosyasının 3.446 KB yer kapladığını görüyoruz. Aynı bilgi bu kadar küçük bir dosyada nasıl saklanır gerçekten çok şaşırtıcı bir durum. Bu yazımızda bu kadar. Hoşçakalın…

Hakkında Erkan ŞİRİN

Gazi Üniversitesi Yönetim Bilişim Sistemleri doktora öğrencisi. Son beş yıldır hem akademik hem de sektörde pratik anlamda büyük veri ve veri bilimi ile ilgili çalışmalar yürütür. Çalışma alanları: büyük veri sistemleri üzerinde makine öğrenmesi, olağan dışılık tespiti, sahtecilik tespiti, veri hazırlama süreci, derin öğrenme kütüphanelerinin dağıtık olarak çalıştırılması, dağıtık graf işleme çatıları ve graf veri tabanları.

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

Spark Dataframe İçindeki Kategorik Nitelikleri Otomatik Olarak Seçmek

Merhaba. Spark dataframe ile çalışırken zaman zaman içindeki kategorik değişkenleri seçeriz. Özellikle makine öğrenmesi öncesinde veri …

Bir cevap yazın

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