Bir toplu teknolojisi azure'da işleme seçmeChoosing a batch processing technology in Azure

Büyük veri çözümleri genellikle uzun süre çalışan toplu işler filtreleyerek, toplama, kullanma ve aksi halde verileri analiz için hazırlar.Big data solutions often use long-running batch jobs to filter, aggregate, and otherwise prepare the data for analysis. Genellikle bu işleri, ölçeklenebilir depolama (HDFS, Azure Data Lake Store ve Azure depolama gibi gibi) kaynak dosyaların okunması, işlenmesi ve çıkış ölçeklenebilir depolama alanında yeni dosyalara yazma içerir.Usually these jobs involve reading source files from scalable storage (like HDFS, Azure Data Lake Store, and Azure Storage), processing them, and writing the output to new files in scalable storage.

Anahtar altyapıları işleme gibi batch hesaplamalar, büyük miktarlarda verileri işlemek için ölçeklendirme olanağı gereksinimidir.The key requirement of such batch processing engines is the ability to scale out computations, in order to handle a large volume of data. Gerçek zamanlı işleme aksine, ancak toplu işleme gecikmeleri (veri alımı ve bir sonuç hesaplandıktan arasındaki süre) sahip beklenen saat dakikalar içinde ölçün.Unlike real-time processing, however, batch processing is expected to have latencies (the time between data ingestion and computing a result) that measure in minutes to hours.

Teknoloji Seçimleri toplu işlemeTechnology choices for batch processing

Azure SQL Veri AmbarıAzure SQL Data Warehouse

SQL veri ambarı büyük veriler üzerinde analiz gerçekleştirmek için tasarlanmış bir dağıtılmış sistemidir.SQL Data Warehouse is a distributed system designed to perform analytics on large data. Bu, yüksek performanslı bir analiz çalıştırmak için uygun hale getiren yüksek hacimli paralel işleme (MPP) destekler.It supports massive parallel processing (MPP), which makes it suitable for running high-performance analytics. Büyük miktarlarda veri (1 TB'den fazla) olan ve paralellik ' faydalanır analizi iş yükü çalıştırıyorsanız, SQL veri ambarı göz önünde bulundurun.Consider SQL Data Warehouse when you have large amounts of data (more than 1 TB) and are running an analytics workload that will benefit from parallelism.

Azure Data Lake AnalyticsAzure Data Lake Analytics

Data Lake Analytics isteğe bağlı bir analiz işi hizmetidir.Data Lake Analytics is an on-demand analytics job service. Azure Data Lake Store içinde depolanan çok büyük veri kümelerinin dağıtılmış işlem için optimize edilmiştir.It is optimized for distributed processing of very large data sets stored in Azure Data Lake Store.

  • Diller: U-SQL (R, Python dahil olmak üzere ve C# Uzantılar).Languages: U-SQL (including Python, R, and C# extensions).
  • Azure Data Lake Store, Azure depolama blobları, Azure SQL veritabanı ve SQL veri ambarı ile tümleştirilir.Integrates with Azure Data Lake Store, Azure Storage blobs, Azure SQL Database, and SQL Data Warehouse.
  • İş başına fiyatlandırma modelidir.Pricing model is per-job.

HDInsightHDInsight

HDInsight yönetilen Hadoop hizmetidir.HDInsight is a managed Hadoop service. Dağıtma ve Azure Hadoop kümelerini yönetme kullanın.Use it deploy and manage Hadoop clusters in Azure. Toplu işleme için kullanabileceğiniz Spark, Hive, Hive, LLAP, MapReduce.For batch processing, you can use Spark, Hive, Hive LLAP, MapReduce.

  • Diller: R, Python, Java, Scala, SQLLanguages: R, Python, Java, Scala, SQL
  • Kerberos kimlik doğrulaması ile Active Directory, Apache Ranger'ın tabanlı erişim denetimiKerberos authentication with Active Directory, Apache Ranger based access control
  • Hadoop kümesinin üzerinde tam denetim verirGives you full control of the Hadoop cluster

Azure DatabricksAzure Databricks

Azure Databricks bir Apache Spark temelli analiz platformudur.Azure Databricks is an Apache Spark-based analytics platform. Bunu "Hizmet olarak Spark." olarak düşünebilirsinizYou can think of it as "Spark as a service." Bu, Spark Azure platformunda kullanmak için en kolay yoludur.It's the easiest way to use Spark on the Azure platform.

  • Diller: R, Python, Java, Scala Spark SQLLanguages: R, Python, Java, Scala, Spark SQL
  • Hızlı başlangıç zamanlarını küme autotermination, otomatik ölçeklendirme.Fast cluster start times, autotermination, autoscaling.
  • Spark kümesi, sizin yerinize yönetir.Manages the Spark cluster for you.
  • Azure Blob Depolama, Azure Data Lake Storage (ADLS), Azure SQL veri ambarı'nı (SQL DW) ve diğer hizmetler ile yerleşik tümleştirme.Built-in integration with Azure Blob Storage, Azure Data Lake Storage (ADLS), Azure SQL Data Warehouse (SQL DW), and other services. Bkz: veri kaynakları.See Data Sources.
  • Azure Active Directory ile kullanıcı kimlik doğrulaması.User authentication with Azure Active Directory.
  • Web tabanlı not defterlerini işbirliği ve veri araştırması için.Web-based notebooks for collaboration and data exploration.
  • Destekler GPU özellikli kümeleriSupports GPU-enabled clusters

Azure Dağıtılmış veri Mühendisliği Araç SetiAzure Distributed Data Engineering Toolkit

Dağıtılmış veri Mühendisliği Araç Seti (AZTK), isteğe bağlı Spark azure'da Docker kümeleri hakkında sağlamaya yönelik bir araçtır.The Distributed Data Engineering Toolkit (AZTK) is a tool for provisioning on-demand Spark on Docker clusters in Azure.

AZTK bir Azure hizmeti değildir.AZTK is not an Azure service. Bunun yerine, bir istemci-tarafı Azure Batch'te yerleşik CLI ve Python SDK'sı bir arabirim, aracıdır.Rather, it's a client-side tool with a CLI and Python SDK interface, that's built on Azure Batch. Bu seçenek bir Spark kümesi dağıtırken en fazla denetimi altyapı sağlar.This option gives you the most control over the infrastructure when deploying a Spark cluster.

  • Kendi Docker görüntünüzü getirin.Bring your own Docker image.
  • Düşük öncelikli VM'ler için bir % 80 oranında indirim kullanın.Use low-priority VMs for an 80% discount.
  • Hem düşük öncelikli hem de adanmış VM'ler kullanma karma mod kümelerinde.Mixed mode clusters that use both low-priority and dedicated VMs.
  • Azure Blob Depolama ve Azure Data Lake bağlantı desteği yerleşik.Built in support for Azure Blob Storage and Azure Data Lake connection.

Temel seçim ölçütlerineKey selection criteria

Seçimleri daraltmak için bu soruyu yanıtlayarak başlatın:To narrow the choices, start by answering these questions:

  • Kendi sunucularınızı yönetmek yerine yönetilen bir hizmet istiyor musunuz?Do you want a managed service rather than managing your own servers?

  • Toplu işleme mantığı bildirimli olarak veya kesin yazmak istiyor musunuz?Do you want to author batch processing logic declaratively or imperatively?

  • Toplu işlem artışları gerçekleştirir?Will you perform batch processing in bursts? Yanıt Evet ise, küme otomatik olarak sona izin veren veya toplu iş, fiyatlandırma modeli seçenekleri göz önünde bulundurun.If yes, consider options that let you auto-terminate the cluster or whose pricing model is per batch job.

  • Toplu işleme başvuru verileri aramak örneğin yanı sıra ilişkisel veri depolarını sorgular gerekiyor mu?Do you need to query relational data stores along with your batch processing, for example to look up reference data? Yanıt Evet ise, dış ilişkisel depolarının sorgulamasını etkinleştirme seçenekleri göz önünde bulundurun.If yes, consider the options that enable querying of external relational stores.

Özellik MatrisiCapability matrix

Aşağıdaki tablolarda, Özellikler'deki temel farklılıklar özetlenmektedir.The following tables summarize the key differences in capabilities.

Genel özellikleriGeneral capabilities

ÖzellikCapability Azure Data Lake AnalyticsAzure Data Lake Analytics Azure SQL Veri AmbarıAzure SQL Data Warehouse HDInsightHDInsight Azure DatabricksAzure Databricks
Olan yönetilen hizmetIs managed service EvetYes EvetYes Evet 1Yes 1 EvetYes
İlişkisel bir veri deposuRelational data store EvetYes EvetYes HayırNo HayırNo
Fiyatlandırma modeliPricing model Toplu iş başınaPer batch job Küme saate göreBy cluster hour Küme saate göreBy cluster hour Databricks birimi2 + küme saatDatabricks Unit2 + cluster hour

[1] el ile yapılandırma ve ölçeklendirme ile.[1] With manual configuration and scaling.

[2] bir Databricks birimi (DBU) saatlik yeteneği bir birimdir.[2] A Databricks Unit (DBU) is a unit of processing capability per hour.

ÖzelliklerCapabilities

ÖzellikCapability Azure Data Lake AnalyticsAzure Data Lake Analytics SQL Veri AmbarıSQL Data Warehouse HDInsight Spark ileHDInsight with Spark HDInsight ile HiveHDInsight with Hive HDInsight ile Hive, LLAPHDInsight with Hive LLAP Azure DatabricksAzure Databricks
Otomatik ölçeklendirmeAutoscaling HayırNo HayırNo HayırNo HayırNo HayırNo EvetYes
Ölçeği genişletilmiş ayrıntı düzeyiScale-out granularity İş başınaPer job KümePer cluster KümePer cluster KümePer cluster KümePer cluster KümePer cluster
Bellek içi verileri önbelleğe almaIn-memory caching of data HayırNo EvetYes EvetYes HayırNo EvetYes EvetYes
Dış ilişkisel mağazalardan sorgulamaQuery from external relational stores EvetYes HayırNo EvetYes HayırNo HayırNo EvetYes
Kimlik DoğrulamasıAuthentication Azure ADAzure AD SQL / Azure ADSQL / Azure AD HayırNo Azure AD1Azure AD1 Azure AD1Azure AD1 Azure ADAzure AD
DenetimAuditing EvetYes EvetYes HayırNo Evet 1Yes 1 Evet 1Yes 1 EvetYes
Satır düzeyi güvenlikRow-level security HayırNo HayırNo HayırNo Evet 1Yes 1 Evet 1Yes 1 HayırNo
Güvenlik duvarları desteklerSupports firewalls EvetYes EvetYes EvetYes Evet 2Yes 2 Evet 2Yes 2 HayırNo
Dinamik veri maskelemeDynamic data masking HayırNo HayırNo HayırNo Evet 1Yes 1 Evet 1Yes 1 HayırNo

[1] kullanılmasını gerektirir bir etki alanına katılmış HDInsight kümesi.[1] Requires using a domain-joined HDInsight cluster.

[2] ne zaman desteklenen bir Azure sanal ağ içinde kullanılan.[2] Supported when used within an Azure Virtual Network.