Toplu işlemBatch processing

Sık karşılaşılan bir büyük veri bekleyen verilerin toplu işleme senaryodur.A common big data scenario is batch processing of data at rest. Bu senaryoda, kaynak verileri, veri depolama, kaynağı uygulama veya bir düzenleme iş akışı içine yüklenir.In this scenario, the source data is loaded into data storage, either by the source application itself or by an orchestration workflow. Ardından işlenen veri yerinde düzenleme iş akışı tarafından da başlatılabilir bir paralel iş tarafından.The data is then processed in-place by a parallelized job, which can also be initiated by the orchestration workflow. Analiz ve raporlama bileşenleri tarafından sorgulanabilir bir analitik veri deposuna dönüştürülen sonuçlar yüklenmeden önce işleme birden çok yinelemeli adımlar içerebilir.The processing may include multiple iterative steps before the transformed results are loaded into an analytical data store, which can be queried by analytics and reporting components.

Örneğin, bir web sunucusu günlükleri bir klasöre kopyalanacak ve web etkinliği günlük raporlar oluşturmak için gece boyunca işlenen.For example, the logs from a web server might be copied to a folder and then processed overnight to generate daily reports of web activity.

Toplu işleme işlem hattı diyagramı

Bu çözümü kullanmak ne zamanWhen to use this solution

Toplu işleme çeşitli senaryolarından basit veri dönüşümleri daha eksiksiz bir ETL (ayıklama-dönüştürme-yükleme) işlem hattı için kullanılır.Batch processing is used in a variety of scenarios, from simple data transformations to a more complete ETL (extract-transform-load) pipeline. Bir büyük veri bağlamında burada hesaplama önemli sürüyor çok büyük veri kümelerinde toplu işleme çalışabilir.In a big data context, batch processing may operate over very large data sets, where the computation takes significant time. (Örneğin, Lambda mimarisi.) Toplu işlem genellikle etkileşimli incelenmesi için daha fazla müşteri adayları, modelleme kullanıma hazır veri machine learning için sağlayan veya verileri analiz ve görselleştirme için optimize edilmiş bir veri deposuna yazar.(For example, see Lambda architecture.) Batch processing typically leads to further interactive exploration, provides the modeling-ready data for machine learning, or writes the data to a data store that is optimized for analytics and visualization.

Toplu işlem örneği düz, yarı yapılandırılmış CSV veya JSON dosyaları çok sayıda, daha fazla sorgulamaya hazırdır şema ve yapılandırılmış bir biçime dönüştürüyor.One example of batch processing is transforming a large set of flat, semi-structured CSV or JSON files into a schematized and structured format that is ready for further querying. Genellikle veri alımı (örneğin, CSV) için kullanılan ham biçimlerinden sütunlu bir biçimde veri depolamak ve genellikle dizin ve satır içi istatistikleri hakkında veri sağlar çünkü sorgulamak için daha fazla performansa sahiptir İkili biçimler dönüştürülür.Typically the data is converted from the raw formats used for ingestion (such as CSV) into binary formats that are more performant for querying because they store data in a columnar format, and often provide indexes and inline statistics about the data.

ZorluklarChallenges

  • Veri biçimi ve kodlama.Data format and encoding. Bazı hata ayıklamak için en zor sorunlarından bazılarının dosyaları beklenmeyen biçimde kullandığınızda meydana veya kodlama.Some of the most difficult issues to debug happen when files use an unexpected format or encoding. Örneğin, kaynak dosyaları UTF-16 ve UTF-8 kodlamasını, bir karışımını kullanmak veya beklenmeyen sınırlayıcılar (sekme yerine boşluk) içeren veya beklenmeyen karakter içerir.For example, source files might use a mix of UTF-16 and UTF-8 encoding, or contain unexpected delimiters (space versus tab), or include unexpected characters. Başka bir ortak sekme, boşluk veya virgül sınırlayıcı olarak yorumlanan içeren metin alanları örnektir.Another common example is text fields that contain tabs, spaces, or commas that are interpreted as delimiters. Yükleme ve mantıksal ayrıştırma veri algılayın ve bu sorunları işlemek için esnek olması gerekir.Data loading and parsing logic must be flexible enough to detect and handle these issues.

  • Zaman dilimi işlemlerini.Orchestrating time slices. Kaynak verilerin ne sıklıkla işleme windows, yıl, ay, gün, saat ve benzeri tarafından düzenlenen yansıtan bir klasör hiyerarşisi yerleştirilir.Often source data is placed in a folder hierarchy that reflects processing windows, organized by year, month, day, hour, and so on. Bazı durumlarda, veri geç gelen.In some cases, data may arrive late. Örneğin, bir web sunucusu başarısız olursa ve Mart 7 için günlüklere 9 Mart kadar işleme klasöründe bitirme varsayalım.For example, suppose that a web server fails, and the logs for March 7th don't end up in the folder for processing until March 9th. Çok geç olduğundan yalnızca sayılır?Are they just ignored because they're too late? Aşağı akış işleme mantığı, sırası kayıtlarını trafiği yönetebilir mi?Can the downstream processing logic handle out-of-order records?

MimariArchitecture

Bir toplu iş işleme mimarisi Yukarıdaki diyagramda gösterilen aşağıdaki mantıksal bileşenler vardır.A batch processing architecture has the following logical components, shown in the diagram above.

  • Veri depolama.Data storage. Çeşitli biçimlerdeki büyük dosyaları yüksek miktarlarda için bir havuz olarak hizmet verebilen genellikle bir dağıtılmış dosya deposunda.Typically a distributed file store that can serve as a repository for high volumes of large files in various formats. Genel olarak, bu tür depolara genellikle bir veri gölü adlandırılır.Generically, this kind of store is often referred to as a data lake.

  • Toplu işleme.Batch processing. Genellikle yüksek hacimli niteliği büyük veri çözümleri filtreleme, toplama ve aksi halde verileri analize hazırlama için uzun süre çalışan toplu işler aracılığıyla veri dosyalarını işlemelidir anlamına gelir.The high-volume nature of big data often means that solutions must process data files using long-running batch jobs to filter, aggregate, and otherwise prepare the data for analysis. Bu işler, çoğu zaman kaynak dosyaların okunması, işlenmesi ve çıktının yeni dosyalara yazılmasını içerir.Usually these jobs involve reading source files, processing them, and writing the output to new files.

  • Analitik veri deposu.Analytical data store. Büyük veri çözümlerinin çoğu, verileri analiz için hazırlar ve sonra işlenen verileri analiz araçları kullanılarak sorgulanabilecek yapılandırılmış bir biçimde sunar şekilde tasarlanmıştır.Many big data solutions are designed to prepare data for analysis and then serve the processed data in a structured format that can be queried using analytical tools.

  • Analiz ve raporlama.Analysis and reporting. Büyük veri çözümlerinin çoğunun amacı analiz ve raporlama aracılığıyla veriler hakkında öngörüler sağlamaktır.The goal of most big data solutions is to provide insights into the data through analysis and reporting.

  • Düzenleme.Orchestration. Toplu işlem ile genellikle bazı düzenleme geçiş veya uygulamanızın veri depolama alanına veri kopyalama, toplu olarak işleme, analitik veri deposu ve Katmanlar raporlama için gerekli değildir.With batch processing, typically some orchestration is required to migrate or copy the data into your data storage, batch processing, analytical data store, and reporting layers.

Teknoloji seçimleriTechnology choices

Aşağıdaki teknolojileri seçenekleri toplu işleme azure'da çözümleri için önerilir.The following technologies are recommended choices for batch processing solutions in Azure.

Veri depolamaData storage

  • Azure depolama Blob kapsayıcılarına.Azure Storage Blob Containers. Var olan çok sayıda Azure iş süreçlerini zaten bu büyük veri deposu için iyi bir seçim yaparak, Azure blob depolama kullanın.Many existing Azure business processes already use Azure blob storage, making this a good choice for a big data store.
  • Azure Data Lake Store.Azure Data Lake Store. Azure Data Lake Store, heterojen biçimlerdeki veriler için merkezi bir depo gerektiren büyük ölçekli son derece büyük veri çözümleri için iyi bir seçim yaparak dosya ve kapsamlı güvenlik seçenekleri, herhangi bir boyuttaki neredeyse sınırsız depolama sağlar.Azure Data Lake Store offers virtually unlimited storage for any size of file, and extensive security options, making it a good choice for extremely large-scale big data solutions that require a centralized store for data in heterogeneous formats.

Daha fazla bilgi için veri depolama.For more information, see Data storage.

Toplu işlemBatch processing

  • U-SQL.U-SQL. U-SQL, Azure Data Lake Analytics tarafından kullanılan dil işleme sorgu gereklidir.U-SQL is the query processing language used by Azure Data Lake Analytics. Yordam genişletilmesinde ile SQL'in bildirim temelli doğasını birleştirir C#ve çok büyük ölçekte veri verimli işlenmesini sağlamak için paralellik yararlanır.It combines the declarative nature of SQL with the procedural extensibility of C#, and takes advantage of parallelism to enable efficient processing of data at massive scale.
  • Hive.Hive. Hive, HDInsight da dahil olmak üzere çoğu Hadoop dağıtımları desteklenen bir SQL benzeri dilidir.Hive is a SQL-like language that is supported in most Hadoop distributions, including HDInsight. Azure blob depolama ve Azure Data Lake Store dahil olmak üzere tüm HDFS uyumlu depolama alanından verileri işlemek için kullanılabilir.It can be used to process data from any HDFS-compatible store, including Azure blob storage and Azure Data Lake Store.
  • Pig.Pig. Pig, HDInsight da dahil olmak üzere birçok Hadoop dağıtımları içinde kullanılan bildirim temelli büyük veri işleme bir dildir.Pig is a declarative big data processing language used in many Hadoop distributions, including HDInsight. Yapılandırılmamış veya yarı yapılandırılmış verileri işlemek için özellikle yararlıdır.It is particularly useful for processing data that is unstructured or semi-structured.
  • Spark.Spark. Spark altyapısı, çeşitli diller, Java, Scala ve Python dahil olmak üzere yazılmış toplu işleme programları destekler.The Spark engine supports batch processing programs written in a range of languages, including Java, Scala, and Python. Spark çalışan birden fazla düğümde dağıtılan bir mimaride paralel verileri işlemek için kullanır.Spark uses a distributed architecture to process data in parallel across multiple worker nodes.

Daha fazla bilgi için toplu işleme.For more information, see Batch processing.

Analitik veri deposuAnalytical data store

  • SQL veri ambarı.SQL Data Warehouse. Azure SQL veri ambarı SQL Server veritabanı teknolojilerini temel alan ve büyük ölçekli veri ambarı iş yükleri desteklemek için en iyi duruma getirilmiş yönetilen bir hizmettir.Azure SQL Data Warehouse is a managed service based on SQL Server database technologies and optimized to support large-scale data warehousing workloads.
  • Spark SQL.Spark SQL. Spark SQL, veri çerçevelerini ve SQL söz dizimini kullanarak sorgulanabilir tablolar oluşturmayı destekler ve Spark üzerinde kurulu bir API'dir.Spark SQL is an API built on Spark that supports the creation of dataframes and tables that can be queried using SQL syntax.
  • HBase.HBase. HBase sorgulama yapısal ve yarı yapılandırılmış veriler için yüksek performanslı ve esnek bir seçenek sunan düşük gecikme süreli bir NoSQL deposudur.HBase is a low-latency NoSQL store that offers a high-performance, flexible option for querying structured and semi-structured data.
  • Hive.Hive. Hive toplu işleme için kullanışlı olmasının yanı sıra kavramsal olarak ilişkisel veritabanı yönetim sisteminin benzer bir veritabanı mimarisi sunar.In addition to being useful for batch processing, Hive offers a database architecture that is conceptually similar to that of a typical relational database management system. Yenilikleri aracılığıyla Hive sorgu performansı iyileştirmeleri, Tez altyapısı ve Hive tablolarını etkili bir şekilde kaynakları olarak bazı senaryolarda analitik sorgular için kullanılabileceğini Stinger girişim ortalama gibi.Improvements in Hive query performance through innovations like the Tez engine and Stinger initiative mean that Hive tables can be used effectively as sources for analytical queries in some scenarios.

Daha fazla bilgi için analitik veri depoları.For more information, see Analytical data stores.

Analiz ve raporlamaAnalytics and reporting

  • Azure Analysis Services.Azure Analysis Services. Büyük veri çözümlerinin çoğu geleneksel kurumsal iş zekası mimarileri hangi raporlar, panolar, bir merkezi çevrimiçi analitik işlem (OLAP) veri modeli (genellikle bir küp olarak adlandırılır) dahil ederek öykünmek etkileşimli "dilim ve zar" Analiz bağlı olabilir.Many big data solutions emulate traditional enterprise business intelligence architectures by including a centralized online analytical processing (OLAP) data model (often referred to as a cube) on which reports, dashboards, and interactive "slice and dice" analysis can be based. Azure Analysis Services tablolu modeller bu gereksinime uygun şekilde oluşturulmasını destekler.Azure Analysis Services supports the creation of tabular models to meet this need.
  • Power BI.Power BI. Power BI veri modelleri bir OLAP modeline veya doğrudan bir analitik veri deposu dayalı etkileşimli veri görselleştirmeleri oluşturmak veri analistleri sağlar.Power BI enables data analysts to create interactive data visualizations based on data models in an OLAP model or directly from an analytical data store.
  • Microsoft Excel.Microsoft Excel. Microsoft Excel bir dünyada en yaygın olarak kullanılan yazılım uygulamaları ve çok sayıda veri analizi ve görselleştirme özellikleri sunar.Microsoft Excel is one of the most widely used software applications in the world, and offers a wealth of data analysis and visualization capabilities. Veri Çözümleyicileri Excel belge analitik veri depolarından veri modelleri oluşturabilir ya da etkileşimli PivotTable'lar ve grafikler ile OLAP veri modelinden veri almak için kullanabilirsiniz.Data analysts can use Excel to build document data models from analytical data stores, or to retrieve data from OLAP data models into interactive PivotTables and charts.

Daha fazla bilgi için analiz ve Raporlama.For more information, see Analytics and reporting.

DüzenlemeOrchestration

  • Azure veri fabrikası.Azure Data Factory. Azure Data Factory işlem hatları, bir dizi yineleme zamana bağlı windows için zamanlanmış etkinlikleri tanımlamak için kullanılabilir.Azure Data Factory pipelines can be used to define a sequence of activities, scheduled for recurring temporal windows. Bu etkinlikler, isteğe bağlı HDInsight kümeleri Hive, Pig, MapReduce veya Spark işlerinde yanı sıra veri kopyalama işlemleri başlatabilirsiniz; Azure tarih Lake analytics'te U-SQL işleri; ve Azure SQL veri ambarı veya Azure SQL veritabanında saklı yordamlar.These activities can initiate data copy operations as well as Hive, Pig, MapReduce, or Spark jobs in on-demand HDInsight clusters; U-SQL jobs in Azure Date Lake Analytics; and stored procedures in Azure SQL Data Warehouse or Azure SQL Database.
  • Oozie ve Sqoop.Oozie and Sqoop. Oozie için Apache Hadoop ekosisteminin bir proje Otomasyon altyapısı olan ve veri kopyalama işlemleri yanı sıra verileri işlemek için Hive, Pig ve MapReduce işleri ve HDFS ve SQL veritabanları arasında veri kopyalamanıza Sqoop işleri başlatmak için kullanılabilir.Oozie is a job automation engine for the Apache Hadoop ecosystem and can be used to initiate data copy operations as well as Hive, Pig, and MapReduce jobs to process data and Sqoop jobs to copy data between HDFS and SQL databases.

Daha fazla bilgi için işlem hattı düzenlemesiFor more information, see Pipeline orchestration