7,5 MỞ RỘNG HỆ SINH THÁI LỚN DỮ LIỆU ỨNG DỤNGTạ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 ứng dụng lớn dữ liệu cần được làm rõ. Trước tiên, bất chấp sự đơn giản của việc tải xuống và cài đặt cốt lõi các thành phần của một lớn dữ liệu phát triển và thực hiện môi trường như Hadoop, thiết kế, phát triển, và triển khai ứng dụng phân tích vẫn còn đòi hỏi một số kỹ năng và chuyên môn. Thứ hai, một trong những phải phân biệt giữa các nhiệm vụ liên quan đến ứng dụng thiết kế và phát triển và các nhiệm vụ liên quan đến architecting hệ thống lớn dữ liệu, lựa chọn và kết nối các thành phần, cấu hình hệ thống, cũng như hệ thống giám sát và tiếp tục bảo trì.Nói cách khác, chuyển tiếp từ một hệ thống thử nghiệm "phòng thí nghiệm" 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 máy tính, bộ nhớ, lưu trữ, và tài nguyên mạng. Có là một nhu cầu để mở rộng các hệ sinh thái để kết hợp một loạt các khả 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ợ phân tích chế biến. Chúng tôi kiểm tra của một nền tảng dữ liệu lớn nguyên mẫu thiết kế bằng cách 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 thường có thể được coi là một phần của hệ sinh thái.7.6 ZOOKEEPERBất cứ khi nào có là nhiều nhiệm vụ và công việc hoạt động trong một môi trường phân phối duy nhất, có là một nhu cầu cho quản lý cấu hình và đồng bộ hóa của các khía cạnh khác nhau của đặt tên và phối hợp. Trang web của dự án chỉ định nó 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, cung cấp phân phối đồng bộ hoá và cung cấp các nhóm dịch vụ."3 Zookeeper quản lý một đăng ký đặt tên và có hiệu quả thực hiện một hệ thống cho việc quản lý các khác nhau tĩnh và không lâu tên đối tượng một cách phân cấp, 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 nguồn lực được chia sẻ 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ụ mà cạnh tranh cho quyền kiểm soát của tài nguyên cùng một hiệu quả khóa nhau ra khỏi bất cứ công việc có thể sử dụng các nguồn tài nguyên). Chia sẻ điều phối dịch vụ như những người cung cấp ở Zookeeper cho phép nhà phát triểnsử 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 HBASEHBase 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 HIVEOne 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 PIGEven 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.Mục đích là để nhúng một tập đáng kể các quốc gia sử dụng song song và chức năng chứa trong một chuỗi kiểm soát các chỉ thị để được áp dụng cho datasets theo cách đó là hơi tương tự như cách SQL phát biểu được áp dụng cho 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 datasets, lọc ra tập con, tham gia, datasets chia tách, loại bỏ trùng lặp. Cho các ứng dụng đơn giản, bằng cách sử dụng con lợn cung cấp đáng kể dễ phát triển, và công việc phức tạp hơn có thể được thiết kế như là trình tự của các quốc gia sử dụng ứng dụng.Ngoài ra, 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ác cơ hội để tối ưu hóa có thể có được bỏ qua bởi một lập trình viên thiếu kinh nghiệm. Cùng lúc đó, môi trường lợn cho phép nhà phát triển để tạo mới chức năng người dùng định nghĩa (UDFs) mà sau đó có thể được tích hợp vào chương trình phát triển.7,10 MAHOUT(70)Cố gắng sử dụng dữ liệu lớn f
đang được dịch, vui lòng đợi..
