Kötegelt feldolgozásBatch processing

Gyakori big data forgatókönyv az inaktív adatok kötegelt feldolgozása.A common big data scenario is batch processing of data at rest. Ebben az esetben a forrásadatok betöltődik az adattárolóba, akár a forrásoldali alkalmazásban, akár egy előkészítési munkafolyamatban.In this scenario, the source data is loaded into data storage, either by the source application itself or by an orchestration workflow. Ezt követően a rendszer egy párhuzamos feladatokkal dolgozza fel az adatfeldolgozást, amelyet az előkészítési munkafolyamat is kezdeményezhet.The data is then processed in-place by a parallelized job, which can also be initiated by the orchestration workflow. A feldolgozás több iterációs lépést is tartalmazhat, mielőtt az átalakított eredményeket betölti egy analitikus adattárba, amelyet az elemzési és jelentéskészítési összetevők lekérhetnek.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.

Előfordulhat például, hogy egy webkiszolgálóról származó naplók másolása egy mappába történik, majd az egyik napról a napra feldolgozva napi jelentéseket készít a webes tevékenységről.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.

Batch feldolgozási folyamat diagramja

Mikor kell használni ezt a megoldást?When to use this solution

A kötegelt feldolgozás számos esetben használatos, az egyszerű adatátalakítások és a teljes ETL (kinyerés-átalakítás-terhelés) folyamat során.Batch processing is used in a variety of scenarios, from simple data transformations to a more complete ETL (extract-transform-load) pipeline. Big data kontextusban a kötegelt feldolgozás nagyon nagy adathalmazokon is működhet, ahol a számítás jelentős időt vesz igénybe.In a big data context, batch processing may operate over very large data sets, where the computation takes significant time. (Lásd például: lambda architektúra.) A Batch-feldolgozás általában a további interaktív feltáráshoz vezet, és a modellezésre kész adatot biztosít a gépi tanuláshoz, vagy az adatot egy elemzésre és vizualizációra optimalizált adattárba írja.(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.

A Batch-feldolgozás egyik példája egy nagy mennyiségű, részben strukturált CSV-vagy JSON-fájl átalakítása egy sematikus és strukturált formátumba, amely készen áll a további lekérdezések megadására.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. Az adatokat általában a betöltéshez használt nyers formátumokból (például CSV) konvertáljuk a bináris formátumba, amelyek többek között a lekérdezésekhez használatosak, mert oszlopos formátumban tárolják az adatokat, és gyakran biztosítanak indexeket és beágyazott statisztikát az adatokról.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.

ProblémákChallenges

  • Az Adatformátum és a kódolás.Data format and encoding. A hibakeresés során felmerülő leggyakoribb problémák a fájlok váratlan formátumának vagy kódolásának használatakor történnek.Some of the most difficult issues to debug happen when files use an unexpected format or encoding. A forrásfájlok például használhatnak UTF-16 és UTF-8 kódolást, vagy nem várt határolójeleket (szóköz versus TAB), vagy nem várt karaktereket tartalmaznak.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. Egy másik gyakori példa olyan szöveges mezők, amelyek elválasztó karakterekből álló lapokat, szóközöket vagy vesszőket tartalmaznak.Another common example is text fields that contain tabs, spaces, or commas that are interpreted as delimiters. Az betöltési és-elemzési logikának elég rugalmasnak kell lennie a problémák észleléséhez és kezeléséhez.Data loading and parsing logic must be flexible enough to detect and handle these issues.

  • Időszeletek összehangolásaOrchestrating time slices. A forrásadatok gyakran egy olyan mappa-hierarchiába kerülnek, amely a feldolgozási időszakokat, az év, a hónap, a nap, az óra stb. alapján rendezi.Often source data is placed in a folder hierarchy that reflects processing windows, organized by year, month, day, hour, and so on. Bizonyos esetekben előfordulhat, hogy az adatvesztés későn érkezik.In some cases, data may arrive late. Tegyük fel például, hogy egy webkiszolgáló meghibásodik, és a március 7-i naplói nem jelennek meg a mappában a március 9-ig történő feldolgozáshoz.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. Vannak figyelmen kívül hagyva, mert túl késő?Are they just ignored because they're too late? Az alsóbb rétegbeli feldolgozási logika kezeli a nem megrendelt rekordokat?Can the downstream processing logic handle out-of-order records?

ArchitektúraArchitecture

A Batch-feldolgozási architektúra a következő ábrán látható logikai összetevőket tartalmaz.A batch processing architecture has the following logical components, shown in the diagram above.

  • Adattárolás.Data storage. Általában egy elosztott adattár, amely különböző formátumokban nagy mennyiségű nagyméretű fájl tárháza szolgál.Typically a distributed file store that can serve as a repository for high volumes of large files in various formats. Általános esetben ezt a fajta tárolót gyakran adatközpontnak nevezzük.Generically, this kind of store is often referred to as a data lake.

  • Kötegelt feldolgozás.Batch processing. A nagy mennyiségű big data gyakran azt jelenti, hogy a megoldásoknak hosszú ideig futó kötegelt feladatok használatával kell feldolgozniuk az adatfájlokat az adatok szűréséhez, összesítéséhez és az elemzéshez való egyéb előkészítéséhez.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. Ezek a feladatok általában magukban foglalják az adatforrások beolvasását, feldolgozását, valamint a kimenet új fájlokba történő írását.Usually these jobs involve reading source files, processing them, and writing the output to new files.

  • Analitikus adattár.Analytical data store. Számos big data-megoldás úgy lett kialakítva, hogy elemezze az adatelemzést, majd a feldolgozott adatmennyiséget olyan strukturált formátumban szolgálja ki, amely analitikai eszközök használatával kérdezhető le.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.

  • Elemzés és jelentéskészítés.Analysis and reporting. A legtöbb big data-megoldás célja az, hogy elemzéssel és jelentéskészítéssel betekintést nyújtson az adatokba.The goal of most big data solutions is to provide insights into the data through analysis and reporting.

  • Vezénylés.Orchestration. A kötegelt feldolgozás során általában némi előkészítés szükséges az adattárolóba, a kötegelt feldolgozásba, az analitikai adattárba és a jelentéskészítési rétegbe történő áttelepítés vagy másolás során.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.

Technológiai lehetőségekTechnology choices

Az Azure-ban a Batch-feldolgozási megoldások esetében az alábbi technológiák ajánlottak.The following technologies are recommended choices for batch processing solutions in Azure.

AdattárolásData storage

  • Azure Storage blob tárolók.Azure Storage Blob Containers. Számos meglévő Azure-beli üzleti folyamat már használja az Azure Blob Storage-t, így jó választás a big data tárolók számára.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 gyakorlatilag korlátlan tárhelyet biztosít bármilyen méretű fájlhoz és széles körű biztonsági beállításokhoz, így olyan rendkívül nagy méretű big data megoldásokat kínál, amelyek központosított tárolót igényelnek heterogén formátumokban.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.

További információ: adattárolás.For more information, see Data storage.

Kötegelt feldolgozásBatch processing

  • U-SQL.U-SQL. A U-SQL az Azure Data Lake Analytics által használt lekérdezés-feldolgozási nyelv.U-SQL is the query processing language used by Azure Data Lake Analytics. Egyesíti az SQL deklaratív jellegét a C# eljárási bővíthetőséggel, és kihasználja a párhuzamosság előnyeit, hogy az adatmennyiséget nagy léptékben lehessen hatékonyan feldolgozni.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.
  • Struktúra.Hive. A kaptár olyan SQL-szerű nyelv, amelyet a legtöbb Hadoop-eloszlás támogat, beleértve a HDInsight is.Hive is a SQL-like language that is supported in most Hadoop distributions, including HDInsight. Felhasználható bármilyen HDFS-kompatibilis áruházból származó adatok feldolgozására, beleértve az Azure Blob Storage-t és a Azure Data Lake Storet is.It can be used to process data from any HDFS-compatible store, including Azure blob storage and Azure Data Lake Store.
  • Pig.Pig. A Pig egy deklaratív big data, amely számos Hadoop-eloszlásban használatos, beleértve a HDInsight is.Pig is a declarative big data processing language used in many Hadoop distributions, including HDInsight. Ez különösen hasznos a strukturálatlan vagy részben strukturált adat feldolgozásához.It is particularly useful for processing data that is unstructured or semi-structured.
  • Spark.Spark. A Spark motor számos különböző nyelven írt batch-feldolgozási programot támogat, beleértve a Java, a Scala és a Python nyelveket is.The Spark engine supports batch processing programs written in a range of languages, including Java, Scala, and Python. A Spark elosztott architektúrával dolgozza fel az adatfeldolgozást több munkavégző csomópont között.Spark uses a distributed architecture to process data in parallel across multiple worker nodes.

További információ: Batch Processing (kötegelt feldolgozás).For more information, see Batch processing.

Analitikus adattárAnalytical data store

  • Az Azure szinapszis Analytics.Azure Synapse Analytics. Az Azure szinapszis egy felügyelt szolgáltatás, amely SQL Server adatbázis-technológiákon alapul, és a nagyméretű adattárház-számítási feladatok támogatására optimalizált.Azure Synapse is a managed service based on SQL Server database technologies and optimized to support large-scale data warehousing workloads.
  • Spark SQL.Spark SQL. A Spark SQL egy Spark-alapú API, amely támogatja az SQL-szintaxis használatával lekérdezhető dataframes és táblázatok létrehozását.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. A HBase egy kis késleltetésű NoSQL-tároló, amely nagy teljesítményű, rugalmas megoldást kínál a strukturált és részben strukturált adatlekérdezésekhez.HBase is a low-latency NoSQL store that offers a high-performance, flexible option for querying structured and semi-structured data.
  • Struktúra.Hive. Amellett, hogy a Batch-feldolgozás hasznos, a kaptár olyan adatbázis-architektúrát biztosít, amely koncepcionálisan hasonlít egy tipikus, a kapcsolódó adatbázis-kezelő rendszerhez.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. A kaptár lekérdezési teljesítményének fejlesztései olyan innovációk révén, mint a TEZ motor és a Stinger-kezdeményezés, a kaptár-táblák hatékonyan használhatók az analitikai lekérdezések forrásaként bizonyos helyzetekben.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.

További információ: analitikus adattárak.For more information, see Analytical data stores.

Elemzések és jelentéskészítésAnalytics and reporting

  • Azure Analysis Services.Azure Analysis Services. Számos big data megoldás emulálja a hagyományos vállalati üzleti intelligencia-architektúrákat, például egy központi online analitikai feldolgozási (OLAP) adatmodellt (más néven adatkockát), amelyen a jelentések, az irányítópultok és az interaktív "szeletek és kockák" elemzések is alapulhatnak.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 támogatja a táblázatos modellek létrehozását, hogy megfeleljenek ehhez szükséges követelményeknek.Azure Analysis Services supports the creation of tabular models to meet this need.
  • Power bi.Power BI. A Power BI lehetővé teszi, hogy az adatelemzők interaktív adatvizualizációkat hozzanak létre egy OLAP-modell adatmodelljein vagy közvetlenül egy analitikus adattárban.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. A Microsoft Excel az egyik legszélesebb körben használt szoftveralkalmazások a világon, és rengeteg adatelemzési és vizualizációs képességet biztosít.Microsoft Excel is one of the most widely used software applications in the world, and offers a wealth of data analysis and visualization capabilities. Az adatelemzők az Excel használatával dokumentum-adatmodelleket hozhatnak létre az analitikus adattárakból, illetve az OLAP adatmodellből származó adatokat interaktív kimutatásokra és diagramokra is lekérhetik.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.

További információ: elemzés és jelentéskészítés.For more information, see Analytics and reporting.

VezénylésOrchestration

  • Azure Data Factory.Azure Data Factory. Azure Data Factory folyamatokat felhasználhatja az ismétlődő időszakos Windowshoz ütemezett tevékenységek sorrendjének definiálásához.Azure Data Factory pipelines can be used to define a sequence of activities, scheduled for recurring temporal windows. Ezek a tevékenységek adatmásolási műveleteket, valamint kaptár-, Pig-, MapReduce-és Spark-feladatokat indíthatnak igény szerinti HDInsight-fürtökben; U-SQL-feladatok az Azure Date Lake Analyticsben; Az Azure szinapszis vagy Azure SQL Database tárolt eljárásai.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 Synapse or Azure SQL Database.
  • Oozie és Sqoop.Oozie and Sqoop. A Oozie egy feladat-automatizálási motor a Apache Hadoop ökoszisztémához, és felhasználható adatmásolási műveletek, valamint kaptár-, Pig-és MapReduce-feladatok elindítására az adatok és Sqoop feladatok HDFS és SQL-adatbázisok közötti másolásához.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.

További információ: folyamat -előkészítésFor more information, see Pipeline orchestration