Aracılığıyla paylaş


Büyük ölçekte ayıklama, dönüştürme ve yükleme (ETL)

Ayıklama, dönüştürme ve yükleme (ETL), verilerin çeşitli kaynaklardan alındığı işlemdir. Veriler standart bir konumda toplanır, temizlenir ve işlenir. Sonuç olarak, veriler sorgulanabileceği bir veri deposuna yüklenir. Eski ETL, içeri aktarma verilerini işler, yerinde temizler ve ardından ilişkisel bir veri altyapısında depolar. Azure HDInsight ile, çok çeşitli Apache Hadoop ortam bileşenleri büyük ölçekte ETL'yi destekler.

ETL işleminde HDInsight kullanımı şu işlem hattı tarafından özetlenmiştir:

Büyük ölçekte HDInsight ETL'ye genel bakış.

Aşağıdaki bölümlerde ETL aşamalarının ve bunların ilişkili bileşenlerinin her biri incelenmiştir.

Düzenleme

Düzenleme, ETL işlem hattının tüm aşamalarına yayılmıştır. HDInsight'taki ETL işleri genellikle birbiriyle birlikte çalışan birkaç farklı ürünü içerir. Örneğin:

  • Verilerin bir bölümünü temizlemek için Apache Hive ve başka bir bölümü temizlemek için Apache Pig kullanabilirsiniz.
  • Azure Data Lake Store'dan Azure SQL Veritabanı veri yüklemek için Azure Data Factory'yi kullanabilirsiniz.

Uygun işi uygun zamanda çalıştırmak için düzenleme gereklidir.

Apache Oozie

Apache Oozie, Hadoop işlerini yöneten bir iş akışı koordinasyon sistemidir. Oozie bir HDInsight kümesi içinde çalışır ve Hadoop yığınıyla tümleşiktir. Oozie, Apache Hadoop MapReduce, Pig, Hive ve Sqoop için Hadoop işlerini destekler. Java programları veya kabuk betikleri gibi sisteme özgü işleri zamanlamak için Oozie'yi kullanabilirsiniz.

Daha fazla bilgi için bkz . HDInsight üzerinde iş akışı tanımlamak ve çalıştırmak için Apache Hadoop ile Apache Oozie kullanma. Ayrıca bkz. Veri işlem hattını kullanıma hazır hale getirme.

Azure Data Factory

Azure Data Factory, hizmet olarak platform (PaaS) biçiminde düzenleme özellikleri sağlar. Azure Data Factory, bulut tabanlı bir veri tümleştirme hizmetidir. Veri taşımayı ve veri dönüştürmeyi düzenlemeye ve otomatikleştirmeye yönelik veri odaklı iş akışları oluşturmanıza olanak tanır.

Azure Data Factory'yi kullanarak:

  1. Veri temelli iş akışları oluşturun ve zamanlayın. Bu işlem hatları, farklı veri depolarından veri alır.
  2. HDInsight veya Hadoop gibi işlem hizmetlerini kullanarak verileri işleyin ve dönüştürün. Bu adım için Spark, Azure Data Lake Analytics, Azure Batch veya Azure Machine Learning'i de kullanabilirsiniz.
  3. BI uygulamalarının tüketmesi için çıkış verilerini Azure Synapse Analytics gibi veri depolarında yayımlayın.

Azure Data Factory hakkında daha fazla bilgi için belgelere bakın.

Dosya depolamayı ve sonuç depolamayı alma

Kaynak veri dosyaları genellikle Azure Depolama veya Azure Data Lake Storage'da bir konuma yüklenir. Dosyalar genellikle CSV gibi düz bir biçimdedir. Ancak, herhangi bir biçimde olabilirler.

Azure Depolama

Azure Depolama'nın belirli uyarlanabilirlik hedefleri vardır. Daha fazla bilgi için bkz . Blob depolama için ölçeklenebilirlik ve performans hedefleri. Çoğu analiz düğümü için Azure Depolama, daha küçük birçok dosyayla ilgilenirken en iyi şekilde ölçeklendirilir. Hesap sınırlarınız dahilinde olduğunuz sürece, dosyalar ne kadar büyük olursa olsun Azure Depolama aynı performansı garanti eder. Terabaytlarlık verileri depolayabilir ve yine de tutarlı performans elde edebilirsiniz. Bu deyim, bir alt küme veya tüm verileri kullandığınızda geçerlidir.

Azure Depolama'nın çeşitli blob türleri vardır. Ekleme blobu, web günlüklerini veya algılayıcı verilerini depolamak için harika bir seçenektir.

Birden çok blob, bunlara erişimin ölçeğini genişletmek için birçok sunucuya dağıtılabilir. Ancak tek bir blob yalnızca tek bir sunucu tarafından sunulur. Bloblar blob kapsayıcılarında mantıksal olarak gruplandırılsa da, bu gruplandırmada bölümleme etkisi yoktur.

Azure Depolama, blob depolama için bir WebHDFS API katmanına sahiptir. Tüm HDInsight hizmetleri, veri temizleme ve veri işleme için Azure Blob depolamadaki dosyalara erişebilir. Bu, söz konusu hizmetlerin Hadoop Dağıtılmış Dosya Sistemi'ni (HDFS) kullanma şekline benzer.

Veriler genellikle PowerShell, Azure Depolama SDK'sı veya AzCopy aracılığıyla Azure Depolama'ya alınır.

Azure Data Lake Storage

Azure Data Lake Storage, analiz verileri için yönetilen bir hiper ölçek deposudur. HDFS'ye benzer bir tasarım paradigması ile uyumludur ve kullanır. Data Lake Storage, toplam kapasite ve tek tek dosyaların boyutu için sınırsız uyarlanabilirlik sunar. Bunlar birden çok düğümde depolanabildiği için büyük dosyalarla çalışırken iyi bir seçimdir. Data Lake Storage'da verileri bölümleme, arka planda gerçekleştirilir. Yüzlerce terabayt boyutunda veriyi verimli bir şekilde okuyan ve yazan eşzamanlı binlerce yürütücü sayesinde, analiz işlerini çok yüksek aktarım hızlarıyla çalıştırabilirsiniz.

Veriler genellikle Azure Data Factory aracılığıyla Data Lake Storage'a alınır. Data Lake Storage SDK'larını, AdlCopy hizmetini, Apache DistCp'yi veya Apache Sqoop'ı da kullanabilirsiniz. Seçtiğiniz hizmet, verilerin nerede olduğuna bağlıdır. Mevcut bir Hadoop kümesindeyse Apache DistCp, AdlCopy hizmeti veya Azure Data Factory kullanabilirsiniz. Azure Blob depolamadaki veriler için Azure Data Lake Storage .NET SDK, Azure PowerShell veya Azure Data Factory kullanabilirsiniz.

Data Lake Storage, Azure Event Hubs aracılığıyla olay alımı için iyileştirilmiştir.

Her iki depolama seçeneği için de dikkat edilmesi gerekenler

Terabayt aralığındaki veri kümelerini karşıya yüklemek için ağ gecikmesi önemli bir sorun olabilir. Bu durum özellikle veriler şirket içi bir konumdan geliyorsa geçerlidir. Böyle durumlarda şu seçenekleri kullanabilirsiniz:

  • Azure ExpressRoute: Azure veri merkezleriyle şirket içi altyapınız arasında özel bağlantılar oluşturun. Bu bağlantılar, büyük miktarlarda veri aktarmak için güvenilir bir seçenek sağlar. Daha fazla bilgi için bkz . Azure ExpressRoute belgeleri.

  • Sabit disk sürücülerinden veri yükleme: Sabit disk sürücülerini verilerinizle birlikte bir Azure veri merkezine göndermek için Azure İçeri/Dışarı Aktarma hizmetini kullanabilirsiniz. Verileriniz ilk olarak Azure Blob depolamaya yüklenir. Ardından Azure Blob depolamadan Data Lake Storage'a veri kopyalamak için Azure Data Factory'yi veya AdlCopy aracını kullanabilirsiniz.

Azure Synapse Analytics

Azure Synapse Analytics, hazırlanan sonuçları depolamak için uygun bir seçimdir. Azure Synapse Analytics için bu hizmetleri gerçekleştirmek için Azure HDInsight'ı kullanabilirsiniz.

Azure Synapse Analytics, analiz iş yükleri için iyileştirilmiş bir ilişkisel veritabanı deposudur. Bölümlenmiş tablolara göre ölçeklendirilir. Tablolar birden çok düğüm arasında bölümlenebilir. Düğümler oluşturma sırasında seçilir. Olgudan sonra ölçeklendirilebilirler, ancak bu, veri taşımayı gerektirebilecek etkin bir işlemdir. Daha fazla bilgi için bkz . Azure Synapse Analytics'te işlem yönetme.

Apache HBase

Apache HBase, Azure HDInsight'ta kullanılabilen bir anahtar/değer deposudur. Hadoop üzerinde oluşturulmuş ve Google BigTable'dan sonra modellenen açık kaynaklı bir NoSQL veritabanıdır. HBase, büyük miktarlarda yapılandırılmamış ve yarı yapılandırılmış veriler için yüksek performanslı rastgele erişim ve güçlü tutarlılık sağlar.

HBase şemasız bir veritabanı olduğundan, bunları kullanmadan önce sütunları ve veri türlerini tanımlamanız gerekmez. Veriler bir tablonun satırlarında depolanır ve sütun ailesine göre gruplandırılır.

Açık kaynak kodu, binlerce düğümdeki petabaytlarca verileri işlemek için doğrusal olarak ölçeklendirir. HBase, Hadoop ortamındaki dağıtılmış uygulamalar tarafından sağlanan veri yedekliliğine, toplu işlemeye ve diğer özelliklere dayanır.

HBase, gelecekteki analizler için algılayıcı ve günlük verileri için iyi bir hedeftir.

HBase uyarlanabilirliği, HDInsight kümesindeki düğüm sayısına bağlıdır.

Azure SQL veritabanları

Azure üç PaaS ilişkisel veritabanı sunar:

  • Azure SQL Veritabanı, Microsoft SQL Server'ın bir uygulamasıdır. Performans hakkında daha fazla bilgi için bkz. Azure SQL Veritabanı'de Performansı Ayarlama.
  • MySQL için Azure Veritabanı, Oracle MySQL'in bir uygulamasıdır.
  • PostgreSQL için Azure Veritabanı, PostgreSQL'in bir uygulamasıdır.

Bu ürünlerin ölçeğini artırmak için daha fazla CPU ve bellek ekleyin. Daha iyi G/Ç performansı için premium diskleri ürünlerle birlikte kullanmayı da seçebilirsiniz.

Azure Analysis Services

Azure Analysis Services, karar desteği ve iş analizinde kullanılan bir analiz veri altyapısıdır. Power BI gibi iş raporları ve istemci uygulamaları için analiz verilerini sağlar. Analiz verileri Excel, SQL Server Reporting Services raporları ve diğer veri görselleştirme araçlarıyla da çalışır.

Her bir küp için katmanları değiştirerek analiz küplerini ölçeklendirin. Daha fazla bilgi için bkz . Azure Analysis Services fiyatlandırması.

Ayıklama ve yükleme

Veriler Azure'da mevcut olduktan sonra, verileri ayıklamak ve diğer ürünlere yüklemek için birçok hizmeti kullanabilirsiniz. HDInsight, Sqoop ve Flume'ı destekler.

Apache Sqoop

Apache Sqoop, yapılandırılmış, yarı yapılandırılmış ve yapılandırılmamış veri kaynakları arasında verileri verimli bir şekilde aktarmak için tasarlanmış bir araçtır.

Sqoop, paralel işlem ve hataya dayanıklılık sağlamak amacıyla verileri içeri ve dışarı aktarmak için MapReduce kullanır.

Apache Flume

Apache Flume, büyük miktarlarda günlük verilerini verimli bir şekilde toplamak, toplamak ve taşımak için dağıtılmış, güvenilir ve kullanılabilir bir hizmettir. Esnek mimarisi akış veri akışlarını temel alır. Flume, ayarlanabilir güvenilirlik mekanizmalarıyla sağlam ve hataya dayanıklıdır. Birçok yük devretme ve kurtarma mekanizması vardır. Flume, çevrimiçi analiz uygulamasına olanak tanıyan basit bir genişletilebilir veri modeli kullanır.

Apache Flume, Azure HDInsight ile kullanılamaz. Ancak şirket içi Hadoop yüklemesi Flume kullanarak Azure Blob depolamaya veya Azure Data Lake Storage'a veri gönderebilir. Daha fazla bilgi için bkz . HDInsight ile Apache Flume kullanma.

Dönüşüm

Seçilen konumda veriler var olduktan sonra verileri temizlemeniz, birleştirmeniz veya belirli bir kullanım düzeni için hazırlamanız gerekir. Hive, Pig ve Spark SQL bu tür işler için iyi seçeneklerdir. Bunların tümü HDInsight'ta desteklenir.

Sonraki adımlar