7.4 MAPREDUCE AND YARNWhile MapReduce is discussed in greater detail i dịch - 7.4 MAPREDUCE AND YARNWhile MapReduce is discussed in greater detail i Việt làm thế nào để nói

7.4 MAPREDUCE AND YARNWhile MapRedu

7.4 MAPREDUCE AND YARN
While MapReduce is discussed in greater detail in Chapter 8, it is valuable to both introduce the general concept of job control and management. In Hadoop, MapReduce originally combined both job management and oversight and the programming model for execution. The MapReduce execution environment employs a master/slave execution model, in which one master node (called the JobTracker) manages a pool of slave computing resources (called TaskTrackers) that are called upon to do the actual work.
The role of the JobTracker is to manage the resources with some specific responsibilities, including managing the TaskTrackers, continually monitoring their accessibility and availability, and the different aspects of job management that include scheduling tasks, tracking the progress of assigned tasks, reacting to identified failures, and ensuring fault tolerance of the execution. The role of the TaskTracker is much simpler: wait for a task assignment, initiate and execute the requested task, and provide status back to the JobTracker on a periodic basis. Different clients can make requests from the JobTracker, which becomes the sole arbitrator for allocation of resources.
There are limitations within this existing MapReduce model. First, the programming paradigm is nicely suited to applications where there is locality between the processing and the data, but applications that demand data movement will rapidly become bogged down by network latency issues. Second, not all applications are easily mapped to the MapReduce model, yet applications developed using alternative programming methods would still need the MapReduce system for job management. Third, the allocation of processing nodes within the cluster is fixed through allocation of certain nodes as “map slots” versus “reduce slots.” When the computation is weighted toward one of the phases, the nodes assigned to the other phase are largely unused, resulting in processor underutilization.
This is being addressed in future versions of Hadoop through the segregation of duties within a revision called YARN. In this approach, overall resource management has been centralized while management of resources at each node is now performed by a local NodeManager. In addition, there is the concept of an ApplicationMaster that is associated with each application that directly negotiates with the central ResourceManager for resources while taking over the responsibility for monitoring progress and tracking status. Pushing this responsibility to the application environment allows greater flexibility in the assignment of resources as well as be more effective in scheduling to improve node utilization.
Last, the YARN approach allows applications to be better aware of the data allocation across the topology of the resources within a cluster. This awareness allows for improved colocation of compute and data resources, reducing data motion, and consequently, reducing delays associated with data access latencies. The result should be increased scalability and performance.2

7.5 EXPANDING THE BIG DATA APPLICATION ECOSYSTEM
At this point, a few key points regarding the development of big data applications should be clarified. First, despite the simplicity of downloading and installing the core components of a big data development and execution environment like Hadoop, designing, developing, and deploying analytic applications still requires some skill and expertise. Second, one must differentiate between the tasks associated with application design and development and the tasks associated with architecting the big data system, selecting and connecting its components, system configuration, as well as system monitoring and continued maintenance.
In other words, transitioning from an experimental “laboratory” system into a production environment demands more than just access to the computing, memory, storage, and network resources. There is a need to expand the ecosystem to incorporate a variety of additional capabilities, such as configuration management, data organization, application development, and optimization, as well as additional capabilities to support analytical processing. Our examination of a prototypical big data platform engineered using Hadoop continues by looking at a number of additional components that might typically be considered as part of the ecosystem.

7.6 ZOOKEEPER
Whenever there are multiple tasks and jobs running within a single distributed environment, there is a need for configuration management and synchronization of various aspects of naming and coordination. The project’s web page specifies it more clearly: “Zookeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services.”3
Zookeeper manages a naming registry and effectively implements a system for managing the various static and ephemeral named objects in a hierarchical manner, much like a file system. In addition, it enables coordination for exercising control over shared resources that are impacted by race conditions (in which the expected output of a process is impacted by variations in timing) and deadlock (in which multiple tasks vying for control of the same resource effectively lock each other out of any task’s ability to use the resource). Shared coordination services like those provided in Zookeeper allow developers to
employ these controls without having to develop them from scratch.

7.7 HBASE
HBase is another example of a nonrelational data management environment that distributes massive datasets over the underlying Hadoop framework. HBase is derived from Google’s BigTable and is a column-oriented data layout that, when layered on top of Hadoop, provides a fault-tolerant method for storing and manipulating large data tables. As was discussed in Chapter 6, data stored in a columnar layout is amenable to compression, which increases the amount of data that can be represented while decreasing the actual storage footprint. In addition, HBase supports in-memory execution.
HBase is not a relational database, and it does not support SQL queries. There are some basic operations for HBase: Get (which access a specific row in the table), Put (which stores or updates a row in the table), Scan (which iterates over a collection of rows in the table), and Delete (which removes a row from the table). Because it can be used to organize datasets, coupled with the performance provided by the aspects of the columnar orientation, HBase is a reasonable alternative as a persistent storage paradigm when running MapReduce applications.

7.8 HIVE
One of the often-noted issues with MapReduce is that although it provides a methodology for developing and executing applications that use massive amounts of data, it is not more than that. And while the data can be managed within files using HDFS, many business applications expect representations of data in structured database tables. That was the motivation for the development of Hive, which (according to the Apache Hive web site4) is a “data warehouse system for Hadoop that facilitates easy data summarization, ad-hoc queries, and the analysis of large datasets stored in Hadoop compatible file systems.” Hive is specifically engineered for data warehouse querying and reporting and is not intended for use as within transaction processing systems that require real-time query execution or transaction semantics for consistency at the row level.
Hive is layered on top of the file system and execution framework for Hadoop and enables applications and users to organize data in a structured data warehouse and therefore query the data using a query language called HiveQL that is similar to SQL (the standard Structured Query Language used for most modern relational database management systems). The Hive system provides tools for extracting/ transforming/loading data (ETL) into a variety of different data formats. And because the data warehouse system is built on top of Hadoop, it enables native access to the MapReduce model, allowing programmers to develop custom Map and Reduce functions that can be directly integrated into HiveQL queries. Hive provides scalability and extensibility for batch-style queries for reporting over large datasets that are typically being expanded while relying on the faulttolerant aspects of the underlying Hadoop execution model.

7.9 PIG
Even though the MapReduce programming model is relatively straightforward, it still takes some skill and understanding of both parallel and distributed programming and Java to best take advantage of the model. The Pig project is an attempt at simplifying the application development process by abstracting some of the details away through a higher level programming language called Pig Latin. According to the project’s web site5, Pig’s high-level programming language allows the developer to specify how the analysis is performed. In turn, a compiler transforms the Pig Latin specification into MapReduce programs.
The intent is to embed a significant set of parallel operators and functions contained within a control sequence of directives to be applied to datasets in a way that is somewhat similar to the way SQL statements are applied to traditional structured databases. Some examples include generating datasets, filtering out subsets, joins, splitting datasets, removing duplicates. For simple applications, using Pig provides significant ease of development, and more complex tasks can be engineered as sequences of applied operators.
In addition, the use of a high-level language also allows the compiler to identify opportunities for optimization that might have been ignored by an inexperienced programmer. At the same time, the Pig environment allows developers to create new user defined functions (UDFs) that can subsequently be incorporated into developed programs.

7.10 MAHOUT(70)
Attempting to use big data f
0/5000
Từ: -
Sang: -
Kết quả (Việt) 1: [Sao chép]
Sao chép!
7.4 MAPREDUCE AND YARNWhile MapReduce is discussed in greater detail in Chapter 8, it is valuable to both introduce the general concept of job control and management. In Hadoop, MapReduce originally combined both job management and oversight and the programming model for execution. The MapReduce execution environment employs a master/slave execution model, in which one master node (called the JobTracker) manages a pool of slave computing resources (called TaskTrackers) that are called upon to do the actual work.The role of the JobTracker is to manage the resources with some specific responsibilities, including managing the TaskTrackers, continually monitoring their accessibility and availability, and the different aspects of job management that include scheduling tasks, tracking the progress of assigned tasks, reacting to identified failures, and ensuring fault tolerance of the execution. The role of the TaskTracker is much simpler: wait for a task assignment, initiate and execute the requested task, and provide status back to the JobTracker on a periodic basis. Different clients can make requests from the JobTracker, which becomes the sole arbitrator for allocation of resources.There are limitations within this existing MapReduce model. First, the programming paradigm is nicely suited to applications where there is locality between the processing and the data, but applications that demand data movement will rapidly become bogged down by network latency issues. Second, not all applications are easily mapped to the MapReduce model, yet applications developed using alternative programming methods would still need the MapReduce system for job management. Third, the allocation of processing nodes within the cluster is fixed through allocation of certain nodes as “map slots” versus “reduce slots.” When the computation is weighted toward one of the phases, the nodes assigned to the other phase are largely unused, resulting in processor underutilization.This is being addressed in future versions of Hadoop through the segregation of duties within a revision called YARN. In this approach, overall resource management has been centralized while management of resources at each node is now performed by a local NodeManager. In addition, there is the concept of an ApplicationMaster that is associated with each application that directly negotiates with the central ResourceManager for resources while taking over the responsibility for monitoring progress and tracking status. Pushing this responsibility to the application environment allows greater flexibility in the assignment of resources as well as be more effective in scheduling to improve node utilization.
Last, the YARN approach allows applications to be better aware of the data allocation across the topology of the resources within a cluster. This awareness allows for improved colocation of compute and data resources, reducing data motion, and consequently, reducing delays associated with data access latencies. The result should be increased scalability and performance.2

7.5 EXPANDING THE BIG DATA APPLICATION ECOSYSTEM
At this point, a few key points regarding the development of big data applications should be clarified. First, despite the simplicity of downloading and installing the core components of a big data development and execution environment like Hadoop, designing, developing, and deploying analytic applications still requires some skill and expertise. Second, one must differentiate between the tasks associated with application design and development and the tasks associated with architecting the big data system, selecting and connecting its components, system configuration, as well as system monitoring and continued maintenance.
In other words, transitioning from an experimental “laboratory” system into a production environment demands more than just access to the computing, memory, storage, and network resources. There is a need to expand the ecosystem to incorporate a variety of additional capabilities, such as configuration management, data organization, application development, and optimization, as well as additional capabilities to support analytical processing. Our examination of a prototypical big data platform engineered using Hadoop continues by looking at a number of additional components that might typically be considered as part of the ecosystem.

7.6 ZOOKEEPER
Whenever there are multiple tasks and jobs running within a single distributed environment, there is a need for configuration management and synchronization of various aspects of naming and coordination. The project’s web page specifies it more clearly: “Zookeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services.”3
Zookeeper manages a naming registry and effectively implements a system for managing the various static and ephemeral named objects in a hierarchical manner, much like a file system. In addition, it enables coordination for exercising control over shared resources that are impacted by race conditions (in which the expected output of a process is impacted by variations in timing) and deadlock (in which multiple tasks vying for control of the same resource effectively lock each other out of any task’s ability to use the resource). Shared coordination services like those provided in Zookeeper allow developers to
employ these controls without having to develop them from scratch.

7.7 HBASE
HBase is another example of a nonrelational data management environment that distributes massive datasets over the underlying Hadoop framework. HBase is derived from Google’s BigTable and is a column-oriented data layout that, when layered on top of Hadoop, provides a fault-tolerant method for storing and manipulating large data tables. As was discussed in Chapter 6, data stored in a columnar layout is amenable to compression, which increases the amount of data that can be represented while decreasing the actual storage footprint. In addition, HBase supports in-memory execution.
HBase is not a relational database, and it does not support SQL queries. There are some basic operations for HBase: Get (which access a specific row in the table), Put (which stores or updates a row in the table), Scan (which iterates over a collection of rows in the table), and Delete (which removes a row from the table). Because it can be used to organize datasets, coupled with the performance provided by the aspects of the columnar orientation, HBase is a reasonable alternative as a persistent storage paradigm when running MapReduce applications.

7.8 HIVE
One of the often-noted issues with MapReduce is that although it provides a methodology for developing and executing applications that use massive amounts of data, it is not more than that. And while the data can be managed within files using HDFS, many business applications expect representations of data in structured database tables. That was the motivation for the development of Hive, which (according to the Apache Hive web site4) is a “data warehouse system for Hadoop that facilitates easy data summarization, ad-hoc queries, and the analysis of large datasets stored in Hadoop compatible file systems.” Hive is specifically engineered for data warehouse querying and reporting and is not intended for use as within transaction processing systems that require real-time query execution or transaction semantics for consistency at the row level.
Hive is layered on top of the file system and execution framework for Hadoop and enables applications and users to organize data in a structured data warehouse and therefore query the data using a query language called HiveQL that is similar to SQL (the standard Structured Query Language used for most modern relational database management systems). The Hive system provides tools for extracting/ transforming/loading data (ETL) into a variety of different data formats. And because the data warehouse system is built on top of Hadoop, it enables native access to the MapReduce model, allowing programmers to develop custom Map and Reduce functions that can be directly integrated into HiveQL queries. Hive provides scalability and extensibility for batch-style queries for reporting over large datasets that are typically being expanded while relying on the faulttolerant aspects of the underlying Hadoop execution model.

7.9 PIG
Even though the MapReduce programming model is relatively straightforward, it still takes some skill and understanding of both parallel and distributed programming and Java to best take advantage of the model. The Pig project is an attempt at simplifying the application development process by abstracting some of the details away through a higher level programming language called Pig Latin. According to the project’s web site5, Pig’s high-level programming language allows the developer to specify how the analysis is performed. In turn, a compiler transforms the Pig Latin specification into MapReduce programs.
The intent is to embed a significant set of parallel operators and functions contained within a control sequence of directives to be applied to datasets in a way that is somewhat similar to the way SQL statements are applied to traditional structured databases. Some examples include generating datasets, filtering out subsets, joins, splitting datasets, removing duplicates. For simple applications, using Pig provides significant ease of development, and more complex tasks can be engineered as sequences of applied operators.
In addition, the use of a high-level language also allows the compiler to identify opportunities for optimization that might have been ignored by an inexperienced programmer. At the same time, the Pig environment allows developers to create new user defined functions (UDFs) that can subsequently be incorporated into developed programs.

7.10 MAHOUT(70)
Attempting to use big data f
đang được dịch, vui lòng đợi..
Kết quả (Việt) 2:[Sao chép]
Sao chép!
7.4 MapReduce VÀ SỢI
Trong khi MapReduce được thảo luận chi tiết hơn trong Chương 8, nó có giá trị cho cả hai giới thiệu các khái niệm chung của công việc kiểm soát và quản lý. Trong Hadoop, MapReduce ban đầu kết hợp cả hai công việc quản lý và giám sát và mô hình lập trình để thực hiện. Môi trường thực hiện MapReduce sử dụng một mô hình thực hiện chủ / nô lệ, trong đó một nút chủ (gọi là JobTracker) quản lý một hồ bơi của các tài nguyên máy tính nô lệ (gọi là TaskTrackers) được kêu gọi để làm các công việc thực tế.
Vai trò của JobTracker là quản lý các nguồn lực với một số trách nhiệm cụ thể, bao gồm cả quản lý TaskTrackers, liên tục giám sát tiếp cận và sẵn sàng của họ, và các khía cạnh khác nhau của quản lý công việc bao gồm việc lập kế hoạch, theo dõi tiến độ công việc được giao, phản ứng với thất bại xác định và đảm bảo khả năng chịu lỗi của thực hiện. Vai trò của các TaskTracker là đơn giản hơn nhiều: chờ đợi cho một phân công nhiệm vụ, khởi xướng và thực hiện các nhiệm vụ theo yêu cầu, và cung cấp cho tình trạng trở lại JobTracker trên cơ sở định kỳ. Khách hàng khác nhau có thể có những yêu cầu từ JobTracker, mà trở thành trọng tài viên duy nhất cho việc phân bổ các nguồn lực.
Có những hạn chế trong mô hình này MapReduce hiện. Đầu tiên, các mô hình lập trình là độc đáo phù hợp với các ứng dụng nơi có địa phương giữa các biến và các dữ liệu, nhưng các ứng dụng đòi hỏi di chuyển dữ liệu sẽ nhanh chóng trở nên sa lầy bởi các vấn đề độ trễ mạng. Thứ hai, không phải tất cả các ứng dụng được dễ dàng ánh xạ tới các mô hình MapReduce, chưa ứng dụng được phát triển bằng cách sử dụng các phương pháp lập trình thay thế, cũng vẫn cần các hệ thống quản lý công việc MapReduce. Thứ ba, việc phân bổ các nút xử lý trong cụm được cố định thông qua việc phân bổ của các nút nhất định là "khe đồ" so với "giảm khe." Khi tính toán được cân đối với một trong các giai đoạn, các nút giao với các giai đoạn khác là phần lớn không sử dụng, kết quả xử lý underutilization.
Điều này đã được đề cập trong các phiên bản tương lai của Hadoop thông qua phân công nhiệm vụ trong một phiên bản được gọi là sợi. Trong phương pháp này, quản lý tài nguyên tổng thể đã được tập trung trong khi quản lý các nguồn tài nguyên tại mỗi nút bây giờ được thực hiện bởi một NodeManager địa phương. Ngoài ra, có khái niệm về một ApplicationMaster đó là liên kết với mỗi ứng dụng trực tiếp thương lượng với các ResourceManager trung cho nguồn lực trong khi nhận bàn giao các trách nhiệm theo dõi tiến độ và theo dõi trạng thái. Đẩy trách nhiệm cho các môi trường ứng dụng cho phép linh hoạt hơn trong việc phân chia các nguồn lực cũng như hiệu quả hơn trong lập kế hoạch để cải thiện việc sử dụng nút.
Cuối cùng, các phương pháp tiếp cận sợi cho phép các ứng dụng phải được nhận thức tốt hơn về việc phân bổ dữ liệu qua các cấu trúc liên kết của các nguồn lực trong một cluster. Nhận thức này cho phép cải thiện colocation của máy tính và dữ liệu tài nguyên, giảm chuyển động dữ liệu, và do đó, làm giảm sự chậm trễ kết hợp với độ trễ truy cập dữ liệu. Kết quả sẽ được tăng khả năng mở rộng và performance.2 7,5 MỞ RỘNG HỆ SINH THÁI DỮ LIỆU ÁP DỤNG BIG Tại thời điểm này, một vài điểm quan trọng liên quan đến sự phát triển của các ứng dụng dữ liệu lớn cần được làm rõ. Thứ nhất, mặc dù đơn giản tải và cài đặt các thành phần cốt lõi của sự phát triển dữ liệu lớn và môi trường thực hiện như Hadoop, thiết kế, phát triển và triển khai các ứng dụng phân tích vẫn đòi hỏi một số kỹ năng và chuyên môn. Thứ hai, chúng ta phải phân biệt giữa các nhiệm vụ liên quan đến thiết kế ứng dụng và phát triển và các nhiệm vụ liên quan đến kiến trúc của hệ thống dữ liệu lớn, lựa chọn và kết nối các thành phần của nó, cấu hình hệ thống, cũng như hệ thống giám sát và tiếp tục duy trì. Nói cách khác, chuyển từ một thử nghiệm "phòng thí nghiệm" hệ thống vào một môi trường sản xuất đòi hỏi nhiều hơn là chỉ truy cập vào các tài nguyên máy tính, bộ nhớ, lưu trữ, và mạng. Có một nhu cầu mở rộng hệ sinh thái kết hợp một loạt các tính năng bổ sung, chẳng hạn như quản lý cấu hình, tổ chức dữ liệu, phát triển ứng dụng, và tối ưu hóa, cũng như khả năng bổ sung để hỗ trợ xử lý phân tích. Kiểm tra của chúng tôi một nền tảng dữ liệu lớn nguyên mẫu thiết kế sử dụng Hadoop tiếp tục bằng cách nhìn vào một số thành phần bổ sung mà thường có thể được coi như là một phần của hệ sinh thái. 7.6 Zookeeper Bất cứ khi nào có nhiều nhiệm vụ và công việc đang chạy trong một môi trường phân phối duy nhất, có một cần cho quản lý cấu hình và đồng bộ hóa các khía cạnh khác nhau của việc đặt tên và điều phối. Trang web của dự án xác định rõ ràng hơn: "Zookeeper là một dịch vụ tập trung cho việc duy trì thông tin cấu hình, đặt tên, cho phép đồng bộ phân phối và cung cấp các dịch vụ theo nhóm." 3 Zookeeper quản lý một đăng ký đặt tên và hiệu quả thực hiện một hệ thống để quản lý các tĩnh khác nhau và phù du tên đối tượng trong một cách có thứ bậc, giống như một hệ thống tập tin. Ngoài ra, nó cho phép phối hợp để thực hiện kiểm soát tài nguyên chia sẻ rằng đang bị ảnh hưởng bởi điều kiện chủng tộc (trong đó sản lượng dự kiến của một quá trình bị ảnh hưởng bởi các biến thể trong thời gian) và bế tắc (trong đó nhiều nhiệm vụ đang cạnh tranh để kiểm soát các nguồn tài nguyên cùng khóa hiệu quả mỗi ra của mình khả năng của bất cứ công việc sử dụng các nguồn lực). Dịch vụ phối hợp chia sẻ như những người cung cấp trong Zookeeper cho phép các nhà phát triển để sử dụng các điều khiển mà không cần phải phát triển chúng từ đầu. 7,7 HBase HBase là một ví dụ về một môi trường quản lý dữ liệu nonrelational rằng phân phối dữ liệu khổng lồ trong khuôn khổ cơ bản Hadoop. HBase có nguồn gốc từ BigTable của Google và là một cách bố trí các cột dữ liệu theo định hướng đó, khi tầng trên Hadoop, cung cấp một phương pháp chịu lỗi để lưu trữ và thao tác các bảng dữ liệu lớn. Như đã thảo luận trong Chương 6, dữ liệu được lưu trữ trong một bố trí cột là dễ để nén, làm tăng số lượng dữ liệu mà có thể được đại diện trong khi giảm các dấu chân lưu trữ thực tế. Ngoài ra, hỗ trợ thực hiện HBase trong bộ nhớ. HBase không phải là một cơ sở dữ liệu quan hệ, và nó không hỗ trợ các truy vấn SQL. Có một số hoạt động cơ bản cho HBase: Nhận (mà truy cập đến hàng cụ thể trong bảng), Đặt (mà các cửa hàng hoặc cập nhật một dòng trong bảng), Scan (mà lặp trên một bộ sưu tập của các hàng trong bảng), và Delete ( trong đó loại bỏ một hàng từ bảng). Bởi vì nó có thể được sử dụng để tổ chức các dữ liệu này, cùng với việc thực hiện cung cấp bởi các khía cạnh của định hướng cột, HBase là một lựa chọn hợp lý như là một mô hình lưu trữ liên tục khi chạy các ứng dụng MapReduce. 7.8 Hive Một trong những vấn đề thường được ghi nhận với MapReduce là mặc dù nó cung cấp một phương pháp để phát triển và thực hiện các ứng dụng mà sử dụng một lượng lớn dữ liệu, nó không phải là nhiều hơn thế. Và trong khi các dữ liệu có thể được quản lý trong các tập tin bằng cách sử dụng HDFS, nhiều ứng dụng doanh nghiệp mong đợi đại diện của dữ liệu trong bảng cơ sở dữ liệu có cấu trúc. Đó là động lực cho sự phát triển của Hive, trong đó (theo web site4 Apache Hive) là một "hệ thống kho dữ liệu cho Hadoop tạo điều kiện tổng kết dữ liệu dễ dàng, truy vấn quảng cáo-hoc, và phân tích các dữ liệu lớn được lưu trữ trong tập tin tương thích Hadoop hệ thống. "Hive được thiết kế đặc biệt cho các kho dữ liệu truy vấn và báo cáo và không có ý định để sử dụng như trong các hệ thống xử lý giao dịch đòi hỏi phải có thời gian thực hiện truy vấn hoặc giao dịch ngữ nghĩa cho thống nhất ở các cấp hàng. Hive được xếp lớp trên cùng của hệ thống tập tin và khuôn khổ thực hiện cho Hadoop và cho phép các ứng dụng và người sử dụng để tổ chức dữ liệu trong một kho dữ liệu có cấu trúc và do đó truy vấn dữ liệu bằng cách sử dụng một ngôn ngữ truy vấn được gọi là HiveQL mà là tương tự như SQL (tiêu chuẩn Structured Query Language sử dụng cho hầu hết các hệ thống quản lý cơ sở dữ liệu quan hệ hiện đại). Hệ thống Hive cung cấp công cụ để giải nén / biến đổi / tải dữ liệu (ETL) vào một loạt các định dạng dữ liệu khác nhau. Và bởi vì các hệ thống kho dữ liệu được xây dựng trên đầu trang của Hadoop, nó cho phép truy cập nguồn gốc từ các mô hình MapReduce, cho phép các lập trình viên phát triển tùy chỉnh đồ và giảm chức năng có thể được tích hợp trực tiếp vào các truy vấn HiveQL. Hive cung cấp khả năng mở rộng và khả năng mở rộng cho các truy vấn hàng loạt kiểu báo cáo trên các tập dữ liệu lớn mà thường được mở rộng trong khi dựa vào các khía cạnh faulttolerant của mô hình thực hiện cơ bản Hadoop. 7,9 PIG Mặc dù các mô hình lập trình MapReduce là tương đối đơn giản, nó vẫn có một số kỹ năng và sự hiểu biết của cả hai lập trình song song và phân tán và Java để tận dụng lợi thế tốt nhất của mô hình. Các dự án Pig là một nỗ lực đơn giản hóa quá trình phát triển ứng dụng bằng cách trừu tượng hóa một số chi tiết đi qua một ngôn ngữ lập trình cấp cao hơn được gọi là Pig Latin. Theo Site5 web của dự án, ngôn ngữ lập trình cấp cao Pig cho phép các nhà phát triển để xác định cách phân tích được thực hiện. Đổi lại, một trình biên dịch biến đổi đặc điểm kỹ thuật Pig Latin vào chương trình MapReduce. Mục đích là để nhúng một bộ đáng kể của các nhà khai thác song song và chức năng chứa trong một chuỗi các chỉ thị kiểm soát được áp dụng cho các lớp dữ liệu trong một cách đó là hơi tương tự như cách SQL báo cáo được áp dụng đối với cơ sở dữ liệu có cấu trúc truyền thống. Một số ví dụ bao gồm tạo ra các tập dữ liệu, lọc ra những tập con, gia nhập, chia tách các tập dữ liệu, loại bỏ các bản sao. Đối với các ứng dụng đơn giản, sử dụng lợn cung cấp một cách dễ dàng quan trọng của sự phát triển, và các nhiệm vụ phức tạp hơn có thể được thiết kế như trình tự của các nhà khai thác sử dụng. Ngoài ra, việc sử dụng một ngôn ngữ cấp cao cũng cho phép trình biên dịch để xác định cơ hội để tối ưu hóa mà có thể đã bị bỏ qua bởi một lập trình viên thiếu kinh nghiệm. Đồng thời, môi trường Pig cho phép các nhà phát triển để tạo ra người dùng xác định các chức năng mới (UDFs) mà sau đó có thể được đưa vào chương trình phát triển. 7.10 quản tượng (70) Cố gắng sử dụng dữ liệu lớn f

























đang được dịch, vui lòng đợi..
 
Các ngôn ngữ khác
Hỗ trợ công cụ dịch thuật: Albania, Amharic, Anh, Armenia, Azerbaijan, Ba Lan, Ba Tư, Bantu, Basque, Belarus, Bengal, Bosnia, Bulgaria, Bồ Đào Nha, Catalan, Cebuano, Chichewa, Corsi, Creole (Haiti), Croatia, Do Thái, Estonia, Filipino, Frisia, Gael Scotland, Galicia, George, Gujarat, Hausa, Hawaii, Hindi, Hmong, Hungary, Hy Lạp, Hà Lan, Hà Lan (Nam Phi), Hàn, Iceland, Igbo, Ireland, Java, Kannada, Kazakh, Khmer, Kinyarwanda, Klingon, Kurd, Kyrgyz, Latinh, Latvia, Litva, Luxembourg, Lào, Macedonia, Malagasy, Malayalam, Malta, Maori, Marathi, Myanmar, Mã Lai, Mông Cổ, Na Uy, Nepal, Nga, Nhật, Odia (Oriya), Pashto, Pháp, Phát hiện ngôn ngữ, Phần Lan, Punjab, Quốc tế ngữ, Rumani, Samoa, Serbia, Sesotho, Shona, Sindhi, Sinhala, Slovak, Slovenia, Somali, Sunda, Swahili, Séc, Tajik, Tamil, Tatar, Telugu, Thái, Thổ Nhĩ Kỳ, Thụy Điển, Tiếng Indonesia, Tiếng Ý, Trung, Trung (Phồn thể), Turkmen, Tây Ban Nha, Ukraina, Urdu, Uyghur, Uzbek, Việt, Xứ Wales, Yiddish, Yoruba, Zulu, Đan Mạch, Đức, Ả Rập, dịch ngôn ngữ.

Copyright ©2024 I Love Translation. All reserved.

E-mail: